summaryrefslogtreecommitdiffstats
path: root/test/TEST-21-DFUZZER
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:35:18 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 15:35:18 +0000
commitb750101eb236130cf056c675997decbac904cc49 (patch)
treea5df1a06754bdd014cb975c051c83b01c9a97532 /test/TEST-21-DFUZZER
parentInitial commit. (diff)
downloadsystemd-b750101eb236130cf056c675997decbac904cc49.tar.xz
systemd-b750101eb236130cf056c675997decbac904cc49.zip
Adding upstream version 252.22.upstream/252.22upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test/TEST-21-DFUZZER')
l---------test/TEST-21-DFUZZER/Makefile1
-rwxr-xr-xtest/TEST-21-DFUZZER/test.sh37
2 files changed, 38 insertions, 0 deletions
diff --git a/test/TEST-21-DFUZZER/Makefile b/test/TEST-21-DFUZZER/Makefile
new file mode 120000
index 0000000..e9f93b1
--- /dev/null
+++ b/test/TEST-21-DFUZZER/Makefile
@@ -0,0 +1 @@
+../TEST-01-BASIC/Makefile \ No newline at end of file
diff --git a/test/TEST-21-DFUZZER/test.sh b/test/TEST-21-DFUZZER/test.sh
new file mode 100755
index 0000000..4b1919b
--- /dev/null
+++ b/test/TEST-21-DFUZZER/test.sh
@@ -0,0 +1,37 @@
+#!/usr/bin/env bash
+# SPDX-License-Identifier: LGPL-2.1-or-later
+set -e
+
+TEST_DESCRIPTION="Fuzz our D-Bus interfaces with dfuzzer"
+TEST_SUPPORTING_SERVICES_SHOULD_BE_MASKED=0
+QEMU_TIMEOUT="${QEMU_TIMEOUT:-1800}"
+IMAGE_NAME=dfuzzer
+TEST_FORCE_NEWIMAGE=1
+
+# shellcheck source=test/test-functions
+. "${TEST_BASE_DIR:?}/test-functions"
+
+# Run the test either only under nspawn (if $TEST_PREFER_NSPAWN is set to true)
+# or only uder qemu otherwise, to avoid running the test twice on machines where
+# we can do both.
+if ! get_bool "${TEST_PREFER_NSPAWN:=}"; then
+ TEST_NO_NSPAWN=1
+fi
+
+test_require_bin dfuzzer
+
+if ! get_bool "$IS_BUILT_WITH_ASAN"; then
+ echo "systemd is built without ASan, skipping..."
+ exit 0
+fi
+
+test_append_files() {
+ local workspace="${1:?}"
+
+ image_install dfuzzer /etc/dfuzzer.conf
+
+ # Enable all systemd-related services, including the D-Bus ones
+ "$SYSTEMCTL" --root="${workspace:?}" preset-all
+}
+
+do_test "$@"