t0301 now tests git-credential-cache support for XDG user-specific runtime path. Specifically: * if $XDG_RUNTIME_DIR exists, use socket at `$XDG_RUNTIME_DIR/git/credential-cache.sock`. * otherwise, `/tmp/git-$uid/credential-cache.sock` is taken. Helped-by: Jeff King <peff@xxxxxxxx> Signed-off-by: Hui Yiqun <huiyiqun@xxxxxxxxx> --- t/t0301-credential-cache.sh | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/t/t0301-credential-cache.sh b/t/t0301-credential-cache.sh index 82c8411..264c394 100755 --- a/t/t0301-credential-cache.sh +++ b/t/t0301-credential-cache.sh @@ -12,7 +12,36 @@ test -z "$NO_UNIX_SOCKETS" || { # don't leave a stale daemon running trap 'code=$?; git credential-cache exit; (exit $code); die' EXIT +test_expect_success 'set $XDG_RUNTIME_DIR' ' + XDG_RUNTIME_DIR=$HOME/xdg_runtime/ && + export XDG_RUNTIME_DIR +' + +helper_test cache + +test_expect_success 'when $XDG_RUNTIME_DIR is set, `$XDG_RUNTIME_DIR/git` are used' ' + test_path_is_missing "/tmp/git-$(id -u)/credential-cache.sock" && + test -S "$HOME/xdg_runtime/git/credential-cache.sock" +' + +test_expect_success 'force git-credential-cache to exit so that socket disappear' ' + git credential-cache exit && + test_path_is_missing "$HOME/xdg_runtime/git/credential-cache.sock" && + unset XDG_RUNTIME_DIR +' + helper_test cache + +test_expect_success 'when $XDG_RUNTIME_DIR is not set, `/tmp/git-$(id -u) is used' ' + test_path_is_missing "$HOME/xdg_runtime/git/credential-cache.sock" && + test -S "/tmp/git-$(id -u)/credential-cache.sock" +' + +# TODO: if $XDG_RUNTIME_DIR/git/ exists, but has wrong permission and ownership, +# `helper_test cache` must fail. + +# TODO: check whether `--socket` works + helper_test_timeout cache --timeout=1 # we can't rely on our "trap" above working after test_done, -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html