summaryrefslogtreecommitdiff
path: root/tests/misc/timeout-parameters.sh
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2016-04-20 18:26:58 +0100
committerPádraig Brady <P@draigBrady.com>2016-04-21 19:41:58 +0100
commit2ef621251992bc0b9fbc9ada98606996047ed8a3 (patch)
tree7f69527bb8493d73b82ec785e8822f598ec5732c /tests/misc/timeout-parameters.sh
parentff6cc22d062c493c9fee27cfe1d2e6328d502a43 (diff)
downloadcoreutils-2ef621251992bc0b9fbc9ada98606996047ed8a3.tar.xz
sleep,timeout: support overflowing floating point values
* src/sleep.c (main): Allow ERANGE since we allow "inf" values. * src/timeout.c (parse_duration): Likewise. * tests/misc/sleep.sh: New file. Tests for sleep(1). * tests/misc/timeout-parameters.sh: Add case for newly allowed $LDBL_MAX. Also use returns_ throughout the file. Also avoid small timeout values which might give false failures under load.
Diffstat (limited to 'tests/misc/timeout-parameters.sh')
-rwxr-xr-xtests/misc/timeout-parameters.sh26
1 files changed, 12 insertions, 14 deletions
diff --git a/tests/misc/timeout-parameters.sh b/tests/misc/timeout-parameters.sh
index 14c9b669b..28e7c154a 100755
--- a/tests/misc/timeout-parameters.sh
+++ b/tests/misc/timeout-parameters.sh
@@ -24,16 +24,13 @@ getlimits_
# internal errors are 125, distinct from execution failure
# invalid timeout
-timeout invalid sleep 0
-test $? = 125 || fail=1
+returns_ 125 timeout invalid sleep 0 || fail=1
# invalid kill delay
-timeout --kill-after=invalid 1 sleep 0
-test $? = 125 || fail=1
+returns_ 125 timeout --kill-after=invalid 1 sleep 0 || fail=1
# invalid timeout suffix
-timeout 42D sleep 0
-test $? = 125 || fail=1
+returns_ 125 timeout 42D sleep 0 || fail=1
# It was seen on 32 bit Linux/HPPA that a kernel time_t overflowed,
# thus causing the timer to fire immediately.
@@ -50,24 +47,25 @@ if test $? != 124; then
# floating point notation
timeout 2.34e+5d sleep 0 || fail=1
+
+ # floating point overflow
+ timeout $LDBL_MAX sleep 0 || fail=1
+ returns_ 125 timeout -- -$LDBL_MAX sleep 0 || fail=1
fi
# floating point notation
-timeout 2.34 sleep 0 || fail=1
+timeout 10.34 sleep 0 || fail=1
# nanoseconds potentially supported
-timeout .999999999 sleep 0 || fail=1
+timeout 9.999999999 sleep 0 || fail=1
# invalid signal spec
-timeout --signal=invalid 1 sleep 0
-test $? = 125 || fail=1
+returns_ 125 timeout --signal=invalid 1 sleep 0 || fail=1
# invalid command
-timeout 10 .
-test $? = 126 || fail=1
+returns_ 126 timeout 10 . || fail=1
# no such command
-timeout 10 no_such
-test $? = 127 || fail=1
+returns_ 127 timeout 10 no_such || fail=1
Exit $fail