aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbrian m. carlson <sandals@crustytoothpaste.net>2025-11-28 01:21:06 +0000
committerJunio C Hamano <gitster@pobox.com>2025-11-27 19:06:03 -0800
commita92f243a94e6810394fb01d517726487252007f0 (patch)
tree8adb9cb8be9a4ad5ccb1cb38eb0e20c6e53bcc75
parentbf25fca31c5a923598ce8461034a992920e3625b (diff)
downloadgit-a92f243a94e6810394fb01d517726487252007f0.tar.gz
t5564: fix test hang under zsh's sh mode
This test starts a SOCKS server in Perl in the background and then kills it after the tests are done. However, when using zsh (in sh mode) in the tests, the start_socks function hangs until the background process is killed. Note that this does not reproduce in a simple shell script, so there is likely some interaction between job handling, our heavy use of eval in the test framework, and possibly other complexities of our test framework. What is clear, however, is that switching from a compound statement to a subshell fixes the problem entirely and the test passes with no problem, so do that. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t5564-http-proxy.sh4
1 files changed, 2 insertions, 2 deletions
diff --git a/t/t5564-http-proxy.sh b/t/t5564-http-proxy.sh
index c3903faf2d..3bcbdef409 100755
--- a/t/t5564-http-proxy.sh
+++ b/t/t5564-http-proxy.sh
@@ -40,10 +40,10 @@ test_expect_success 'clone can prompt for proxy password' '
start_socks() {
mkfifo socks_output &&
- {
+ (
"$PERL_PATH" "$TEST_DIRECTORY/socks4-proxy.pl" "$1" >socks_output &
echo $! > "$TRASH_DIRECTORY/socks.pid"
- } &&
+ ) &&
read line <socks_output &&
test "$line" = ready
}