Merge branch 'cb/unix-sockets-with-windows'
Adjust credential-cache helper to Windows. * cb/unix-sockets-with-windows: git-compat-util: include declaration for unix sockets in windows credential-cache: check for windows specific errors t0301: fixes for windows compatibility
This commit is contained in:
@ -9,6 +9,21 @@ test -z "$NO_UNIX_SOCKETS" || {
|
||||
test_done
|
||||
}
|
||||
|
||||
uname_s=$(uname -s)
|
||||
case $uname_s in
|
||||
*MINGW*)
|
||||
test_path_is_socket () {
|
||||
# `test -S` cannot detect Win10's Unix sockets
|
||||
test_path_exists "$1"
|
||||
}
|
||||
;;
|
||||
*)
|
||||
test_path_is_socket () {
|
||||
test -S "$1"
|
||||
}
|
||||
;;
|
||||
esac
|
||||
|
||||
# don't leave a stale daemon running
|
||||
test_atexit 'git credential-cache exit'
|
||||
|
||||
@ -21,7 +36,7 @@ test_expect_success 'socket defaults to ~/.cache/git/credential/socket' '
|
||||
rmdir -p .cache/git/credential/
|
||||
" &&
|
||||
test_path_is_missing "$HOME/.git-credential-cache" &&
|
||||
test -S "$HOME/.cache/git/credential/socket"
|
||||
test_path_is_socket "$HOME/.cache/git/credential/socket"
|
||||
'
|
||||
|
||||
XDG_CACHE_HOME="$HOME/xdg"
|
||||
@ -31,7 +46,7 @@ helper_test cache
|
||||
|
||||
test_expect_success "use custom XDG_CACHE_HOME if set and default sockets are not created" '
|
||||
test_when_finished "git credential-cache exit" &&
|
||||
test -S "$XDG_CACHE_HOME/git/credential/socket" &&
|
||||
test_path_is_socket "$XDG_CACHE_HOME/git/credential/socket" &&
|
||||
test_path_is_missing "$HOME/.git-credential-cache/socket" &&
|
||||
test_path_is_missing "$HOME/.cache/git/credential/socket"
|
||||
'
|
||||
@ -48,7 +63,7 @@ test_expect_success 'credential-cache --socket option overrides default location
|
||||
username=store-user
|
||||
password=store-pass
|
||||
EOF
|
||||
test -S "$HOME/dir/socket"
|
||||
test_path_is_socket "$HOME/dir/socket"
|
||||
'
|
||||
|
||||
test_expect_success "use custom XDG_CACHE_HOME even if xdg socket exists" '
|
||||
@ -62,7 +77,7 @@ test_expect_success "use custom XDG_CACHE_HOME even if xdg socket exists" '
|
||||
username=store-user
|
||||
password=store-pass
|
||||
EOF
|
||||
test -S "$HOME/.cache/git/credential/socket" &&
|
||||
test_path_is_socket "$HOME/.cache/git/credential/socket" &&
|
||||
XDG_CACHE_HOME="$HOME/xdg" &&
|
||||
export XDG_CACHE_HOME &&
|
||||
check approve cache <<-\EOF &&
|
||||
@ -71,7 +86,7 @@ test_expect_success "use custom XDG_CACHE_HOME even if xdg socket exists" '
|
||||
username=store-user
|
||||
password=store-pass
|
||||
EOF
|
||||
test -S "$XDG_CACHE_HOME/git/credential/socket"
|
||||
test_path_is_socket "$XDG_CACHE_HOME/git/credential/socket"
|
||||
'
|
||||
|
||||
test_expect_success 'use user socket if user directory exists' '
|
||||
@ -79,14 +94,15 @@ test_expect_success 'use user socket if user directory exists' '
|
||||
git credential-cache exit &&
|
||||
rmdir \"\$HOME/.git-credential-cache/\"
|
||||
" &&
|
||||
mkdir -p -m 700 "$HOME/.git-credential-cache/" &&
|
||||
mkdir -p "$HOME/.git-credential-cache/" &&
|
||||
chmod 700 "$HOME/.git-credential-cache/" &&
|
||||
check approve cache <<-\EOF &&
|
||||
protocol=https
|
||||
host=example.com
|
||||
username=store-user
|
||||
password=store-pass
|
||||
EOF
|
||||
test -S "$HOME/.git-credential-cache/socket"
|
||||
test_path_is_socket "$HOME/.git-credential-cache/socket"
|
||||
'
|
||||
|
||||
test_expect_success SYMLINKS 'use user socket if user directory is a symlink to a directory' '
|
||||
@ -103,7 +119,7 @@ test_expect_success SYMLINKS 'use user socket if user directory is a symlink to
|
||||
username=store-user
|
||||
password=store-pass
|
||||
EOF
|
||||
test -S "$HOME/.git-credential-cache/socket"
|
||||
test_path_is_socket "$HOME/.git-credential-cache/socket"
|
||||
'
|
||||
|
||||
helper_test_timeout cache --timeout=1
|
||||
|
Reference in New Issue
Block a user