]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t7528: fix failure under csh
authorKenneth Lorber <keni@his.com>
Mon, 3 Aug 2026 00:41:03 +0000 (20:41 -0400)
committerJunio C Hamano <gitster@pobox.com>
Mon, 3 Aug 2026 14:42:44 +0000 (07:42 -0700)
Explicitly set sh mode for ssh-agent (ssh-agent -s) to prevent
failure when user's login shell is csh-like.  The failure is
caused by propagation of the $SHELL value from the user's original
shell despite the test and test harness explictly using sh, which
makes ssh-agent emit initialization code for the wrong shell:

> cd t
> echo $SHELL
/bin/tcsh
> ./t7528-signed-commit-ssh.sh --verbose --debug
[...]
expecting success of 7528.2 'sign commits using literal public keys with ssh-agent':
[...]
./t7528-signed-commit-ssh.sh: 1: eval: setenv: not found
./t7528-signed-commit-ssh.sh: 1: eval: setenv: not found
[...]

Signed-off-by: Kenneth Lorber <keni@his.com>
Acked-by: brian m. carlson <sandals@crustytoothpaste.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7528-signed-commit-ssh.sh

index b50306b9b3952de838b20ccdf0f7ada865efd116..7bf4a40de20e13e1d2ce7e52805ad541cabbb395 100755 (executable)
@@ -82,7 +82,7 @@ test_expect_success GPGSSH 'create signed commits' '
 test_expect_success GPGSSH 'sign commits using literal public keys with ssh-agent' '
        test_when_finished "test_unconfig commit.gpgsign" &&
        test_config gpg.format ssh &&
-       eval $(ssh-agent -T || ssh-agent) &&
+       eval $(ssh-agent -T -s || ssh-agent -s) &&
        test_when_finished "kill ${SSH_AGENT_PID}" &&
        test_when_finished "test_unconfig user.signingkey" &&
        mkdir tmpdir &&