Mercurial > hg > sv-dependency-builds
annotate src/capnproto-0.6.0/c++/afl-fuzz.sh @ 169:223a55898ab9 tip default
Add null config files
author | Chris Cannam <cannam@all-day-breakfast.com> |
---|---|
date | Mon, 02 Mar 2020 14:03:47 +0000 |
parents | 45360b968bf4 |
children |
rev | line source |
---|---|
cannam@147 | 1 #! /bin/bash |
cannam@147 | 2 |
cannam@147 | 3 set -euo pipefail |
cannam@147 | 4 |
cannam@147 | 5 echo "Choose test case:" |
cannam@147 | 6 echo "1) TestAllTypes parsing" |
cannam@147 | 7 echo "2) TestLists parsing" |
cannam@147 | 8 echo "3) Canonicalization" |
cannam@147 | 9 |
cannam@147 | 10 read -p "choice: " -n 1 TESTCASE |
cannam@147 | 11 echo |
cannam@147 | 12 |
cannam@147 | 13 case "$TESTCASE" in |
cannam@147 | 14 1 ) |
cannam@147 | 15 TESTDATA=binary |
cannam@147 | 16 FLAGS= |
cannam@147 | 17 TESTNAME=default |
cannam@147 | 18 ;; |
cannam@147 | 19 2 ) |
cannam@147 | 20 TESTDATA=lists.binary |
cannam@147 | 21 FLAGS=--lists |
cannam@147 | 22 TESTNAME=lists |
cannam@147 | 23 ;; |
cannam@147 | 24 3 ) |
cannam@147 | 25 TESTDATA=binary |
cannam@147 | 26 FLAGS=--canonicalize |
cannam@147 | 27 TESTNAME=canonicalize |
cannam@147 | 28 ;; |
cannam@147 | 29 * ) |
cannam@147 | 30 echo "Invalid choice: $TESTCASE" >&2 |
cannam@147 | 31 exit 1 |
cannam@147 | 32 esac |
cannam@147 | 33 |
cannam@147 | 34 echo "Choose compiler:" |
cannam@147 | 35 echo "1) GCC" |
cannam@147 | 36 echo "2) Clang" |
cannam@147 | 37 |
cannam@147 | 38 read -p "choice: " -n 1 TESTCASE |
cannam@147 | 39 echo |
cannam@147 | 40 |
cannam@147 | 41 case "$TESTCASE" in |
cannam@147 | 42 1 ) |
cannam@147 | 43 export CXX=afl-g++ |
cannam@147 | 44 ;; |
cannam@147 | 45 2 ) |
cannam@147 | 46 export CXX=afl-clang++ |
cannam@147 | 47 ;; |
cannam@147 | 48 * ) |
cannam@147 | 49 echo "Invalid choice: $TESTCASE" >&2 |
cannam@147 | 50 exit 1 |
cannam@147 | 51 esac |
cannam@147 | 52 |
cannam@147 | 53 if [ -e Makefile ]; then |
cannam@147 | 54 if ! grep -q '^CXX *= *'"$CXX" Makefile; then |
cannam@147 | 55 # Wrong compiler used. |
cannam@147 | 56 make distclean |
cannam@147 | 57 $(dirname $0)/configure --disable-shared |
cannam@147 | 58 fi |
cannam@147 | 59 else |
cannam@147 | 60 $(dirname $0)/configure --disable-shared |
cannam@147 | 61 fi |
cannam@147 | 62 |
cannam@147 | 63 make -j$(nproc) |
cannam@147 | 64 make -j$(nproc) capnp-afl-testcase |
cannam@147 | 65 |
cannam@147 | 66 NOW=$(date +%Y-%m-%d.%H-%M-%S).$TESTNAME.$CXX |
cannam@147 | 67 |
cannam@147 | 68 mkdir afl.$NOW.inputs afl.$NOW.findings |
cannam@147 | 69 |
cannam@147 | 70 cp $(dirname $0)/src/capnp/testdata/$TESTDATA afl.$NOW.inputs |
cannam@147 | 71 |
cannam@147 | 72 afl-fuzz -i afl.$NOW.inputs -o afl.$NOW.findings -- ./capnp-afl-testcase $FLAGS |