38 lines
819 B
Bash
Executable File
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
|