cflags: "-O2 -D_FORTIFY_SOURCE=3"
relabel: no
vm: 1
- skip: TEST-21-DFUZZER
- distro: debian
release: testing
sanitizers: ""
cflags: "-Og"
relabel: no
vm: 0
- skip: TEST-21-DFUZZER
- distro: ubuntu
release: noble
sanitizers: ""
cflags: "-Og"
relabel: no
vm: 0
- skip: TEST-21-DFUZZER
- distro: fedora
release: "42"
sanitizers: address,undefined
cflags: "-Og"
relabel: yes
vm: 0
- skip: TEST-21-DFUZZER
- distro: opensuse
release: tumbleweed
sanitizers: ""
cflags: "-Og"
relabel: no
vm: 0
- skip: TEST-21-DFUZZER
- distro: centos
release: "9"
sanitizers: ""
cflags: "-Og"
relabel: yes
vm: 0
- skip: TEST-21-DFUZZER
- distro: centos
release: "10"
sanitizers: ""
cflags: "-Og"
relabel: yes
vm: 0
- skip: TEST-21-DFUZZER
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
sudo --preserve-env mkosi sandbox -- \
env \
TEST_PREFER_QEMU=${{ matrix.vm }} \
- TEST_SKIP=${{ matrix.skip }} \
meson test \
-C build \
--no-rebuild \
"""
)
+ if os.getenv('TEST_RUN_DFUZZER'):
+ dropin += textwrap.dedent(
+ f"""
+ [Service]
+ Environment=TEST_RUN_DFUZZER={os.environ['TEST_RUN_DFUZZER']}
+ """
+ )
+
if os.getenv('TEST_JOURNAL_USE_TMP', '0') == '1':
if statfs(Path('/tmp')) != 'tmpfs' and statfs(Path('/dev/shm')) == 'tmpfs':
tmp = Path('/dev/shm')
exit 77
fi
+if [[ ! -v ASAN_OPTIONS && ! -v UBSAN_OPTIONS && "${TEST_RUN_DFUZZER:-0}" == "0" ]]; then
+ echo "no sanitizer is enabled, skipping. (Hint: set TEST_RUN_DFUZZER=1 to run test forcibly)."
+ exit 77
+fi
+
# Save the end.service state before we start fuzzing, as it might get changed
# on the fly by one of the fuzzers
systemctl list-jobs | grep -F 'end.service' && SHUTDOWN_AT_EXIT=1 || SHUTDOWN_AT_EXIT=0