tests: address a race condition in misc/cat-buf
authorPádraig Brady <P@draigBrady.com>
Mon, 7 Sep 2009 22:50:19 +0000 (23:50 +0100)
committerPádraig Brady <P@draigBrady.com>
Tue, 8 Sep 2009 00:43:31 +0000 (01:43 +0100)
* tests/misc/cat-buf: Increase the delay between writes
to decrease the chance that dd will read both at once.
Since the test is inherently racy, print a warning via
skip_test_ rather than failing outright.
Reported by Jim Meyering.

tests/misc/cat-buf

index d37f9f4..11d553a 100755 (executable)
@@ -30,12 +30,17 @@ fi
 # write separately.
 mkfifo fifo || framework_failure
 
+fail=0
+
 echo 1 > exp
 
 dd count=1 if=fifo > out &
-(echo 1; sleep .2; echo 2) | cat -v > fifo
+(echo 1; sleep .5; echo 2) | cat -v > fifo
 wait # for dd to complete
 
-compare out exp || fail=1
+# Though unlikely, this test may fail because dd was starved
+# between opening the fifo and reading from it until after the
+# second echo.  So ask to double check rather than failing.
+compare out exp || skip_test_ "possible test failure. Please verify."
 
 Exit $fail