Merge branch 'mo/perl-bidi-pipe-envfix'
[gitweb.git] / t / t1300-repo-config.sh
index 074f2f2e3e57f76b01f16502998e95b493676711..d0e55465ff08698376f5d9fa86357d51bd57458c 100755 (executable)
@@ -288,6 +288,14 @@ EOF
 test_expect_success 'working --list' \
        'git config --list > output && cmp output expect'
 
+cat > expect << EOF
+EOF
+
+test_expect_success '--list without repo produces empty output' '
+       git --git-dir=nonexistent config --list >output &&
+       test_cmp expect output
+'
+
 cat > expect << EOF
 beta.noindent sillyValue
 nextsection.nonewline wow2 for me
@@ -701,13 +709,13 @@ cat >expect <<\EOF
        trailingtilde = foo~
 EOF
 
-test_expect_success 'set --path' '
+test_expect_success NOT_MINGW 'set --path' '
        git config --path path.home "~/" &&
        git config --path path.normal "/dev/null" &&
        git config --path path.trailingtilde "foo~" &&
        test_cmp expect .git/config'
 
-if test "${HOME+set}"
+if test_have_prereq NOT_MINGW && test "${HOME+set}"
 then
        test_set_prereq HOMEVAR
 fi
@@ -730,7 +738,7 @@ cat >expect <<\EOF
 foo~
 EOF
 
-test_expect_success 'get --path copes with unset $HOME' '
+test_expect_success NOT_MINGW 'get --path copes with unset $HOME' '
        (
                unset HOME;
                test_must_fail git config --get --path path.home \
@@ -836,6 +844,27 @@ test_expect_success SYMLINKS 'symlinked configuration' '
 
 '
 
+test_expect_success 'nonexistent configuration' '
+       (
+               GIT_CONFIG=doesnotexist &&
+               export GIT_CONFIG &&
+               test_must_fail git config --list &&
+               test_must_fail git config test.xyzzy
+       )
+'
+
+test_expect_success SYMLINKS 'symlink to nonexistent configuration' '
+       ln -s doesnotexist linktonada &&
+       ln -s linktonada linktolinktonada &&
+       (
+               GIT_CONFIG=linktonada &&
+               export GIT_CONFIG &&
+               test_must_fail git config --list &&
+               GIT_CONFIG=linktolinktonada &&
+               test_must_fail git config --list
+       )
+'
+
 test_expect_success 'check split_cmdline return' "
        git config alias.split-cmdline-fix 'echo \"' &&
        test_must_fail git split-cmdline-fix &&