diff --git a/test/TEST-07-ISSUE-1981/Makefile b/test/TEST-07-PID1/Makefile similarity index 100% rename from test/TEST-07-ISSUE-1981/Makefile rename to test/TEST-07-PID1/Makefile diff --git a/test/TEST-07-ISSUE-1981/test.sh b/test/TEST-07-PID1/test.sh similarity index 62% rename from test/TEST-07-ISSUE-1981/test.sh rename to test/TEST-07-PID1/test.sh index 5bc41386b56..2b9dd418b82 100755 --- a/test/TEST-07-ISSUE-1981/test.sh +++ b/test/TEST-07-PID1/test.sh @@ -2,12 +2,9 @@ # SPDX-License-Identifier: LGPL-2.1-or-later set -e -TEST_DESCRIPTION="https://github.com/systemd/systemd/issues/1981" -TEST_NO_QEMU=1 +TEST_DESCRIPTION="Tests for core PID1 functionality" # shellcheck source=test/test-functions . "${TEST_BASE_DIR:?}/test-functions" -NSPAWN_TIMEOUT=30 - do_test "$@" diff --git a/test/units/testsuite-07.issue-1981.sh b/test/units/testsuite-07.issue-1981.sh new file mode 100755 index 00000000000..6eb802c93fb --- /dev/null +++ b/test/units/testsuite-07.issue-1981.sh @@ -0,0 +1,47 @@ +#!/usr/bin/env bash +# SPDX-License-Identifier: LGPL-2.1-or-later +set -eux +set -o pipefail + +# Segmentation fault in timer_enter_waiting while masking a unit +# Issue: https://github.com/systemd/systemd/issues/1981 + +at_exit() { + set +e + + systemctl stop my.timer my.service + rm -f /run/systemd/system/my.{service,timer} + systemctl daemon-reload +} + +trap at_exit EXIT + +mkdir -p /run/systemd/system + +cat >/run/systemd/system/my.service <<\EOF +[Service] +Type=oneshot +ExecStartPre=sh -c 'test "$TRIGGER_UNIT" = my.timer' +ExecStartPre=sh -c 'test -n "$TRIGGER_TIMER_REALTIME_USEC"' +ExecStartPre=sh -c 'test -n "$TRIGGER_TIMER_MONOTONIC_USEC"' +ExecStart=/bin/echo Timer runs me +EOF + +cat >/run/systemd/system/my.timer </run/systemd/system/my.timer.d/override.conf </failed -cat >/lib/systemd/system/my.service </lib/systemd/system/my.timer </etc/systemd/system/my.timer.d/override.conf <