]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test: merge TEST-49-RUNTIME-BIND-PATHS into TEST-23-UNIT-FILE
authorFrantisek Sumsal <frantisek@sumsal.cz>
Tue, 16 May 2023 18:31:49 +0000 (20:31 +0200)
committerFrantisek Sumsal <frantisek@sumsal.cz>
Tue, 16 May 2023 21:07:45 +0000 (23:07 +0200)
test/TEST-49-RUNTIME-BIND-PATHS/Makefile [deleted symlink]
test/TEST-49-RUNTIME-BIND-PATHS/test.sh [deleted file]
test/testsuite-23.units/testsuite-23-namespaced.service [moved from test/units/testsuite-49-namespaced.service with 60% similarity]
test/testsuite-23.units/testsuite-23-non-namespaced.service [moved from test/units/testsuite-49-non-namespaced.service with 62% similarity]
test/units/testsuite-23.runtime-bind-paths.sh [new file with mode: 0755]
test/units/testsuite-49.service [deleted file]
test/units/testsuite-49.sh [deleted file]

diff --git a/test/TEST-49-RUNTIME-BIND-PATHS/Makefile b/test/TEST-49-RUNTIME-BIND-PATHS/Makefile
deleted file mode 120000 (symlink)
index e9f93b1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-../TEST-01-BASIC/Makefile
\ No newline at end of file
diff --git a/test/TEST-49-RUNTIME-BIND-PATHS/test.sh b/test/TEST-49-RUNTIME-BIND-PATHS/test.sh
deleted file mode 100755 (executable)
index c9f3345..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/usr/bin/env bash
-# SPDX-License-Identifier: LGPL-2.1-or-later
-set -e
-
-TEST_DESCRIPTION="test adding new BindPaths while unit is already running"
-
-# shellcheck source=test/test-functions
-. "${TEST_BASE_DIR:?}/test-functions"
-
-do_test "$@"
similarity index 60%
rename from test/units/testsuite-49-namespaced.service
rename to test/testsuite-23.units/testsuite-23-namespaced.service
index 93abc31cdc36bb67be931f16c8534db034853946..5f30b55e00e4c6fbbd1607ddae7c26cdde019355 100644 (file)
@@ -7,7 +7,7 @@ Type=notify
 RemainAfterExit=yes
 MountAPIVFS=yes
 PrivateTmp=yes
-BindPaths=/run/testservice-49-fixed:/tmp/testfile_fixed
+BindPaths=/run/testsuite-23-marker-fixed:/tmp/testfile-marker-fixed
 InaccessiblePaths=/run/inaccessible
-ExecStartPre=grep -q -F MARKER_FIXED /tmp/testfile_fixed
-ExecStart=/bin/sh -c 'systemd-notify --ready; while ! grep -q -F MARKER_RUNTIME /tmp/testfile_runtime; do sleep 0.1; done; test ! -f /run/inaccessible/testfile_fixed'
+ExecStartPre=grep -q -F MARKER_FIXED /tmp/testfile-marker-fixed
+ExecStart=/bin/sh -c 'systemd-notify --ready; while ! grep -q -F MARKER_RUNTIME /tmp/testfile-marker-runtime; do sleep 0.1; done; test ! -f /run/inaccessible/testfile-marker-fixed'
similarity index 62%
rename from test/units/testsuite-49-non-namespaced.service
rename to test/testsuite-23.units/testsuite-23-non-namespaced.service
index db4e8d975fd703ab5a087a4f8f7f771deb047799..058ecb4769597a67225d516a7f3d20d33a386bc2 100644 (file)
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: LGPL-2.1-or-later
 [Service]
-RuntimeMaxSec=10
+RuntimeMaxSec=5
 Type=notify
 RemainAfterExit=yes
