]> git.ipfire.org Git - thirdparty/systemd.git/blame - test/TEST-16-EXTEND-TIMEOUT/extend_timeout_test_service.sh
sd-bus: if we receive an invalid dbus message, ignore and proceeed
[thirdparty/systemd.git] / test / TEST-16-EXTEND-TIMEOUT / extend_timeout_test_service.sh
CommitLineData
a327431b
DB
1#!/bin/bash
2set -x
3set -e
4set -o pipefail
5
6# sleep interval (seconds)
7sleep_interval=1
8# extend_timeout_interval second(s)
9extend_timeout_interval=1
10# number of sleep_intervals before READY=1
11start_intervals=10
12# number of sleep_intervals before exiting
13stop_intervals=10
14# run intervals, number of sleep_intervals to run
15run_intervals=7
16# service name
17SERVICE=unknown
18
19while [ $# -gt 0 ];
20do
21 eval ${1%=*}=${1#*=}
22 shift
23done
24
25# We convert to usec
26extend_timeout_interval=$(( $extend_timeout_interval * 1000000 ))
27
28trap "{ touch /${SERVICE}.terminated; exit 1; }" SIGTERM SIGABRT
29
30rm -f /${SERVICE}.*
31touch /${SERVICE}.startfail
32
33systemd-notify EXTEND_TIMEOUT_USEC=$extend_timeout_interval
34while [ $start_intervals -gt 0 ]
35do
36 sleep $sleep_interval
37 start_intervals=$(( $start_intervals - 1 ))
38 systemd-notify EXTEND_TIMEOUT_USEC=$extend_timeout_interval
39done
40
41systemd-notify --ready --status="Waiting for your request"
42
43touch /${SERVICE}.runtimefail
44rm /${SERVICE}.startfail
45
46systemd-notify EXTEND_TIMEOUT_USEC=$extend_timeout_interval
47while [ $run_intervals -gt 0 ]
48do
49 sleep $sleep_interval
50 run_intervals=$(( $run_intervals - 1 ))
51 systemd-notify EXTEND_TIMEOUT_USEC=$extend_timeout_interval
52done
53
54systemd-notify STOPPING=1
55
56touch /${SERVICE}.stopfail
57rm /${SERVICE}.runtimefail
58
59systemd-notify EXTEND_TIMEOUT_USEC=$extend_timeout_interval
60while [ $stop_intervals -gt 0 ]
61do
62 sleep $sleep_interval
63 stop_intervals=$(( $stop_intervals - 1 ))
64 systemd-notify EXTEND_TIMEOUT_USEC=$extend_timeout_interval
65done
66
67touch /${SERVICE}.success
68rm /${SERVICE}.stopfail
69
70exit 0