systemd/0345-test-rename-TEST-07-IS...

141 lines
3.8 KiB
Diff

From b186204ab9a7eb51fc2b2bbaa99d2865198e15e6 Mon Sep 17 00:00:00 2001
From: Frantisek Sumsal <frantisek@sumsal.cz>
Date: Wed, 10 May 2023 12:38:57 +0200
Subject: [PATCH] test: rename TEST-07-ISSUE-1981 to TEST-07-PID1
(cherry picked from commit 09c033a2763fe7f0e625901f199e646b3f132e84)
Related: #2213521
---
.../Makefile | 0
.../test.sh | 5 +-
test/units/testsuite-07.issue-1981.sh | 47 +++++++++++++++++++
test/units/testsuite-07.sh | 33 ++-----------
4 files changed, 52 insertions(+), 33 deletions(-)
rename test/{TEST-07-ISSUE-1981 => TEST-07-PID1}/Makefile (100%)
rename test/{TEST-07-ISSUE-1981 => TEST-07-PID1}/test.sh (62%)
create mode 100755 test/units/testsuite-07.issue-1981.sh
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 5bc41386b5..2b9dd418b8 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 0000000000..6eb802c93f
--- /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 <<EOF
+[Timer]
+OnBootSec=10s
+OnUnitInactiveSec=1h
+EOF
+
+systemctl unmask my.timer
+systemctl start my.timer
+
+mkdir -p /run/systemd/system/my.timer.d/
+cat >/run/systemd/system/my.timer.d/override.conf <<EOF
+[Timer]
+OnBootSec=10s
+OnUnitInactiveSec=1h
+EOF
+
+systemctl daemon-reload
+systemctl mask my.timer
diff --git a/test/units/testsuite-07.sh b/test/units/testsuite-07.sh
index 95ebe3876f..13c767e490 100755
--- a/test/units/testsuite-07.sh
+++ b/test/units/testsuite-07.sh
@@ -5,35 +5,10 @@ set -o pipefail
: >/failed
-cat >/lib/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 >/lib/systemd/system/my.timer <<EOF
-[Timer]
-OnBootSec=10s
-OnUnitInactiveSec=1h
-EOF
-
-systemctl unmask my.timer
-
-systemctl start my.timer
-
-mkdir -p /etc/systemd/system/my.timer.d/
-cat >/etc/systemd/system/my.timer.d/override.conf <<EOF
-[Timer]
-OnBootSec=10s
-OnUnitInactiveSec=1h
-EOF
-
-systemctl daemon-reload
-
-systemctl mask my.timer
+for script in "${0%.sh}".*.sh; do
+ echo "Running $script"
+ "./$script"
+done
touch /testok
rm /failed