* [PATCH] t/lib-git-daemon: fix signal checking
@ 2018-11-26 20:03 SZEDER Gábor
2018-12-04 6:34 ` Jeff King
0 siblings, 1 reply; 2+ messages in thread
From: SZEDER Gábor @ 2018-11-26 20:03 UTC (permalink / raw)
To: Junio C Hamano; +Cc: Jeff King, git, SZEDER Gábor
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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] t/lib-git-daemon: fix signal checking
2018-11-26 20:03 [PATCH] t/lib-git-daemon: fix signal checking SZEDER Gábor
@ 2018-12-04 6:34 ` Jeff King
0 siblings, 0 replies; 2+ messages in thread
From: Jeff King @ 2018-12-04 6:34 UTC (permalink / raw)
To: SZEDER Gábor; +Cc: Junio C Hamano, git
On Mon, Nov 26, 2018 at 09:03:37PM +0100, SZEDER Gábor wrote:
> 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.
Oof. Who says two wrongs don't make a right? :)
Thanks for catching this, and the patch looks obviously correct.
I peeked at the other test_match_signal conversions from that era, and
they all look sane.
-Peff
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-12-04 6:34 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-11-26 20:03 [PATCH] t/lib-git-daemon: fix signal checking SZEDER Gábor
2018-12-04 6:34 ` Jeff King
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).