timeout.sh (916B)
- #!/bin/sh
- # SPDX-FileCopyrightText: 2017 Haelwenn (lanodan) Monnier <contact+utils@hacktivis.me>
- # SPDX-License-Identifier: MPL-2.0
- plans=10
- WD="$(dirname "$0")/../"
- target="${WD}/cmd/timeout"
- . "${WD}/test-cmd/tap.sh"
- time_fmt() {
- out=$(mktemp time_fmt.XXXXXX)
- "$@" 2> "$out"
- err=$?
- cut -f1 -d '.' <"$out"
- rm -f "$out"
- return $err
- }
- t_args --exit=124 longer_sleep '' 0.5 sleep 10
- t_args shorter_sleep '' 0.5 sleep 0.2
- t_args true '' 0.5 true
- t_args --exit=1 false '' 0.5 false
- t_args --exit=124 kill_longer_sleep '' -s KILL 0.5 sleep 10
- t_args --exit=124 sigkill_longer_sleep '' -s SIGKILL 0.5 sleep 10
- t_args --exit=124 sig9_longer_sleep '' -s 9 0.5 sleep 10
- t_cmd --exit=124 time_longer_sleep_nokill '' time_fmt "$target" -f 0.5 "${WD}/cmd/time" -p sleep 1
- t_cmd --exit=124 time_longer_sleep '' time_fmt "$target" 0.5 "${WD}/cmd/time" -p sleep 1
- t_args preserve_status '' -p 0.5 sleep 10
- wait