Files
systemd/test/TEST-69-SHUTDOWN/test.sh
T
Ludwig Nussel 48f3bc5cc4 test: add shutdown test
Wraps nspawn to be able to use pexpect. The test logs in on the console
and runs screen. In one screen window it types in shutdown commands and
checks whether a wall message was sent to the other.
2022-01-25 17:43:13 +01:00

34 lines
847 B
Bash
Executable File

#!/usr/bin/env bash
# SPDX-License-Identifier: LGPL-2.1-or-later
set -e
TEST_DESCRIPTION="shutdown testing"
IMAGE_NAME="shutdown"
TEST_NO_QEMU=1
# 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 -- "$_ORIG_NSPAWN" "\$@"
exit 1
EOF
chmod 755 "$STATEDIR"/run-nspawn
}
test_append_files() {
# prevent shutdown in test suite, the expect script does that manually.
rm "$1"/usr/lib/systemd/tests/testdata/units/end.service
inst /usr/bin/screen
echo "PS1='screen\$WINDOW # '" > "$1"/etc/bash.bashrc
echo 'startup_message off' > "$1"/etc/screenrc
echo 'bell_msg ""' >> "$1"/etc/screenrc
}
do_test "$@"