mirror of
https://github.com/ElementsProject/lightning.git
synced 2024-11-19 18:11:28 +01:00
fa988d2942
The script runs each fuzz target on its seed corpus and prints any failures.
37 lines
741 B
Bash
Executable File
37 lines
741 B
Bash
Executable File
#!/bin/bash -eu
|
|
|
|
# Runs each fuzz target on its seed corpus and prints any failures.
|
|
|
|
readonly FUZZ_DIR=$(dirname "$0")
|
|
readonly TARGETS=$(find "${FUZZ_DIR}" -type f -name "fuzz-*" ! -name "*.*")
|
|
|
|
export UBSAN_OPTIONS="halt_on_error=1:print_stacktrace=1"
|
|
|
|
passes=0
|
|
fails=0
|
|
for t in ${TARGETS}; do
|
|
target_name=$(basename "${t}")
|
|
corpus_dir="${FUZZ_DIR}/corpora/${target_name}/"
|
|
cmd="${t} -runs=0 ${corpus_dir}"
|
|
|
|
echo -n "Checking ${target_name}... "
|
|
if output=$(${cmd} 2>&1); then
|
|
echo "PASS"
|
|
passes=$((passes + 1))
|
|
else
|
|
echo "FAIL"
|
|
echo
|
|
echo "Failing command: ${cmd}"
|
|
echo "Output:"
|
|
echo "${output}"
|
|
echo
|
|
fails=$((fails + 1))
|
|
fi
|
|
done
|
|
|
|
echo
|
|
echo "TOTAL PASSED: ${passes}"
|
|
echo "TOTAL FAILED: ${fails}"
|
|
|
|
exit ${fails}
|