mirror of
https://github.com/systemd/systemd.git
synced 2025-01-11 09:18:07 +03:00
7a321b5a21
Having these named differently than the test itself mostly creates unecessary confusion and makes writing logic against the tests harder so let's rename the testsuite-xx units and scripts to just use the test name itself.
64 lines
1.7 KiB
Bash
Executable File
64 lines
1.7 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
set -eux
|
|
set -o pipefail
|
|
|
|
# sleep interval (seconds)
|
|
sleep_interval="${sleep_interval:-1}"
|
|
# extend_timeout_interval second(s)
|
|
extend_timeout_interval="${extend_timeout_interval:-1}"
|
|
# number of sleep_intervals before READY=1
|
|
start_intervals="${start_intervals:-10}"
|
|
# number of sleep_intervals before exiting
|
|
stop_intervals="${stop_intervals:-10}"
|
|
# run intervals, number of sleep_intervals to run
|
|
run_intervals="${run_intervals:-7}"
|
|
|
|
# We convert to usec
|
|
extend_timeout_interval=$((extend_timeout_interval * 1000000))
|
|
|
|
# shellcheck disable=SC2064
|
|
trap "{ touch /${SERVICE}.terminated; exit 1; }" SIGTERM SIGABRT
|
|
|
|
rm -f "/${SERVICE}".*
|
|
touch "/${SERVICE}.startfail"
|
|
|
|
systemd-notify EXTEND_TIMEOUT_USEC="$extend_timeout_interval"
|
|
while [[ $start_intervals -gt 0 ]]
|
|
do
|
|
sleep "$sleep_interval"
|
|
start_intervals=$((start_intervals - 1))
|
|
systemd-notify EXTEND_TIMEOUT_USEC="$extend_timeout_interval"
|
|
done
|
|
|
|
systemd-notify --ready --status="Waiting for your request"
|
|
|
|
touch "/${SERVICE}.runtimefail"
|
|
rm "/${SERVICE}.startfail"
|
|
|
|
systemd-notify EXTEND_TIMEOUT_USEC="$extend_timeout_interval"
|
|
while [[ $run_intervals -gt 0 ]]
|
|
do
|
|
sleep "$sleep_interval"
|
|
run_intervals=$((run_intervals - 1))
|
|
systemd-notify EXTEND_TIMEOUT_USEC="$extend_timeout_interval"
|
|
done
|
|
|
|
systemd-notify STOPPING=1
|
|
|
|
touch "/${SERVICE}.stopfail"
|
|
rm "/${SERVICE}.runtimefail"
|
|
|
|
systemd-notify EXTEND_TIMEOUT_USEC="$extend_timeout_interval"
|
|
while [[ $stop_intervals -gt 0 ]]
|
|
do
|
|
sleep "$sleep_interval"
|
|
stop_intervals=$((stop_intervals - 1))
|
|
systemd-notify EXTEND_TIMEOUT_USEC="$extend_timeout_interval"
|
|
done
|
|
|
|
touch "/${SERVICE}.success"
|
|
rm "/${SERVICE}.stopfail"
|
|
|
|
exit 0
|