tests: factor portable signal check out of t0005
[gitweb.git] / t / t0005-signals.sh
index e7f27ebbc1748df28b6e686b5732c8af18cea7c9..95f8c05eb43b018439543f0c54cb5d90c18b8a4f 100755 (executable)
@@ -11,12 +11,13 @@ EOF
 
 test_expect_success 'sigchain works' '
        { test-sigchain >actual; ret=$?; } &&
-       case "$ret" in
-       143) true ;; # POSIX w/ SIGTERM=15
-       271) true ;; # ksh w/ SIGTERM=15
-         3) true ;; # Windows
-         *) false ;;
-       esac &&
+       {
+               # Signal death by raise() on Windows acts like exit(3),
+               # regardless of the signal number. So we must allow that
+               # as well as the normal signal check.
+               test_match_signal 15 "$ret" ||
+               test "$ret" = 3
+       } &&
        test_cmp expect actual
 '