]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
tests: ensure utils support writing to a closed pipe
authorPádraig Brady <P@draigBrady.com>
Sat, 3 Aug 2024 12:37:33 +0000 (13:37 +0100)
committerPádraig Brady <P@draigBrady.com>
Sun, 4 Aug 2024 09:58:31 +0000 (10:58 +0100)
* tests/misc/write-errors.sh: A closed pipe is a common scenario,
and should not induce an error.  The general case is discussed at:
https://www.pixelbeat.org/programming/sigpipe_handling.html

tests/misc/write-errors.sh

index e78d3fdd4a4e6bde3f6b2e41a9c8b8bc6b938918..0ead519d6587957258be375c4deda2c46b1adafa 100755 (executable)
@@ -60,6 +60,11 @@ join all_writers built_programs > built_writers || framework_failure_
 while read writer; do
   timeout 10 $SHELL -c "$writer > /dev/full"
   test $? = 124 && { fail=1; echo "$writer: failed to exit" >&2; }
+
+  rm -f pipe.err || framework_failure_
+  timeout 10 $SHELL -c "$writer 2>pipe.err | :"
+  { test $? = 0 && compare /dev/null pipe.err; } ||
+   { fail=1; cat pipe.err; echo "$writer: failed to write to closed pipe" >&2; }
 done < built_writers
 
 Exit $fail