aboutsummaryrefslogtreecommitdiff
path: root/tests/docker/test-fuzz
blob: 7e506ae1f6e14932a9f11515f0138b664ded23ca (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash -e
#
# Compile and check with oss-fuzz.
#
# Copyright (c) 2023 Linaro Ltd.
#
# Authors:
#  Alex Bennée <alex.bennee@linaro.org>
#
# SPDX-License-Identifier: GPL-2.0-or-later

. common.rc

requires_binary clang

# the build script runs out of $src so we need to copy across
cd "$BUILD_DIR"
cp -a $QEMU_SRC .
cd src
mkdir build-oss-fuzz
export LSAN_OPTIONS=suppressions=scripts/oss-fuzz/lsan_suppressions.txt
env CC="clang" CXX="clang++" CFLAGS="-fsanitize=address" ./scripts/oss-fuzz/build.sh
export ASAN_OPTIONS="fast_unwind_on_malloc=0"
for fuzzer in $(find ./build-oss-fuzz/DEST_DIR/ -executable -type f | grep -v slirp); do
        grep "LLVMFuzzerTestOneInput" ${fuzzer} > /dev/null 2>&1 || continue ;
        echo Testing ${fuzzer} ... ;
        "${fuzzer}" -runs=1 -seed=1 || exit 1 ;
done