summaryrefslogtreecommitdiffstats
path: root/test/TEST-69-SHUTDOWN
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:49:52 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:49:52 +0000
commit55944e5e40b1be2afc4855d8d2baf4b73d1876b5 (patch)
tree33f869f55a1b149e9b7c2b7e201867ca5dd52992 /test/TEST-69-SHUTDOWN
parentInitial commit. (diff)
downloadsystemd-55944e5e40b1be2afc4855d8d2baf4b73d1876b5.tar.xz
systemd-55944e5e40b1be2afc4855d8d2baf4b73d1876b5.zip
Adding upstream version 255.4.upstream/255.4
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/TEST-69-SHUTDOWN')
l---------test/TEST-69-SHUTDOWN/Makefile1
-rwxr-xr-xtest/TEST-69-SHUTDOWN/test.sh45
2 files changed, 46 insertions, 0 deletions
diff --git a/test/TEST-69-SHUTDOWN/Makefile b/test/TEST-69-SHUTDOWN/Makefile
new file mode 120000
index 0000000..e9f93b1
--- /dev/null
+++ b/test/TEST-69-SHUTDOWN/Makefile
@@ -0,0 +1 @@
+../TEST-01-BASIC/Makefile \ No newline at end of file
diff --git a/test/TEST-69-SHUTDOWN/test.sh b/test/TEST-69-SHUTDOWN/test.sh
new file mode 100755
index 0000000..8fdbaf8
--- /dev/null
+++ b/test/TEST-69-SHUTDOWN/test.sh
@@ -0,0 +1,45 @@
+#!/usr/bin/env bash
+# SPDX-License-Identifier: LGPL-2.1-or-later
+set -e
+
+TEST_DESCRIPTION="shutdown testing"
+IMAGE_NAME="shutdown"
+TEST_NO_QEMU=yes
+# Prevent shutdown in test suite, the expect script does that manually.
+TEST_SKIP_SHUTDOWN=yes
+
+# shellcheck source=test/test-functions
+. "${TEST_BASE_DIR:?}/test-functions"
+
+_ORIG_NSPAWN="${SYSTEMD_NSPAWN:?}"
+SYSTEMD_NSPAWN="${STATEDIR:?}/run-nspawn"
+
+setup_nspawn_root_hook() {
+ cat >"${STATEDIR:?}/run-nspawn" <<EOF
+#!/bin/bash
+exec "${TEST_BASE_DIR:?}/test-shutdown.py" -v -- "$_ORIG_NSPAWN" "\$@"
+exit 1
+EOF
+ chmod 755 "${STATEDIR:?}"/run-nspawn
+}
+
+test_append_files() {
+ local workspace="${1:?}"
+
+ # Shorten the service stop/abort timeouts to let systemd SIGKILL stubborn
+ # processes as soon as possible, as we don't really care about them in this
+ # particular test
+ mkdir -p "$workspace/etc/systemd/system.conf.d"
+ cat >"$workspace/etc/systemd/system.conf.d/99-timeout.conf" <<EOF
+[Manager]
+DefaultTimeoutStopSec=30s
+DefaultTimeoutAbortSec=30s
+EOF
+
+ inst /usr/bin/screen
+ echo "PS1='screen\$WINDOW # '" >>"$workspace/root/.bashrc"
+ echo 'startup_message off' >"$workspace/etc/screenrc"
+ echo 'bell_msg ""' >>"$workspace/etc/screenrc"
+}
+
+do_test "$@"