1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-04-21 11:16:16 +02:00

tests: don't make tail's pipe-f2 test take the full 10 seconds

* tests/tail-2/pipe-f2: Don't always wait 10 seconds.
Before, this test would always wait 10 seconds.
Now, it stops early when it detects that tail -f has written output.
BTW, the race condition that prompted changing the timeout from 1 second
to 10 was that tail -f could be killed by the timeout before producing
any output.
This commit is contained in:
Jim Meyering
2011-10-28 18:06:44 +02:00
parent 2f1384b7e4
commit f013fe07ab

View File

@@ -24,9 +24,20 @@ mkfifo_or_skip_ fifo
echo 1 > fifo &
echo 1 > exp || framework_failure_
timeout 10 tail -f fifo > out
test $? = 124 || fail=1
timeout 10 tail -f fifo > out & pid=$!
check_tail_output()
{
local n_sec="$1"
test -s out || { sleep $n_sec; return 1; }
}
# Wait 6.3s for tail to write something.
retry_delay_ check_tail_output .1 7 || fail=1
compare out exp || fail=1
# Kill the still-running tail, or fail if it's gone.
kill $pid || fail=1
Exit $fail