Re: [PATCH 1/1] t7528: fix failure under csh
From: brian m. carlson <hidden>
Date: 2026-08-03 02:13:58
On 2026-08-03 at 00:41:03, Kenneth Lorber wrote:
quoted hunk ↗ jump to hunk
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:quoted
cd t echo $SHELL/bin/tcshquoted
./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 <redacted> --- t/t7528-signed-commit-ssh.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/t/t7528-signed-commit-ssh.sh b/t/t7528-signed-commit-ssh.sh index b50306b9b3..7bf4a40de2 100755 --- a/t/t7528-signed-commit-ssh.sh +++ b/t/t7528-signed-commit-ssh.sh@@ -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 &&
This seems reasonable. SHELL is defined by POSIX as "a pathname of the user's preferred command language interpreter." When we're running the testsuite, we don't care what that is and always want a POSIX sh-compatible output, so using `-s` is the right thing. I also don't see any other instances of `ssh-agent` in the codebase, so this looks like the only place we need to fix. -- brian m. carlson (they/them) Toronto, Ontario, CA
Attachments
- signature.asc [application/pgp-signature] 325 bytes