mirror of
https://github.com/systemd/systemd.git
synced 2024-10-30 14:55:37 +03:00
c84d1c9822
Let's keep the debug logs in the journal, while logging only
testsute-*.sh stdout/stderr to the console (ba7abf7
). This should make
the test output log a bit more readable and potentially the tests itself
a bit faster by avoiding console oversaturation.
Also, it should significantly reduce the size of artifacts kept by CIs.
64 lines
1.6 KiB
Bash
Executable File
64 lines
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
set -eux
|
|
set -o pipefail
|
|
|
|
systemd-analyze log-level debug
|
|
|
|
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" && { echo 'unexpected success'; exit 1; }
|
|
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" && { echo 'unexpected success'; exit 1; }
|
|
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
|