mirror of
https://github.com/morgan9e/systemd
synced 2026-04-14 08:25:20 +09:00
Merge pull request #23834 from mrc0mmand/dfuzzer-in-a-container
A couple of tweaks to allow running TEST-21-DFUZZER in a container
This commit is contained in:
@@ -3,7 +3,6 @@
|
||||
set -e
|
||||
|
||||
TEST_DESCRIPTION="Fuzz our D-Bus interfaces with dfuzzer"
|
||||
TEST_NO_NSPAWN=1
|
||||
TEST_SUPPORTING_SERVICES_SHOULD_BE_MASKED=0
|
||||
QEMU_TIMEOUT="${QEMU_TIMEOUT:-1800}"
|
||||
IMAGE_NAME=dfuzzer
|
||||
@@ -12,6 +11,13 @@ 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
|
||||
|
||||
command -v dfuzzer >/dev/null || exit 0
|
||||
|
||||
if ! get_bool "$IS_BUILT_WITH_ASAN"; then
|
||||
|
||||
@@ -15,7 +15,7 @@ at_exit() {
|
||||
# from the queue
|
||||
if [[ $SHUTDOWN_AT_EXIT -ne 0 ]] && ! systemctl poweroff; then
|
||||
# PID1 is down let's try to save the journal
|
||||
journalctl --sync || : # journal can be down as well so let's ignore exit codes here
|
||||
journalctl --sync # journal can be down as well so let's ignore exit codes here
|
||||
systemctl -ff poweroff # sync() and reboot(RB_POWER_OFF)
|
||||
fi
|
||||
}
|
||||
@@ -33,17 +33,31 @@ BUS_LIST=(
|
||||
org.freedesktop.locale1
|
||||
org.freedesktop.login1
|
||||
org.freedesktop.machine1
|
||||
org.freedesktop.network1
|
||||
org.freedesktop.portable1
|
||||
org.freedesktop.resolve1
|
||||
org.freedesktop.systemd1
|
||||
org.freedesktop.timedate1
|
||||
org.freedesktop.timesync1
|
||||
)
|
||||
|
||||
# systemd-oomd requires PSI
|
||||
if tail -n +1 /proc/pressure/{cpu,io,memory}; then
|
||||
BUS_LIST+=(org.freedesktop.oom1)
|
||||
BUS_LIST+=(
|
||||
org.freedesktop.oom1
|
||||
)
|
||||
fi
|
||||
|
||||
# Some services require specific conditions:
|
||||
# - systemd-timesyncd can't run in a container
|
||||
# - systemd-networkd can run in a container if it has CAP_NET_ADMIN capability
|
||||
if ! systemd-detect-virt --container; then
|
||||
BUS_LIST+=(
|
||||
org.freedesktop.network1
|
||||
org.freedesktop.timesync1
|
||||
)
|
||||
elif busctl introspect org.freedesktop.network1 / &>/dev/null; then
|
||||
BUS_LIST+=(
|
||||
org.freedesktop.network1
|
||||
)
|
||||
fi
|
||||
|
||||
SESSION_BUS_LIST=(
|
||||
|
||||
Reference in New Issue
Block a user