test: move TEST-39-EXECRELOAD setup to static files
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
[Unit]
|
||||
Description=TEST-39-EXECRELOAD
|
||||
|
||||
[Service]
|
||||
ExecStart=/usr/lib/systemd/tests/testdata/units/%N.sh
|
||||
Type=oneshot
|
||||
Executable
+64
@@ -0,0 +1,64 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -ex
|
||||
set -o pipefail
|
||||
|
||||
systemd-analyze log-level debug
|
||||
systemd-analyze log-target console
|
||||
|
||||
export SYSTEMD_PAGER=
|
||||
SERVICE_PATH="$(mktemp /etc/systemd/system/execreloadXXX.service)"
|
||||
SERVICE_NAME="${SERVICE_PATH##*/}"
|
||||
|
||||
echo "[#1] Failing ExecReload= should not kill the service"
|
||||
cat > "$SERVICE_PATH" << EOF
|
||||
[Service]
|
||||
ExecStart=/bin/sleep infinity
|
||||
ExecReload=/bin/false
|
||||
EOF
|
||||
|
||||
systemctl daemon-reload
|
||||
systemctl start $SERVICE_NAME
|
||||
systemctl status $SERVICE_NAME
|
||||
# The reload SHOULD fail but SHOULD NOT affect the service state
|
||||
! systemctl reload $SERVICE_NAME
|
||||
systemctl status $SERVICE_NAME
|
||||
systemctl stop $SERVICE_NAME
|
||||
|
||||
|
||||
echo "[#2] Failing ExecReload= should not kill the service (multiple ExecReload=)"
|
||||
cat > "$SERVICE_PATH" << EOF
|
||||
[Service]
|
||||
ExecStart=/bin/sleep infinity
|
||||
ExecReload=/bin/true
|
||||
ExecReload=/bin/false
|
||||
ExecReload=/bin/true
|
||||
EOF
|
||||
|
||||
systemctl daemon-reload
|
||||
systemctl start $SERVICE_NAME
|
||||
systemctl status $SERVICE_NAME
|
||||
# The reload SHOULD fail but SHOULD NOT affect the service state
|
||||
! systemctl reload $SERVICE_NAME
|
||||
systemctl status $SERVICE_NAME
|
||||
systemctl stop $SERVICE_NAME
|
||||
|
||||
echo "[#3] Failing ExecReload=- should not affect reload's exit code"
|
||||
cat > "$SERVICE_PATH" << EOF
|
||||
[Service]
|
||||
ExecStart=/bin/sleep infinity
|
||||
ExecReload=-/bin/false
|
||||
EOF
|
||||
|
||||
systemctl daemon-reload
|
||||
systemctl start $SERVICE_NAME
|
||||
systemctl status $SERVICE_NAME
|
||||
systemctl reload $SERVICE_NAME
|
||||
systemctl status $SERVICE_NAME
|
||||
systemctl stop $SERVICE_NAME
|
||||
|
||||
systemd-analyze log-level info
|
||||
|
||||
echo OK > /testok
|
||||
|
||||
exit 0
|
||||
Reference in New Issue
Block a user