From faca95e115d881f766d53b54322703cc456bc3ac Mon Sep 17 00:00:00 2001 From: Frantisek Sumsal Date: Fri, 20 Aug 2021 14:08:18 +0200 Subject: [PATCH] test: make sure test timeout has a higher priority than a pass otherwise we might mark tests where something crashes during shutdown as successful, as happened in one of the recent TEST-01-BASIC runs: ``` testsuite-01.service: About to execute rm -f /failed /testok testsuite-01.service: Forked rm as 606 testsuite-01.service: Executing: rm -f /failed /testoktestsuite-01.service: Changed dead -> start-pre Starting TEST-01-BASIC... ... Child 606 (rm) died (code=exited, status=0/SUCCESS) testsuite-01.service: Child 606 belongs to testsuite-01.service. testsuite-01.service: Control process exited, code=exited, status=0/SUCCESS (success) testsuite-01.service: Got final SIGCHLD for state start-pre. testsuite-01.service: Passing 0 fds to service testsuite-01.service: About to execute sh -e -x -c "systemctl --state=failed --no-legend --no-pager >/failed ; systemctl daemon-reload ; echo OK >/testok" testsuite-01.service: Forked sh as 607 testsuite-01.service: Changed start-pre -> start testsuite-01.service: Executing: sh -e -x -c "systemctl --state=failed --no-legend --no-pager >/failed ; systemctl daemon-reload ; echo OK >/testok"systemd-journald.service: Got notification message from PID 560 (FDSTORE=1)S ... testsuite-01.service: Child 607 belongs to testsuite-01.service. testsuite-01.service: Main process exited, code=exited, status=0/SUCCESS (success) testsuite-01.service: Deactivated successfully. testsuite-01.service: Service will not restart (restart setting) testsuite-01.service: Changed start -> dead testsuite-01.service: Job 207 testsuite-01.service/start finished, result=done [ OK ] Finished TEST-01-BASIC. ... end.service: About to execute /bin/sh -x -c "systemctl poweroff --no-block" end.service: Forked /bin/sh as 623end.service: Executing: /bin/sh -x -c "systemctl poweroff --no-block" ... end.service: Job 213 end.service/start finished, result=canceled Caught , dumped core as pid 624. Freezing execution. CentOS Linux 8 Kernel 4.18.0-305.12.1.el8_4.x86_64 on an x86_64 (ttyS0) H login: qemu-kvm: terminating on signal 15 from pid 80134 (timeout) E: Test timed out after 600s Spawning getter /root/systemd/build/journalctl -o export -D /var/tmp/systemd-test.0UYjAS/root/var/log/journal/ca6031c2491543fe8286c748258df8d1... Finishing after writing 15125 entries Spawning getter /root/systemd/build/journalctl -o export -D /var/tmp/systemd-test.0UYjAS/root/var/log/journal/remote... Finishing after writing 0 entries -rw-r-----. 1 root root 25165824 Aug 20 12:26 /var/tmp/systemd-test.0UYjAS/system.journal TEST-01-BASIC RUN: Basic systemd setup [OK] ... --- test/test-functions | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/test-functions b/test/test-functions index e7656af2833..436d9e0ef33 100644 --- a/test/test-functions +++ b/test/test-functions @@ -1227,6 +1227,9 @@ check_result_common() { setfacl -m "user:${SUDO_USER:?}:r-X" "${TESTDIR:?}/"failed fi ret=1 + elif get_bool "$TIMED_OUT"; then + echo "(timeout)" >"${TESTDIR:?}/failed" + ret=2 elif [ -e "$workspace/testok" ]; then # …/testok always counts (but with lower priority than …/failed) ret=0 @@ -1235,9 +1238,6 @@ check_result_common() { echo "${TESTNAME:?} was skipped:" cat "$workspace/skipped" ret=0 - elif get_bool "$TIMED_OUT"; then - echo "(timeout)" >"${TESTDIR:?}/failed" - ret=2 else echo "(failed; see logs)" >"${TESTDIR:?}/failed" ret=3