diff --git a/scripts/fuzz.sh b/scripts/fuzz.sh new file mode 100755 index 0000000..e6550c3 --- /dev/null +++ b/scripts/fuzz.sh @@ -0,0 +1,22 @@ +#!/bin/bash +CWD="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" +PROJECT_DIR=$(realpath "${CWD}/../") + +in=$(mktemp -u) || exit $? +out=$(mktemp -u) || exit $? + +mkfifo ${in} ${out} || exit $? + +if [[ -z "$FUZZER_TIMEOUT_S" ]]; then + FUZZER_TIMEOUT_S=600 +fi + + +${PROJECT_DIR}/scripts/atom.py <${in} >${out} \ + | ${PROJECT_DIR}/build/fuzz/atom/parser/fuzzer -max_total_time=$FUZZER_TIMEOUT_S >${in} <${out} \ + ${PROJECT_DIR}/build/atom_parser_fuzzer_corpus \ + -only_ascii=1 \ + -timeout=2 \ + -max_total_time=$FUZZER_TIMEOUT_S \ + -timeout_exitcode=0 \ + "$@"