Skip to content

Commit b610eba

Browse files
committed
gitlab-ci.yml: Add fuzzer tests
So far we neither compile-tested nor run any of the new fuzzers in our CI, which led to some build failures of the fuzzer code in the past weeks. To avoid this problem, add a job to compile the fuzzer code and run some loops (which likely don't find any new bugs via fuzzing, but at least we know that the code can still be run). A nice side-effect of this test is that the leak tests are enabled here, so we should now notice some of the memory leaks in our code base earlier. Message-Id: <[email protected]> Reviewed-by: Alexander Bulekov <[email protected]> Signed-off-by: Thomas Huth <[email protected]>
1 parent ab2d185 commit b610eba

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

.gitlab-ci.yml

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,9 +161,27 @@ build-clang:
161161
IMAGE: fedora
162162
CONFIGURE_ARGS: --cc=clang --cxx=clang++
163163
TARGETS: alpha-softmmu arm-softmmu m68k-softmmu mips64-softmmu
164-
ppc-softmmu s390x-softmmu x86_64-softmmu arm-linux-user
164+
ppc-softmmu s390x-softmmu arm-linux-user
165165
MAKE_CHECK_ARGS: check
166166

167+
build-fuzzer:
168+
<<: *native_build_job_definition
169+
variables:
170+
IMAGE: fedora
171+
script:
172+
- mkdir build
173+
- cd build
174+
- ../configure --cc=clang --cxx=clang++ --enable-fuzzing
175+
--enable-sanitizers --target-list=x86_64-softmmu
176+
- make -j"$JOBS" all check-build x86_64-softmmu/fuzz
177+
- make check
178+
- for fuzzer in i440fx-qos-fork-fuzz i440fx-qos-noreset-fuzz
179+
i440fx-qtest-reboot-fuzz virtio-scsi-flags-fuzz virtio-scsi-fuzz ; do
180+
echo Testing ${fuzzer} ... ;
181+
x86_64-softmmu/qemu-fuzz-x86_64 --fuzz-target=${fuzzer} -runs=1000
182+
|| exit 1 ;
183+
done
184+
167185
build-tci:
168186
<<: *native_build_job_definition
169187
variables:

0 commit comments

Comments
 (0)