l10n: fr.po v2.4.0-rc0 round 1
[gitweb.git] / t / t0005-signals.sh
index 981437b3a88b86ee1ddd26f842a0048b8dc2b57f..e7f27ebbc1748df28b6e686b5732c8af18cea7c9 100755 (executable)
@@ -10,8 +10,8 @@ one
 EOF
 
 test_expect_success 'sigchain works' '
-       test-sigchain >actual
-       case "$?" in
+       { test-sigchain >actual; ret=$?; } &&
+       case "$ret" in
        143) true ;; # POSIX w/ SIGTERM=15
        271) true ;; # ksh w/ SIGTERM=15
          3) true ;; # Windows
@@ -27,4 +27,26 @@ test_expect_success !MINGW 'signals are propagated using shell convention' '
        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