arti/maint/fuzz_it_all

38 lines
819 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
echo "Using toolchain +${RUST_FUZZ_TOOLCHAIN:=nightly}. (Override with \$RUST_FUZZ_TOOLCHAIN)"
# Validate that "+${RUST_FUZZ_TOOLCHAIN}" is installed. This will log a message to stderr
# if it itsn't.
cargo "+${RUST_FUZZ_TOOLCHAIN}" -h >/dev/null
for d in ./crates/*/fuzz; do
pushd "$(dirname "$d")"
for fuzzer in $(cargo fuzz list); do
echo "$fuzzer"
cargo "+${RUST_FUZZ_TOOLCHAIN}" fuzz build "$fuzzer"
done
popd
done
#JOBS=4
#SEED=0
DURATION=20
while true; do
for d in ./crates/*/fuzz; do
pushd "$(dirname "$d")"
for fuzzer in $(cargo fuzz list); do
cargo "+${RUST_FUZZ_TOOLCHAIN}" fuzz run "$fuzzer" -- \
-jobs="${JOBS:-0}" \
-workers="${JOBS:-0}" \
-max_total_time=$((DURATION * 60)) \
-seed="${SEED:-0}"
done
popd
done
done