From: Johannes Sixt Date: Wed, 25 Mar 2015 19:03:47 GMT Subject: Re: [PATCH v5 3/3] t0302: test credential-store support for XDG_CONFIG_HOME Message-ID: <55130693.20607@kdbg.org> In-Reply-To: Am 25.03.2015 um 07:42 schrieb Eric Sunshine: > On Tue, Mar 24, 2015 at 1:20 AM, Paul Tan wrote: >> t0302 now tests git-credential-store's support for the XDG user-specific >> configuration file $XDG_CONFIG_HOME/git/credentials. Specifically: >> >> * Ensure that the XDG file is strictly opt-in. It should not be created >> by git at all times if it does not exist. >> >> * Conversely, if the XDG file exists, ~/.git-credentials should >> not be created at all times. >> >> * If both the XDG file and ~/.git-credentials exists, then both files >> should be used for credential lookups. However, credentials should >> only be written to ~/.git-credentials. >> >> * Credentials must be erased from both files. >> >> * $XDG_CONFIG_HOME can be a custom directory set by the user as per the >> XDG base directory specification. Test that git-credential-store >> respects that, but defaults to "~/.config/git/credentials" if it does >> not exist or is empty. >> >> Helped-by: Matthieu Moy >> Helped-by: Junio C Hamano >> Helped-by: Eric Sunshine >> Signed-off-by: Paul Tan >> --- >> diff --git a/t/t0302-credential-store.sh b/t/t0302-credential-store.sh >> index f61b40c..4e1f8ec 100755 >> --- a/t/t0302-credential-store.sh >> +++ b/t/t0302-credential-store.sh >> @@ -6,4 +6,118 @@ test_description='credential-store tests' >> >> helper_test store >> >> +test_expect_success 'get: use xdg file if home file is unreadable' ' > > I meant to mention this earlier. Does this test need to be protected > by the POSIXPERM prerequisite since it's using chmod? > > test_expect_success POSIXPERM 'get: ... unreadable' ' > > Otherwise, the test will likely fail on Windows. Well spotted! The test indeed fails on Windows. POSIXPERM is required. >> + echo "https://home-user:home-pass@example.com" >"$HOME/.git-credentials" && >> + chmod -r "$HOME/.git-credentials" && >> + mkdir -p "$HOME/.config/git" && >> + echo "https://xdg-user:xdg-pass@example.com" >"$HOME/.config/git/credentials" && >> + check fill store <<-\EOF >> + protocol=https >> + host=example.com >> + -- >> + protocol=https >> + host=example.com >> + username=xdg-user >> + password=xdg-pass >> + -- >> + EOF >> +' -- Hannes