summaryrefslogtreecommitdiffstats
path: root/test/TEST-52-HONORFIRSTSHUTDOWN/test.sh
blob: 6b77693346d8176bd60d433d6f17cf2818636ff3 (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
#!/bin/bash
set -e

TEST_REQUIRE_INSTALL_TESTS=0
TEST_DESCRIPTION="testing honor first shutdown"
TEST_NO_QEMU=1

# shellcheck source=test/test-functions
. "${TEST_BASE_DIR:?}/test-functions"

# Using timeout because if the test fails it can loop.
# The reason is because the poweroff executed by end.service
# could turn into a reboot if the test fails.
NSPAWN_TIMEOUT=60

# Remove this file if it exists. This is used along with
# the make target "finish". Since concrete confirmation is
# only found from the console during the poweroff.
rm -f /tmp/honorfirstshutdown.log >/dev/null

check_result_nspawn_hook() {
    grep -q "Shutdown is already active. Skipping emergency action request" /tmp/honorfirstshutdown.log
}

# Note: don't use a pipe in the following expression, as it breaks the trap
#       handlers we have defined in test/test-functions.
do_test "$@" > >(tee /tmp/honorfirstshutdown.log)