fuzz.sh 682 B

1234567891011121314151617181920
  1. #!/bin/bash -eux
  2. ROOT_DIR=$(dirname $0)/../../
  3. INCLUDE_DIR=$ROOT_DIR/src/
  4. FUZZING_DIR=$ROOT_DIR/fuzzing/
  5. JSON_CORPUS_DIR=$FUZZING_DIR/my_corpus
  6. JSON_SEED_CORPUS_DIR=$FUZZING_DIR/seed_corpus
  7. CXX="clang++-$CLANG"
  8. CXXFLAGS="-g -fprofile-instr-generate -fcoverage-mapping -fsanitize=address,fuzzer"
  9. $CXX $CXXFLAGS -o json_fuzzer -I$INCLUDE_DIR $FUZZING_DIR/fuzzer.cpp
  10. export ASAN_OPTIONS="detect_leaks=0"
  11. export LLVM_PROFILE_FILE="json_fuzzer.profraw"
  12. ./json_fuzzer "$JSON_CORPUS_DIR" "$JSON_SEED_CORPUS_DIR" -max_total_time=60
  13. llvm-profdata-$CLANG merge -sparse json_fuzzer.profraw -o json_fuzzer.profdata
  14. llvm-cov-$CLANG report ./json_fuzzer -instr-profile=json_fuzzer.profdata