From: Jeff King <p...@peff.net>

Because we used to run our tests with GIT_CONFIG_NOSYSTEM, these did
not test that the system-wide configuration file is also read and
shown as one of the origins.  Create a custom/fake system-wide
configuration file and make sure it appears in the output, using the
newly introduced GIT_CONFIG_SYSTEM_PATH mechanism.

Signed-off-by: Junio C Hamano <gits...@pobox.com>
---
 t/t1300-repo-config.sh | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/t/t1300-repo-config.sh b/t/t1300-repo-config.sh
index 1b3f6f4854f9..940469339bd2 100755
--- a/t/t1300-repo-config.sh
+++ b/t/t1300-repo-config.sh
@@ -1236,6 +1236,11 @@ test_expect_success 'set up --show-origin tests' '
                [user]
                        relative = include
        EOF
+       cat >"$HOME"/etc-gitconfig <<-\EOF &&
+               [user]
+                       system = true
+                       override = system
+       EOF
        cat >"$HOME"/.gitconfig <<-EOF &&
                [user]
                        global = true
@@ -1254,6 +1259,8 @@ test_expect_success 'set up --show-origin tests' '
 
 test_expect_success '--show-origin with --list' '
        cat >expect <<-EOF &&
+               file:$HOME/etc-gitconfig        user.system=true
+               file:$HOME/etc-gitconfig        user.override=system
                file:$HOME/.gitconfig   user.global=true
                file:$HOME/.gitconfig   user.override=global
                file:$HOME/.gitconfig   
include.path=$INCLUDE_DIR/absolute.include
@@ -1264,13 +1271,16 @@ test_expect_success '--show-origin with --list' '
                file:.git/../include/relative.include   user.relative=include
                command line:   user.cmdline=true
        EOF
+       GIT_CONFIG_SYSTEM_PATH=$HOME/etc-gitconfig \
        git -c user.cmdline=true config --list --show-origin >output &&
        test_cmp expect output
 '
 
 test_expect_success '--show-origin with --list --null' '
        cat >expect <<-EOF &&
-               file:$HOME/.gitconfigQuser.global
+               file:$HOME/etc-gitconfigQuser.system
+               trueQfile:$HOME/etc-gitconfigQuser.override
+               systemQfile:$HOME/.gitconfigQuser.global
                trueQfile:$HOME/.gitconfigQuser.override
                globalQfile:$HOME/.gitconfigQinclude.path
                
$INCLUDE_DIR/absolute.includeQfile:$INCLUDE_DIR/absolute.includeQuser.absolute
@@ -1281,6 +1291,7 @@ test_expect_success '--show-origin with --list --null' '
                includeQcommand line:Quser.cmdline
                trueQ
        EOF
+       GIT_CONFIG_SYSTEM_PATH=$HOME/etc-gitconfig \
        git -c user.cmdline=true config --null --list --show-origin >output.raw 
&&
        nul_to_q <output.raw >output &&
        # The here-doc above adds a newline that the --null output would not
@@ -1304,6 +1315,7 @@ test_expect_success '--show-origin with --get-regexp' '
                file:$HOME/.gitconfig   user.global true
                file:.git/config        user.local true
        EOF
+       GIT_CONFIG_SYSTEM_PATH=$HOME/etc-gitconfig \
        git config --show-origin --get-regexp "user\.[g|l].*" >output &&
        test_cmp expect output
 '
@@ -1312,6 +1324,7 @@ test_expect_success '--show-origin getting a single key' '
        cat >expect <<-\EOF &&
                file:.git/config        local
        EOF
+       GIT_CONFIG_SYSTEM_PATH=$HOME/etc-gitconfig \
        git config --show-origin user.override >output &&
        test_cmp expect output
 '
-- 
2.10.0-589-g5adf4e1

Reply via email to