]> git.ipfire.org Git - thirdparty/systemd.git/commit
Hook up oss-fuzz test cases as tests
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Fri, 19 Jan 2018 06:54:30 +0000 (17:54 +1100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sat, 27 Jan 2018 08:03:46 +0000 (09:03 +0100)
commitb68dfb9e83dc2d12cf9d8ae5ef3ddaca537a8519
tree85cb8927ca64fa6f09b87cf22e294a9fd9218111
parentd385cd0cc21342aa41f06e0368207d06f21df121
Hook up oss-fuzz test cases as tests

This is a bit painful because a separate build of systemd is necessary. The
tests are guarded by tests!=false and slow-tests==true. Running them is not
slow, but compilation certainly is. If this proves unwieldy, we can add a
separate option controlling those builds later.

The build for each sanitizer has its own directory, and we build all fuzzer
tests there, and then pull them out one-by-one by linking into the target
position as necessary. It would be nicer to just build the desired fuzzer, but
we need to build the whole nested build as one unit.

[I also tried making systemd and nested meson subproject. This would work
nicely, but meson does not allow that because the nested target names are the
same as the outer project names. If that is ever fixed, that would be the way
to go.]

v2:
- make sure things still work if memory sanitizer is not available
v3:
- switch to syntax which works with meson 0.42.1 found in Ubuntu
meson.build
test/fuzz-regressions/meson.build [new file with mode: 0644]
test/meson.build
tools/meson-build.sh [new file with mode: 0755]