-ExecStart=/bin/sh -c 'systemd-notify --ready; while ! grep -q -F MARKER_RUNTIME /tmp/testfile_runtime; do sleep 0.1; done; exit 0'
+ExecStart=/bin/sh -c 'systemd-notify --ready; while ! grep -q -F MARKER_RUNTIME /tmp/testfile-marker-runtime; do sleep 0.1; done; exit 0'
diff --git a/test/units/testsuite-23.runtime-bind-paths.sh b/test/units/testsuite-23.runtime-bind-paths.sh
new file mode 100755 (executable)
index 0000000..c63586e
--- /dev/null
@@ -0,0 +1,39 @@
+#!/usr/bin/env bash
+# SPDX-License-Identifier: LGPL-2.1-or-later
+# shellcheck disable=SC2016
+set -eux
+set -o pipefail
+
+# Test adding new BindPaths while unit is already running
+
+at_exit() {
+    set +e
+
+    rm -f /run/testsuite-23-marker-{fixed,runtime}
+    rm -fr /run/inaccessible
+}
+
+trap at_exit EXIT
+
+echo "MARKER_FIXED" >/run/testsuite-23-marker-fixed
+mkdir /run/inaccessible
+
+systemctl start testsuite-23-namespaced.service
+
+# Ensure that inaccessible paths aren't bypassed by the runtime setup,
+(! systemctl bind --mkdir testsuite-23-namespaced.service /run/testsuite-23-marker-fixed /run/inaccessible/testfile-marker-fixed)
+
+echo "MARKER_RUNTIME" >/run/testsuite-23-marker-runtime
+
+systemctl bind --mkdir testsuite-23-namespaced.service /run/testsuite-23-marker-runtime /tmp/testfile-marker-runtime
+
+timeout 10 sh -xec 'while [[ "$(systemctl show -P SubState testsuite-23-namespaced.service)" == running ]]; do sleep .5; done'
+systemctl is-active testsuite-23-namespaced.service
+
+# Now test that systemctl bind fails when attempted on a non-namespaced unit
+systemctl start testsuite-23-non-namespaced.service
+
+(! systemctl bind --mkdir testsuite-49-non-namespaced.service /run/testsuite-23-marker-runtime /tmp/testfile-marker-runtime)
+
+timeout 10 sh -xec 'while [[ "$(systemctl show -P SubState testsuite-23-non-namespaced.service)" == running ]]; do sleep .5; done'
+(! systemctl is-active testsuite-23-non-namespaced.service)
diff --git a/test/units/testsuite-49.service b/test/units/testsuite-49.service
deleted file mode 100644 (file)
index bd4e155..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-# SPDX-License-Identifier: LGPL-2.1-or-later
-[Unit]
-Description=TEST-49-RUNTIME-BIND-PATHS
-
-[Service]
-ExecStartPre=rm -f /failed /testok
-ExecStart=/usr/lib/systemd/tests/testdata/units/%N.sh
-Type=oneshot
diff --git a/test/units/testsuite-49.sh b/test/units/testsuite-49.sh
deleted file mode 100755 (executable)
index 1fa9725..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/env bash
-# SPDX-License-Identifier: LGPL-2.1-or-later
-set -eux
-
-echo "MARKER_FIXED" >/run/testservice-49-fixed
-mkdir -p /run/inaccessible
-
-systemctl start testsuite-49-namespaced.service
-
-# Ensure that inaccessible paths aren't bypassed by the runtime setup
-set +e
-systemctl bind --mkdir testsuite-49-namespaced.service /run/testservice-49-fixed /run/inaccessible/testfile_fixed && exit 1
-set -e
-
-echo "MARKER_RUNTIME" >/run/testservice-49-runtime
-
-systemctl bind --mkdir testsuite-49-namespaced.service /run/testservice-49-runtime /tmp/testfile_runtime
-
-while systemctl show -P SubState testsuite-49-namespaced.service | grep -q running
-do
-    sleep 0.1
-done
-
-systemctl is-active testsuite-49-namespaced.service
-
-# Now test that systemctl bind fails when attempted on a non-namespaced unit
-systemctl start testsuite-49-non-namespaced.service
-
-set +e
-systemctl bind --mkdir testsuite-49-non-namespaced.service /run/testservice-49-runtime /tmp/testfile_runtime && exit 1
-set -e
-
-while systemctl show -P SubState testsuite-49-non-namespaced.service | grep -q running
-do
-    sleep 0.1
-done
-
-set +e
-systemctl is-active testsuite-49-non-namespaced.service && exit 1
-set -e
-
-echo OK >/testok
-
-exit 0