summaryrefslogtreecommitdiff
path: root/test/TEST-69-SHUTDOWN/test.sh
blob: dd7b8998b5b65d05bca97802111f4ae2188bc61e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/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() {
    local workspace="${1:?}"
    # prevent shutdown in test suite, the expect script does that manually.
    rm "${workspace:?}/usr/lib/systemd/tests/testdata/units/end.service"
    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 "$@"