t/t-ssh.sh: also perform test without ssh variant
It is currently possible to cause the "ssh with proxy command in lfs.url" test to fail by setting the GIT_SSH_VARIANT environment variable to something like "simple". This causes the error message from the lfs-ssh-echo test helper program to contain a different string, without the "--" end-of-options delimiter and without a leading "-" character on the invalid argument, because those are not included by Git LFS. We therefore want to run two versions of this test, one with GIT_SSH_VARIANT forcibly unset, to test the default case, and one with that variable set but with a different check on the error message from lfs-ssh-echo. Also, in a previous commit we restored some of the argument parsing logic in the lfs-ssh-echo test helper program, so we now want to restore the check that the helper's error message contains "git@127.0.0.1", not just a "-p" flag.
This commit is contained in:
parent
a106dcb1e0
commit
b9c8e1de4a
35
t/t-ssh.sh
35
t/t-ssh.sh
@ -2,11 +2,11 @@
|
||||
|
||||
. "$(dirname "$0")/testlib.sh"
|
||||
|
||||
begin_test "ssh with proxy command in lfs.url"
|
||||
begin_test "ssh with proxy command in lfs.url (default variant)"
|
||||
(
|
||||
set -e
|
||||
|
||||
reponame="batch-ssh-proxy"
|
||||
reponame="batch-ssh-proxy-default"
|
||||
setup_remote_repo "$reponame"
|
||||
clone_repo "$reponame" "$reponame"
|
||||
|
||||
@ -20,6 +20,7 @@ begin_test "ssh with proxy command in lfs.url"
|
||||
git add .gitattributes test.dat
|
||||
git commit -m "initial commit"
|
||||
|
||||
unset GIT_SSH_VARIANT
|
||||
GIT_TRACE=1 git push origin main 2>&1 | tee push.log
|
||||
if [ "0" -eq "${PIPESTATUS[0]}" ]; then
|
||||
echo >&2 "fatal: push succeeded"
|
||||
@ -30,3 +31,33 @@ begin_test "ssh with proxy command in lfs.url"
|
||||
grep "lfs-ssh-echo -- -oProxyCommand" push.log
|
||||
)
|
||||
end_test
|
||||
|
||||
begin_test "ssh with proxy command in lfs.url (custom variant)"
|
||||
(
|
||||
set -e
|
||||
|
||||
reponame="batch-ssh-proxy-simple"
|
||||
setup_remote_repo "$reponame"
|
||||
clone_repo "$reponame" "$reponame"
|
||||
|
||||
sshurl="${GITSERVER/http:\/\//ssh://-oProxyCommand=ssh-proxy-test/}/$reponame"
|
||||
git config lfs.url "$sshurl"
|
||||
|
||||
contents="test"
|
||||
oid="$(calc_oid "$contents")"
|
||||
git lfs track "*.dat"
|
||||
printf "%s" "$contents" > test.dat
|
||||
git add .gitattributes test.dat
|
||||
git commit -m "initial commit"
|
||||
|
||||
export GIT_SSH_VARIANT=simple
|
||||
GIT_TRACE=1 git push origin main 2>&1 | tee push.log
|
||||
if [ "0" -eq "${PIPESTATUS[0]}" ]; then
|
||||
echo >&2 "fatal: push succeeded"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
grep 'expected.*git@127.0.0.1' push.log
|
||||
grep "lfs-ssh-echo oProxyCommand" push.log
|
||||
)
|
||||
end_test
|
||||
|
Loading…
Reference in New Issue
Block a user