]> git.ipfire.org Git - thirdparty/git.git/commitdiff
t0005: skip signal death exit code test on Windows
authorJohannes Sixt <j6t@kdbg.org>
Thu, 6 Jun 2013 06:34:41 +0000 (08:34 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 6 Jun 2013 17:22:52 +0000 (10:22 -0700)
The test case depends on that test-sigchain can commit suicide by a
call to raise(SIGTERM) in a way that run-command.c::wait_or_whine()
can detect as death through a signal. There are no POSIX signals on
Windows, and a sufficiently close emulation is not available in the
Microsoft C runtime (and probably not even possible).

The particular deficiency is that when a signal is raise()d whose
SIG_DFL action will cause process death (SIGTERM in this case), the
implementation of raise() in msvcrt just calls exit(3).

We could check for exit code 3 in addition to 143, but that would
miss the point of the test entirely. Hence, just skip it on Windows.

Signed-off-by: Johannes Sixt <j6t@kdbg.org>
Acked-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t0005-signals.sh

index ad9e6047f2bbfa08b19968109b07664858da35e2..981437b3a88b86ee1ddd26f842a0048b8dc2b57f 100755 (executable)
@@ -20,7 +20,7 @@ test_expect_success 'sigchain works' '
        test_cmp expect actual
 '
 
-test_expect_success 'signals are propagated using shell convention' '
+test_expect_success !MINGW 'signals are propagated using shell convention' '
        # we use exec here to avoid any sub-shell interpretation
        # of the exit code
        git config alias.sigterm "!exec test-sigchain" &&