]> git.ipfire.org Git - thirdparty/systemd.git/blame - test/units/testsuite-23.ExecReload.sh
Merge pull request #30844 from keszybz/rename-uid-alloc-range
[thirdparty/systemd.git] / test / units / testsuite-23.ExecReload.sh
CommitLineData
ff12a795 1#!/usr/bin/env bash
7b3cec95 2# SPDX-License-Identifier: LGPL-2.1-or-later
084575ff 3set -eux
38d8a123
FS
4set -o pipefail
5
539af5c4
FS
6# Test ExecReload= (PR #13098)
7
38d8a123 8systemd-analyze log-level debug
38d8a123
FS
9
10export SYSTEMD_PAGER=
11SERVICE_PATH="$(mktemp /etc/systemd/system/execreloadXXX.service)"
12SERVICE_NAME="${SERVICE_PATH##*/}"
13
14echo "[#1] Failing ExecReload= should not kill the service"
0ee99483 15cat >"$SERVICE_PATH" <<EOF
38d8a123 16[Service]
63403f07 17ExecStart=sleep infinity
38d8a123
FS
18ExecReload=/bin/false
19EOF
20
21systemctl daemon-reload
38825267
FS
22systemctl start "$SERVICE_NAME"
23systemctl status "$SERVICE_NAME"
38d8a123 24# The reload SHOULD fail but SHOULD NOT affect the service state
128db0aa 25(! systemctl reload "$SERVICE_NAME")
38825267
FS
26systemctl status "$SERVICE_NAME"
27systemctl stop "$SERVICE_NAME"
38d8a123
FS
28
29
30echo "[#2] Failing ExecReload= should not kill the service (multiple ExecReload=)"
0ee99483 31cat >"$SERVICE_PATH" <<EOF
38d8a123 32[Service]
63403f07 33ExecStart=sleep infinity
38d8a123
FS
34ExecReload=/bin/true
35ExecReload=/bin/false
36ExecReload=/bin/true
37EOF
38
39systemctl daemon-reload
38825267
FS
40systemctl start "$SERVICE_NAME"
41systemctl status "$SERVICE_NAME"
38d8a123 42# The reload SHOULD fail but SHOULD NOT affect the service state
128db0aa 43(! systemctl reload "$SERVICE_NAME")
38825267
FS
44systemctl status "$SERVICE_NAME"
45systemctl stop "$SERVICE_NAME"
38d8a123
FS
46
47echo "[#3] Failing ExecReload=- should not affect reload's exit code"
0ee99483 48cat >"$SERVICE_PATH" <<EOF
38d8a123 49[Service]
63403f07 50ExecStart=sleep infinity
38d8a123
FS
51ExecReload=-/bin/false
52EOF
53
54systemctl daemon-reload
38825267
FS
55systemctl start "$SERVICE_NAME"
56systemctl status "$SERVICE_NAME"
57systemctl reload "$SERVICE_NAME"
58systemctl status "$SERVICE_NAME"
59systemctl stop "$SERVICE_NAME"
38d8a123
FS
60
61systemd-analyze log-level info