tail --version
fi
-. $srcdir/test-lib.sh
+. "${srcdir=.}/init.sh"; path_prepend_ ../src
expensive_
+# Wait up to 10 seconds for grep REGEXP FILE to succeed.
+# Usage: grep_timeout REGEXP FILE
+grep_timeout()
+{
+ local j
+ for j in $(seq 100); do
+ grep $1 $2 > /dev/null && return 0
+ sleep 0.1
+ done
+ return 1
+}
+
# For details, see
# http://lists.gnu.org/archive/html/bug-coreutils/2009-11/msg00213.html
sleep .1
echo b > k;
# wait for b to appear in out
+ grep_timeout b out || fail_ failed to find b in out
while :; do grep b out > /dev/null && break; done
mv x k
# wait for tail to detect the rename
- while :; do grep tail: out > /dev/null && break; done
+ grep_timeout tail: out || fail_ failed to detect rename
echo ok >> k
found=0
# wait up to 10 seconds for "ok" to appear in out
- for j in $(seq 100); do
- grep ok out > /dev/null && { found=1; break; }
- sleep 0.1
- done
+ grep_timeout ok out && found=1
kill $pid
test $found = 0 && { fail=1; cat out; break; }
done