diff options
Diffstat (limited to 'tests/test-sigpipe.sh')
-rwxr-xr-x | tests/test-sigpipe.sh | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/test-sigpipe.sh b/tests/test-sigpipe.sh new file mode 100755 index 0000000..bc2baf2 --- /dev/null +++ b/tests/test-sigpipe.sh @@ -0,0 +1,31 @@ +#!/bin/sh + +tmpfiles="" +trap 'rm -fr $tmpfiles' 1 2 3 15 + +# Test signal's default behaviour. +tmpfiles="$tmpfiles t-sigpipeA.tmp" +./test-sigpipe${EXEEXT} A 2> t-sigpipeA.tmp | head -1 > /dev/null +if test -s t-sigpipeA.tmp; then + LC_ALL=C tr -d '\r' < t-sigpipeA.tmp + rm -fr $tmpfiles; exit 1 +fi + +# Test signal's ignored behaviour. +tmpfiles="$tmpfiles t-sigpipeB.tmp" +./test-sigpipe${EXEEXT} B 2> t-sigpipeB.tmp | head -1 > /dev/null +if test -s t-sigpipeB.tmp; then + LC_ALL=C tr -d '\r' < t-sigpipeB.tmp + rm -fr $tmpfiles; exit 1 +fi + +# Test signal's behaviour when a handler is installed. +tmpfiles="$tmpfiles t-sigpipeC.tmp" +./test-sigpipe${EXEEXT} B 2> t-sigpipeC.tmp | head -1 > /dev/null +if test -s t-sigpipeC.tmp; then + LC_ALL=C tr -d '\r' < t-sigpipeC.tmp + rm -fr $tmpfiles; exit 1 +fi + +rm -fr $tmpfiles +exit 0 |