Files
wasmtime/cranelift/ci/fuzzit.sh
bookmoons 156938facf Continuous fuzzing with Fuzzit (#1042)
Enables automated fuzzing on Fuzzit. Runs fuzz regression tests
every push and PR. Runs full fuzzing every push. Fuzzit emails
if it finds crashes.

Uses the existing fuzz targets:
* translate-module - Fuzz valid WebAssembly modules.
* reader-parse - Fuzz IR text format parsing.
2019-09-18 14:35:30 +09:00

39 lines
862 B
Bash
Executable File

#!/bin/bash
set -xe
# Validate arguments
if [ "$#" -ne 1 ]; then
cat << EOF
Usage: $0 <type>
Types are:
local-regression - Run corpus and past crashes locally to catch regressions.
fuzzing - Submit for long run fuzzing on Fuzzit.
EOF
exit 1
fi
# Configure
set -xe
NAME=cranelift
TYPE=$1
FUZZIT_VERSION=2.4.46
# Setup
if [[ ! -f fuzzit || ! `./fuzzit --version` =~ $FUZZIT_VERSION$ ]]; then
wget -q -O fuzzit https://github.com/fuzzitdev/fuzzit/releases/download/v$FUZZIT_VERSION/fuzzit_Linux_x86_64
chmod a+x fuzzit
fi
./fuzzit --version
# Fuzz
function fuzz {
FUZZER=$1
TARGET=$2
cargo fuzz run $FUZZER -- -runs=0
./fuzzit --version
./fuzzit create job --type $TYPE $NAME/$TARGET ./fuzz/target/x86_64-unknown-linux-gnu/debug/$FUZZER
}
fuzz fuzz_translate_module translate-module
fuzz fuzz_reader_parse_test reader-parse