1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-08-17 09:06:50 +02:00

tests: tee -p: add test for early exit with closed pipes

* tests/misc/tee.sh: Add a test for the new iopoll logic
to detect closed outputs and exit early without needing
further input.
This commit is contained in:
Pádraig Brady
2023-01-03 18:06:45 +01:00
parent 6b12e62d95
commit b1376bb829
+10
View File
@@ -63,6 +63,16 @@ if test -w /dev/full && test -c /dev/full; then
test $(wc -l < err) = 1 || { cat err; fail=1; }
fi
# Test iopoll-powered early exit for closed pipes
tee_exited() { sleep $1; test -f tee.exited; }
# Currently this functionality is most useful with
# intermittent input from a terminal, but here we
# use an input pipe that doesn't write anything
# but will exit as soon as tee does, or it times out
retry_delay_ tee_exited .1 7 | # 12.7s (Must be > following timeout)
{ timeout 10 tee -p 2>err && touch tee.exited; } | :
test $(wc -l < err) = 0 || { cat err; fail=1; }
test -f tee.exited || fail=1
# Ensure tee honors --output-error modes
mkfifo_or_skip_ fifo