From dd2253f49da057a677199b18b8673cc09bd1f2f5 Mon Sep 17 00:00:00 2001 From: Pádraig Brady Date: Tue, 2 Feb 2010 10:47:48 +0000 Subject: tests: fix various timeout races Prompted by the continuous integration build failure at: http://hydra.nixos.org/build/277485 * tests/misc/timeout: Set all expected timeouts to 1s and all unexpected timeouts to 10s. In this way, tests normally proceed quickly but may delay up to 10s before reporting failures. * tests/ls/infloop: Likewise. * tests/tail-2/pid: Likewise. * tests/tail-2/pipe-f: Likewise. * tests/tail-2/wait: Likewise. * tests/dd/skip-seek-past-dev: Likewise. --- tests/dd/skip-seek-past-dev | 6 +++--- tests/ls/infloop | 2 +- tests/misc/timeout | 9 ++++----- tests/tail-2/pid | 4 ++-- tests/tail-2/pipe-f | 2 +- tests/tail-2/wait | 4 ++-- 6 files changed, 13 insertions(+), 14 deletions(-) diff --git a/tests/dd/skip-seek-past-dev b/tests/dd/skip-seek-past-dev index 6f6fbd2da..c5b7aab30 100755 --- a/tests/dd/skip-seek-past-dev +++ b/tests/dd/skip-seek-past-dev @@ -42,17 +42,17 @@ device=$(df -P --local . | tail -n1 | cut -d' ' -f1) || dev_size=$(get_device_size "$device") || skip_test_ "failed to determine size of $device" -# Don't use shell arithimetic as older version of dash use longs +# Don't use shell arithmetic as older versions of dash use longs DEV_OFLOW=$(expr $dev_size + 1) -timeout 1 dd bs=1 skip=$DEV_OFLOW count=0 status=noxfer < "$device" 2> err +timeout 10 dd bs=1 skip=$DEV_OFLOW count=0 status=noxfer < "$device" 2> err test "$?" = "1" || fail=1 echo "dd: \`standard input': cannot skip: Invalid argument 0+0 records in 0+0 records out" > err_ok || framework_failure compare err_ok err || fail=1 -timeout 1 dd bs=1 seek=$DEV_OFLOW count=0 status=noxfer > "$device" 2> err +timeout 10 dd bs=1 seek=$DEV_OFLOW count=0 status=noxfer > "$device" 2> err test "$?" = "1" || fail=1 echo "dd: \`standard output': cannot seek: Invalid argument 0+0 records in diff --git a/tests/ls/infloop b/tests/ls/infloop index 2ab486db1..b237adc39 100755 --- a/tests/ls/infloop +++ b/tests/ls/infloop @@ -36,7 +36,7 @@ cat <<\EOF > exp-err || framework_failure ls: loop/sub: not listing already-listed directory EOF -timeout 1 ls -RL loop >out 2>err +timeout 10 ls -RL loop >out 2>err # Ensure that ls exits with status 2 upon detecting a cycle test $? = 2 || fail=1 diff --git a/tests/misc/timeout b/tests/misc/timeout index b61420e64..3bd3af39a 100755 --- a/tests/misc/timeout +++ b/tests/misc/timeout @@ -24,7 +24,7 @@ fi . $srcdir/test-lib.sh # no timeout -timeout 1 true || fail=1 +timeout 10 true || fail=1 # no timeout (suffix check) timeout 1d true || fail=1 @@ -33,12 +33,11 @@ timeout 1d true || fail=1 timeout 0 true || fail=1 # exit status propagation -timeout 1 false && fail=1 -timeout 1 sh -c 'exit 2' +timeout 10 sh -c 'exit 2' test $? = 2 || fail=1 # timeout -timeout 1 sleep 2 +timeout 1 sleep 10 test $? = 124 || fail=1 # Ensure `timeout` is immune to parent's SIGCHLD handler @@ -47,7 +46,7 @@ test $? = 124 || fail=1 # ash doesn't support "trap '' CHLD"; it knows only signal numbers. sig=`"$abs_top_builddir/src/kill" -l CHLD 2>/dev/null` && trap '' $sig - exec timeout 1 true + exec timeout 10 true ) || fail=1 Exit $fail diff --git a/tests/tail-2/pid b/tests/tail-2/pid index 53f9191e8..b1286df05 100755 --- a/tests/tail-2/pid +++ b/tests/tail-2/pid @@ -42,13 +42,13 @@ for inotify in ---disable-inotify ''; do # Ensure that tail --pid=PID exits with success status when PID is dead. # Use an unlikely-to-be-live PID - timeout 3 tail -f -s.1 --pid=$PID_T_MAX $inotify empty + timeout 10 tail -f -s.1 --pid=$PID_T_MAX $inotify empty ret=$? test $ret = 124 && skip_test_ "pid $PID_T_MAX present or tail too slow" test $ret = 0 || fail=1 # Ensure tail doesn't wait for data when PID is dead - timeout 3 tail -f -s10 --pid=$PID_T_MAX $inotify empty + timeout 10 tail -f -s10 --pid=$PID_T_MAX $inotify empty test $? = 124 && fail=1 done diff --git a/tests/tail-2/pipe-f b/tests/tail-2/pipe-f index d557f9704..bf38c183c 100755 --- a/tests/tail-2/pipe-f +++ b/tests/tail-2/pipe-f @@ -23,7 +23,7 @@ fi . $srcdir/test-lib.sh -echo foo | timeout 2 tail -f -c3 > out || fail=1 +echo foo | timeout 10 tail -f -c3 > out || fail=1 echo oo > exp || fail=1 compare out exp || fail=1 diff --git a/tests/tail-2/wait b/tests/tail-2/wait index 7b3fa82da..5c9eff0a2 100755 --- a/tests/tail-2/wait +++ b/tests/tail-2/wait @@ -30,11 +30,11 @@ touch k || framework_failure for inotify in ---disable-inotify ''; do - timeout 1 tail -s0.1 -f $inotify not_here + timeout 10 tail -s0.1 -f $inotify not_here test $? = 124 && fail=1 if test ! -r unreadable; then # can't test this when root - timeout 1 tail -s0.1 -f $inotify unreadable + timeout 10 tail -s0.1 -f $inotify unreadable test $? = 124 && fail=1 fi -- cgit v1.2.3-54-g00ecf