summaryrefslogtreecommitdiffstats
path: root/test/TEST-02-UNITTESTS
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:49:52 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-10 20:49:52 +0000
commit55944e5e40b1be2afc4855d8d2baf4b73d1876b5 (patch)
tree33f869f55a1b149e9b7c2b7e201867ca5dd52992 /test/TEST-02-UNITTESTS
parentInitial commit. (diff)
downloadsystemd-55944e5e40b1be2afc4855d8d2baf4b73d1876b5.tar.xz
systemd-55944e5e40b1be2afc4855d8d2baf4b73d1876b5.zip
Adding upstream version 255.4.upstream/255.4
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/TEST-02-UNITTESTS')
l---------test/TEST-02-UNITTESTS/Makefile1
-rwxr-xr-xtest/TEST-02-UNITTESTS/test.sh48
2 files changed, 49 insertions, 0 deletions
diff --git a/test/TEST-02-UNITTESTS/Makefile b/test/TEST-02-UNITTESTS/Makefile
new file mode 120000
index 0000000..e9f93b1
--- /dev/null
+++ b/test/TEST-02-UNITTESTS/Makefile
@@ -0,0 +1 @@
+../TEST-01-BASIC/Makefile \ No newline at end of file
diff --git a/test/TEST-02-UNITTESTS/test.sh b/test/TEST-02-UNITTESTS/test.sh
new file mode 100755
index 0000000..f165c99
--- /dev/null
+++ b/test/TEST-02-UNITTESTS/test.sh
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+# SPDX-License-Identifier: LGPL-2.1-or-later
+set -e
+
+# shellcheck source=test/test-functions
+. "${TEST_BASE_DIR:?}/test-functions"
+
+TEST_DESCRIPTION="Run unit tests under containers"
+RUN_IN_UNPRIVILEGED_CONTAINER=yes
+# Some tests make collecting coverage impossible (like test-mount-util, which
+# remounts the whole / as read-only), so let's ignore the gcov errors in such
+# case
+IGNORE_MISSING_COVERAGE=yes
+
+# Embed some newlines in the kernel command line to stress our test suite
+# Also, pass $TEST_PREFER_NSPAWN to the VM/container if set
+#
+# shellcheck disable=SC2015
+KERNEL_APPEND="
+$(get_bool "${TEST_PREFER_NSPAWN:-0}" && echo "systemd.setenv=TEST_PREFER_NSPAWN=1" || :)
+
+frobnicate!
+
+systemd.setenv=TEST_CMDLINE_NEWLINE=foo
+systemd.setenv=TEST_CMDLINE_NEWLINE=bar
+
+$KERNEL_APPEND
+"
+# Override $TEST_PREFER_NSPAWN if it was set to always run both the QEMU and
+# the nspawn part of the test
+TEST_PREFER_NSPAWN=no
+
+test_append_files() {
+ if get_bool "$LOOKS_LIKE_SUSE"; then
+ dinfo "Install the unit test binaries needed by the TEST-02-UNITTESTS at runtime"
+ inst_recursive "${SOURCE_DIR}/unit-tests"
+ fi
+}
+
+check_result_nspawn() {
+ check_result_nspawn_unittests "${1}"
+}
+
+check_result_qemu() {
+ check_result_qemu_unittests
+}
+
+do_test "$@"