Commit 0ea80396 authored by Jeff King's avatar Jeff King Committed by Junio C Hamano

t0005: use SIGTERM for sigchain test

The signal tests consists of checking that each of our
handlers is executed, and that the test program was killed
by the final signal. We arbitrarily used SIGINT as the kill
signal.

However, some platforms (notably Solaris) will default
SIGINT to SIG_IGN if there is no controlling terminal. In
that case, we don't end up killing the program with the
final signal and the test fails.

This is a problem since the test script should not depend
on outside factors; let's use SIGTERM instead, which should
behave consistently.
Signed-off-by: default avatarJeff King <[email protected]>
Signed-off-by: default avatarJunio C Hamano <[email protected]>
parent a3da8821
......@@ -12,7 +12,7 @@ EOF
test_expect_success 'sigchain works' '
test-sigchain >actual
case "$?" in
130) true ;; # POSIX w/ SIGINT=2
143) true ;; # POSIX w/ SIGTERM=15
3) true ;; # Windows
*) false ;;
esac &&
......
......@@ -14,9 +14,9 @@ X(three)
#undef X
int main(int argc, char **argv) {
sigchain_push(SIGINT, one);
sigchain_push(SIGINT, two);
sigchain_push(SIGINT, three);
raise(SIGINT);
sigchain_push(SIGTERM, one);
sigchain_push(SIGTERM, two);
sigchain_push(SIGTERM, three);
raise(SIGTERM);
return 0;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment