test_fuzzer.sh 703 B

123456789101112131415161718192021222324252627282930313233
  1. #!/usr/bin/env bash
  2. set -e
  3. export CC=${CC:-cc}
  4. BROTLI="$( cd "$( dirname "${BASH_SOURCE[0]}" )/../.." && pwd )"
  5. SRC=$BROTLI/c
  6. cd $BROTLI
  7. rm -rf bin
  8. mkdir bin
  9. cd bin
  10. cmake $BROTLI -DCMAKE_C_COMPILER="$CC" \
  11. -DBUILD_TESTING=OFF -DBUILD_SHARED_LIBS=OFF -DENABLE_SANITIZER=address
  12. make -j$(nproc) brotlidec
  13. ${CC} -o run_decode_fuzzer -std=c99 -fsanitize=address -I$SRC/include \
  14. $SRC/fuzz/decode_fuzzer.c $SRC/fuzz/run_decode_fuzzer.c \
  15. ./libbrotlidec.a ./libbrotlicommon.a
  16. mkdir decode_corpora
  17. unzip $BROTLI/java/org/brotli/integration/fuzz_data.zip -d decode_corpora
  18. for f in `ls decode_corpora`
  19. do
  20. echo "Testing $f"
  21. ./run_decode_fuzzer decode_corpora/$f
  22. done
  23. cd $BROTLI
  24. rm -rf bin