1#!/bin/bash 2# 3# Helper script for working with fuzzit.dev: 4# 5# https://github.com/fuzzitdev/example-go 6# 7# Based on: 8# 9# https://github.com/google/syzkaller/blob/master/fuzzit.sh 10set -eux 11 12function target { 13 go-fuzz-build -libfuzzer -func $3 -o fuzzer.a $2 14 clang -fsanitize=fuzzer fuzzer.a -o fuzzer 15 16 ./fuzzit create target $1 || true 17 ./fuzzit create job $LOCAL --type fuzzing --branch $TRAVIS_BRANCH --revision $TRAVIS_COMMIT prose/$1 ./fuzzer 18} 19 20go get -u github.com/dvyukov/go-fuzz/go-fuzz-build 21wget -q -O fuzzit https://github.com/fuzzitdev/fuzzit/releases/download/v2.4.12/fuzzit_Linux_x86_64 22chmod a+x fuzzit 23 24./fuzzit auth $FUZZIT_API_KEY 25if [ "$1" = "fuzzing" ]; then 26 export LOCAL="" 27else 28 export LOCAL="--local" 29fi 30 31target prose-transform ./transform Fuzz 32target prose-tokenize ./tokenize Fuzz 33target prose-summarize ./summarize Fuzz 34target prose-chunk ./chunk Fuzz 35