[PATCH v3/GSoC 5/5] t0301: test credential-cache support of XDG_RUNTIME_DIR
- From
Hui Yiqun <huiyiqun@gmail.com>
- Date
- Mar 23, 2016, 10:13 UTC
- Message-ID
- <1458728005-22555-5-git-send-email-huiyiqun@gmail.com>
- In-Reply-To
- <1458728005-22555-1-git-send-email-huiyiqun@gmail.com>
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@peff.net> Signed-off-by: Hui Yiqun <huiyiqun@gmail.com> --- 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