22set -e
33set -x
44
5+ log_time () {
6+ echo " :::: $( date ' +%Y-%m-%d %H:%M:%S' ) $1 "
7+ }
8+
9+ log_time " Verifying generated targets"
510pushd src/msg_targets
611rm msg_* .rs
712./gen_target.sh
1520
1621export RUSTFLAGS=" --cfg=secp256k1_fuzz --cfg=hashes_fuzz"
1722
23+ log_time " Generating write-seeds"
1824mkdir -p hfuzz_workspace/full_stack_target/input
1925pushd write-seeds
2026RUSTFLAGS=" $RUSTFLAGS --cfg=fuzzing" cargo run ../hfuzz_workspace/full_stack_target/input
2127cargo clean
2228popd
2329
30+ log_time " Installing honggfuzz"
2431cargo install --color always --force honggfuzz --no-default-features
2532
2633# Because we're fuzzing relatively few iterations, the maximum possible
@@ -29,13 +36,17 @@ sed -i 's/lto = true//' Cargo.toml
2936
3037export HFUZZ_BUILD_ARGS=" --features honggfuzz_fuzz"
3138
39+ log_time " Building fuzz targets"
3240cargo --color always hfuzz build -j8
41+
42+ log_time " Starting fuzz runs"
3343for TARGET in src/bin/* .rs; do
3444 FILENAME=$( basename $TARGET )
3545 FILE=" ${FILENAME% .* } "
3646 CORPUS_DIR=" hfuzz_workspace/$FILE /input"
3747 CORPUS_COUNT=$( find " $CORPUS_DIR " -type f 2> /dev/null | wc -l)
3848 ITERATIONS=$(( CORPUS_COUNT * 8 + 1000 ))
49+ log_time " Fuzzing $FILE (corpus: $CORPUS_COUNT , iterations: $ITERATIONS )"
3950 HFUZZ_RUN_ARGS=" --exit_upon_crash -q -n8 -N $ITERATIONS --run_time 600"
4051 if [ " $FILE " = " chanmon_consistency_target" ]; then
4152 HFUZZ_RUN_ARGS=" $HFUZZ_RUN_ARGS -F 64 -t 3"
@@ -53,14 +64,12 @@ for TARGET in src/bin/*.rs; do
5364 done
5465 exit 1
5566 fi
56- if [ " $GITHUB_REF " = " refs/heads/main" ]; then
57- HFUZZ_RUN_ARGS=" -M -q -n8 -t 3"
58- export HFUZZ_RUN_ARGS
59- cargo --color always hfuzz run $FILE
60- MIN_CORPUS_COUNT=$( find " $CORPUS_DIR " -type f 2> /dev/null | wc -l)
61- MIN_DELTA=$(( MIN_CORPUS_COUNT - FUZZ_CORPUS_COUNT))
62- echo " $FILE : original=$CORPUS_COUNT , after fuzz=$FUZZ_CORPUS_COUNT [+$FUZZ_DELTA ], after minimize=$MIN_CORPUS_COUNT [$MIN_DELTA ]"
63- else
64- echo " $FILE : original=$CORPUS_COUNT , after fuzz=$FUZZ_CORPUS_COUNT [+$FUZZ_DELTA ]"
65- fi
67+ HFUZZ_RUN_ARGS=" -M -q -n8 -t 3"
68+ export HFUZZ_RUN_ARGS
69+ cargo --color always hfuzz run $FILE
70+ MIN_CORPUS_COUNT=$( find " $CORPUS_DIR " -type f 2> /dev/null | wc -l)
71+ MIN_DELTA=$(( MIN_CORPUS_COUNT - FUZZ_CORPUS_COUNT))
72+ log_time " Finished $FILE (original: $CORPUS_COUNT , after fuzz: $FUZZ_CORPUS_COUNT [+$FUZZ_DELTA ], after minimize: $MIN_CORPUS_COUNT [$MIN_DELTA ])"
6673done
74+
75+ log_time " Done"
0 commit comments