[PATCH] t/lib-git-daemon: fix signal checking
- From
SZEDER Gábor <szeder.dev@gmail.com>
- Date
- Nov 26, 2018, 20:03 UTC
- Message-ID
- <20181126200337.32462-1-szeder.dev@gmail.com>
Test scripts checking 'git daemon' stop the daemon with a TERM signal, and the 'stop_git_daemon' helper checks the daemon's exit status to make sure that it indeed died because of that signal.
This check is bogus since 03c39b3458 (t/lib-git-daemon: use test_match_signal, 2016-06-24), for two reasons:
- Right after killing 'git daemon', 'stop_git_daemon' saves its exit
status in a variable, but since 03c39b3458 the condition checking
the exit status looks at '$?', which at this point is not the exit
status of 'git daemon', but that of the variable assignment, i.e.
it's always 0. - The unexpected exit status should abort the whole test script with
'error', but it doesn't, because 03c39b3458 forgot to negate
'test_match_signal's exit status in the condition.This patch fixes both issues.
Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com> --- t/lib-git-daemon.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/lib-git-daemon.sh b/t/lib-git-daemon.sh index edbea2d986..f98de95c15 100644 --- a/t/lib-git-daemon.sh +++ b/t/lib-git-daemon.sh @@ -92,7 +92,7 @@ stop_git_daemon() { kill "$GIT_DAEMON_PID" wait "$GIT_DAEMON_PID" >&3 2>&4 ret=$? - if test_match_signal 15 $? + if ! test_match_signal 15 $ret then error "git daemon exited with status: $ret" fi
-- 2.20.0.rc1.149.g55c2c038c2