1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-04-05 11:43:49 +02:00
Files
coreutils/tests/misc/timeout-large-parameters.sh
Pádraig Brady f2034aa9bb tests: avoid a false failure on OpenIndiana 11
* tests/misc/timeout-parameters.sh: Split the large timeout
handling to ...
* tests/misc/timeout-large-parameters.sh: ... here, so that
the 3 second delay is contained in its own test, and if
the test is skipped due invalid handling within timeout(1),
it will be more apparent.
Also adjust the check so we skip whenever the kernel timer
fires immediately, to handle the buggy OpenIndiana 11 kernel also.
Reported by Bruno Haible.
2020-03-01 23:36:05 +00:00

47 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
# Validate large timeout parameters
# Separated from standard parameter testing due to kernel overflow bugs.
# Copyright (C) 2008-2020 Free Software Foundation, Inc.
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
. "${srcdir=.}/tests/init.sh"; path_prepend_ ./src
print_ver_ timeout
getlimits_
# It was seen on 32 bit Linux/HPPA and OpenIndiana 11
# that a kernel time_t overflowing cause the timer to fire immediately.
# This is still racy, but unlikely to cause an issue unless
# timeout can't process the timer firing within 3 seconds.
timeout $TIME_T_OFLOW sleep 3
if test $? = 124; then
skip_ 'timeout $TIME_T_OFLOW ..., timed out immediately!'
fi
# timeout overflow
timeout $UINT_OFLOW sleep 0 || fail=1
# timeout overflow
timeout ${TIME_T_OFLOW}d sleep 0 || fail=1
# 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
Exit $fail