t5601: remove clear_ssh, refactor setup_ssh_wrapper

Commit 8d3d28f5 added test cases for URLs which should be ssh.
Remove the function clear_ssh, use test_when_finished to clean up.

Introduce the function setup_ssh_wrapper, which could be factored
out together with expect_ssh.

Tighten one test and use "foo:bar" instead of "./foo:bar",

Helped-by: Jeff King <peff@peff.net>
Signed-off-by: Torsten Bögershausen <tboegi@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Torsten Bögershausen 2013-11-28 20:53:47 +01:00 committed by Junio C Hamano
parent aa2706463f
commit 710eb3e22c

View file

@ -280,25 +280,26 @@ test_expect_success 'clone checking out a tag' '
test_cmp fetch.expected fetch.actual
'
test_expect_success 'setup ssh wrapper' '
write_script "$TRASH_DIRECTORY/ssh-wrapper" <<-\EOF &&
echo >>"$TRASH_DIRECTORY/ssh-output" "ssh: $*" &&
# throw away all but the last argument, which should be the
# command
while test $# -gt 1; do shift; done
eval "$1"
EOF
GIT_SSH="$TRASH_DIRECTORY/ssh-wrapper" &&
export GIT_SSH &&
export TRASH_DIRECTORY
'
clear_ssh () {
>"$TRASH_DIRECTORY/ssh-output"
setup_ssh_wrapper () {
test_expect_success 'setup ssh wrapper' '
write_script "$TRASH_DIRECTORY/ssh-wrapper" <<-\EOF &&
echo >>"$TRASH_DIRECTORY/ssh-output" "ssh: $*" &&
# throw away all but the last argument, which should be the
# command
while test $# -gt 1; do shift; done
eval "$1"
EOF
GIT_SSH="$TRASH_DIRECTORY/ssh-wrapper" &&
export GIT_SSH &&
export TRASH_DIRECTORY &&
>"$TRASH_DIRECTORY"/ssh-output
'
}
expect_ssh () {
test_when_finished '
(cd "$TRASH_DIRECTORY" && rm -f ssh-expect && >ssh-output)
' &&
{
case "$1" in
none)
@ -310,21 +311,20 @@ expect_ssh () {
(cd "$TRASH_DIRECTORY" && test_cmp ssh-expect ssh-output)
}
setup_ssh_wrapper
test_expect_success 'cloning myhost:src uses ssh' '
clear_ssh &&
git clone myhost:src ssh-clone &&
expect_ssh myhost src
'
test_expect_success NOT_MINGW,NOT_CYGWIN 'clone local path foo:bar' '
clear_ssh &&
cp -R src "foo:bar" &&
git clone "./foo:bar" foobar &&
git clone "foo:bar" foobar &&
expect_ssh none
'
test_expect_success 'bracketed hostnames are still ssh' '
clear_ssh &&
git clone "[myhost:123]:src" ssh-bracket-clone &&
expect_ssh myhost:123 src
'