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