e602e9518f7f1d6f16f4aa2b6d1359833944072c
[rust-lightning] / fuzz / travis-fuzz.sh
1 #!/bin/bash
2 set -e
3
4 pushd fuzz_targets/msg_targets
5 rm *_target.rs
6 ./gen_target.sh
7 [ "$(git diff)" != "" ] && exit 1
8 popd
9
10 cargo install --force honggfuzz
11 for TARGET in fuzz_targets/*.rs fuzz_targets/msg_targets/*_target.rs; do
12         FILENAME=$(basename $TARGET)
13         FILE="${FILENAME%.*}"
14         HFUZZ_RUN_ARGS="--exit_upon_crash -v -n2"
15         if [ "$FILE" = "chanmon_fail_consistency" ]; then
16                 HFUZZ_RUN_ARGS="$HFUZZ_RUN_ARGS -F 64 -N100000"
17         else
18                 HFUZZ_RUN_ARGS="$HFUZZ_RUN_ARGS -N1000000"
19         fi
20         export HFUZZ_RUN_ARGS
21         HFUZZ_BUILD_ARGS="--features honggfuzz_fuzz" cargo hfuzz run $FILE
22         if [ -f hfuzz_workspace/$FILE/HONGGFUZZ.REPORT.TXT ]; then
23                 cat hfuzz_workspace/$FILE/HONGGFUZZ.REPORT.TXT
24                 for CASE in hfuzz_workspace/$FILE/SIG*; do
25                         cat $CASE | xxd -p
26                 done
27                 exit 1
28         fi
29 done