]> git.ipfire.org Git - thirdparty/systemd.git/blame - test/testsuite-16.units/extend-timeout.sh
tests: add spdx license header to test unit/link/network/conf files
[thirdparty/systemd.git] / test / testsuite-16.units / extend-timeout.sh
CommitLineData
ff12a795 1#!/usr/bin/env bash
22d3cfe5 2# SPDX-License-Identifier: LGPL-2.1-or-later
1c3f490f 3set -eux
a327431b
DB
4set -o pipefail
5
6# sleep interval (seconds)
1c3f490f 7sleep_interval="${sleep_interval:-1}"
a327431b 8# extend_timeout_interval second(s)
1c3f490f 9extend_timeout_interval="${extend_timeout_interval:-1}"
a327431b 10# number of sleep_intervals before READY=1
1c3f490f 11start_intervals="${start_intervals:-10}"
a327431b 12# number of sleep_intervals before exiting
1c3f490f 13stop_intervals="${stop_intervals:-10}"
a327431b 14# run intervals, number of sleep_intervals to run
1c3f490f 15run_intervals="${run_intervals:-7}"
a327431b
DB
16
17# We convert to usec
1c3f490f 18extend_timeout_interval=$((extend_timeout_interval * 1000000))
a327431b 19
1c3f490f
FS
20# shellcheck disable=SC2064
21trap "{ touch /${SERVICE}.terminated; exit 1; }" SIGTERM SIGABRT
a327431b 22
1c3f490f
FS
23rm -f "/${SERVICE}".*
24touch "/${SERVICE}.startfail"
a327431b 25
1c3f490f
FS
26systemd-notify EXTEND_TIMEOUT_USEC="$extend_timeout_interval"
27while [[ $start_intervals -gt 0 ]]
a327431b 28do
1c3f490f
FS
29 sleep "$sleep_interval"
30 start_intervals=$((start_intervals - 1))
31 systemd-notify EXTEND_TIMEOUT_USEC="$extend_timeout_interval"
a327431b
DB
32done
33
34systemd-notify --ready --status="Waiting for your request"
35
1c3f490f
FS
36touch "/${SERVICE}.runtimefail"
37rm "/${SERVICE}.startfail"
a327431b 38
1c3f490f
FS
39systemd-notify EXTEND_TIMEOUT_USEC="$extend_timeout_interval"
40while [[ $run_intervals -gt 0 ]]
a327431b 41do
1c3f490f
FS
42 sleep "$sleep_interval"
43 run_intervals=$((run_intervals - 1))
44 systemd-notify EXTEND_TIMEOUT_USEC="$extend_timeout_interval"
a327431b
DB
45done
46
47systemd-notify STOPPING=1
48
1c3f490f
FS
49touch "/${SERVICE}.stopfail"
50rm "/${SERVICE}.runtimefail"
a327431b 51
1c3f490f
FS
52systemd-notify EXTEND_TIMEOUT_USEC="$extend_timeout_interval"
53while [[ $stop_intervals -gt 0 ]]
a327431b 54do
1c3f490f
FS
55 sleep "$sleep_interval"
56 stop_intervals=$((stop_intervals - 1))
57 systemd-notify EXTEND_TIMEOUT_USEC="$extend_timeout_interval"
a327431b
DB
58done
59
1c3f490f
FS
60touch "/${SERVICE}.success"
61rm "/${SERVICE}.stopfail"
a327431b
DB
62
63exit 0