git-svn: support for git-svn propset
[gitweb.git] / t / t0005-signals.sh
index 93e58c00e886db22b5ebf86af103efc4e65ec832..aeea50c6339ebd4a0d33ce03b7fad5948e69a8a8 100755 (executable)
@@ -20,4 +20,33 @@ test_expect_success 'sigchain works' '
        test_cmp expect actual
 '
 
+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" &&
+       test_expect_code 143 git sigterm
+'
+
+large_git () {
+       for i in $(test_seq 1 100)
+       do
+               git diff --cached --binary || return
+       done
+}
+
+test_expect_success 'create blob' '
+       test-genrandom foo 16384 >file &&
+       git add file
+'
+
+test_expect_success !MINGW 'a constipated git dies with SIGPIPE' '
+       OUT=$( ((large_git; echo $? 1>&3) | :) 3>&1 )
+       test "$OUT" -eq 141
+'
+
+test_expect_success !MINGW 'a constipated git dies with SIGPIPE even if parent ignores it' '
+       OUT=$( ((trap "" PIPE; large_git; echo $? 1>&3) | :) 3>&1 )
+       test "$OUT" -eq 141
+'
+
 test_done