]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
test-loop-block: run in qemu 19969/head
authorLuca Boccassi <bluca@debian.org>
Thu, 17 Jun 2021 21:53:16 +0000 (22:53 +0100)
committerLuca Boccassi <luca.boccassi@microsoft.com>
Mon, 21 Jun 2021 19:55:19 +0000 (20:55 +0100)
test-loop-block needs to run in qemu, so we are currently not
testing it in the CI. Run it by itself in a separate job from
TEST-02-UNITTESTS to avoid slowing that suite down.

Fixes https://github.com/systemd/systemd/issues/19966

Disable it in the bionic-* CI for now, as it's affected by
the same uevent ordering issue as TEST-50-DISSECT which makes
it flaky.

test/TEST-61-UNITTESTS-QEMU/Makefile [new symlink]
test/TEST-61-UNITTESTS-QEMU/deny-list-ubuntu-ci [new file with mode: 0644]
test/TEST-61-UNITTESTS-QEMU/test.sh [new file with mode: 0755]
test/units/testsuite-61.service [new file with mode: 0644]
test/units/testsuite-61.sh [new file with mode: 0755]

diff --git a/test/TEST-61-UNITTESTS-QEMU/Makefile b/test/TEST-61-UNITTESTS-QEMU/Makefile
new file mode 120000 (symlink)
index 0000000..e9f93b1
--- /dev/null
@@ -0,0 +1 @@
+../TEST-01-BASIC/Makefile
\ No newline at end of file
diff --git a/test/TEST-61-UNITTESTS-QEMU/deny-list-ubuntu-ci b/test/TEST-61-UNITTESTS-QEMU/deny-list-ubuntu-ci
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/test/TEST-61-UNITTESTS-QEMU/test.sh b/test/TEST-61-UNITTESTS-QEMU/test.sh
new file mode 100755 (executable)
index 0000000..0f793bb
--- /dev/null
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+set -e
+
+TEST_DESCRIPTION="Run unit tests under qemu"
+# this subset of unit tests requires qemu, so they are ran here to avoid slowing down TEST-02
+TEST_NO_NSPAWN=1
+
+# embed some newlines in the kernel command line to stress our test suite
+KERNEL_APPEND="
+
+frobnicate!
+
+$KERNEL_APPEND
+"
+
+# shellcheck source=test/test-functions
+. "${TEST_BASE_DIR:?}/test-functions"
+
+check_result_nspawn() {
+    check_result_nspawn_unittests "${1}"
+}
+
+check_result_qemu() {
+    check_result_qemu_unittests
+}
+
+do_test "$@"
diff --git a/test/units/testsuite-61.service b/test/units/testsuite-61.service
new file mode 100644 (file)
index 0000000..908ff7e
--- /dev/null
@@ -0,0 +1,7 @@
+[Unit]
+Description=TEST-61-UNITTESTS-QEMU
+
+[Service]
+ExecStartPre=rm -f /failed /testok
+ExecStart=/usr/lib/systemd/tests/testdata/units/%N.sh
+Type=oneshot
diff --git a/test/units/testsuite-61.sh b/test/units/testsuite-61.sh
new file mode 100755 (executable)
index 0000000..0810de2
--- /dev/null
@@ -0,0 +1,8 @@
+#!/usr/bin/env bash
+set -eux
+set -o pipefail
+
+TESTS_GLOB="test-loop-block"
+. $(dirname $0)/testsuite-02.sh
+
+exit 0