xref: /aosp_15_r20/external/brotli/c/fuzz/test_fuzzer.sh (revision f4ee7fba7774faf2a30f13154332c0a06550dbc4)
1*f4ee7fbaSAndroid Build Coastguard Worker#!/usr/bin/env bash
2*f4ee7fbaSAndroid Build Coastguard Workerset -e
3*f4ee7fbaSAndroid Build Coastguard Worker
4*f4ee7fbaSAndroid Build Coastguard Workerexport CC=${CC:-cc}
5*f4ee7fbaSAndroid Build Coastguard Worker
6*f4ee7fbaSAndroid Build Coastguard WorkerBROTLI="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../.." && pwd )"
7*f4ee7fbaSAndroid Build Coastguard WorkerSRC=$BROTLI/c
8*f4ee7fbaSAndroid Build Coastguard Worker
9*f4ee7fbaSAndroid Build Coastguard Workercd $BROTLI
10*f4ee7fbaSAndroid Build Coastguard Worker
11*f4ee7fbaSAndroid Build Coastguard Workerrm -rf bin
12*f4ee7fbaSAndroid Build Coastguard Workermkdir bin
13*f4ee7fbaSAndroid Build Coastguard Workercd bin
14*f4ee7fbaSAndroid Build Coastguard Worker
15*f4ee7fbaSAndroid Build Coastguard Workercmake $BROTLI -DCMAKE_C_COMPILER="$CC" \
16*f4ee7fbaSAndroid Build Coastguard Worker    -DBUILD_TESTING=OFF -DENABLE_SANITIZER=address
17*f4ee7fbaSAndroid Build Coastguard Workermake -j$(nproc) brotlidec-static
18*f4ee7fbaSAndroid Build Coastguard Worker
19*f4ee7fbaSAndroid Build Coastguard Worker${CC} -o run_decode_fuzzer -std=c99 -fsanitize=address -I$SRC/include \
20*f4ee7fbaSAndroid Build Coastguard Worker    $SRC/fuzz/decode_fuzzer.c $SRC/fuzz/run_decode_fuzzer.c \
21*f4ee7fbaSAndroid Build Coastguard Worker    ./libbrotlidec-static.a ./libbrotlicommon-static.a
22*f4ee7fbaSAndroid Build Coastguard Worker
23*f4ee7fbaSAndroid Build Coastguard Workermkdir decode_corpora
24*f4ee7fbaSAndroid Build Coastguard Workerunzip $BROTLI/java/org/brotli/integration/fuzz_data.zip -d decode_corpora
25*f4ee7fbaSAndroid Build Coastguard Worker
26*f4ee7fbaSAndroid Build Coastguard Workerfor f in `ls decode_corpora`
27*f4ee7fbaSAndroid Build Coastguard Workerdo
28*f4ee7fbaSAndroid Build Coastguard Worker echo "Testing $f"
29*f4ee7fbaSAndroid Build Coastguard Worker ./run_decode_fuzzer decode_corpora/$f
30*f4ee7fbaSAndroid Build Coastguard Workerdone
31*f4ee7fbaSAndroid Build Coastguard Worker
32*f4ee7fbaSAndroid Build Coastguard Workercd $BROTLI
33*f4ee7fbaSAndroid Build Coastguard Workerrm -rf bin
34