#!/usr/bin/env bash set -eux cd $(dirname $0)/.. export CARGO_TARGET_DIR=$(pwd)/target pushd ./example cargo rustc \ --release \ -- \ -Cpasses='sancov' \ -Cllvm-args=-sanitizer-coverage-level=3 \ -Cllvm-args=-sanitizer-coverage-trace-compares \ -Cllvm-args=-sanitizer-coverage-inline-8bit-counters \ -Cllvm-args=-sanitizer-coverage-stack-depth \ -Cllvm-args=-sanitizer-coverage-trace-geps \ -Cllvm-args=-sanitizer-coverage-prune-blocks=0 \ -Zsanitizer=address (! $CARGO_TARGET_DIR/release/example -runs=100000) popd pushd ./example_arbitrary cargo rustc \ --release \ -- \ -Cpasses='sancov' \ -Cllvm-args=-sanitizer-coverage-level=3 \ -Cllvm-args=-sanitizer-coverage-trace-compares \ -Cllvm-args=-sanitizer-coverage-inline-8bit-counters \ -Cllvm-args=-sanitizer-coverage-stack-depth \ -Cllvm-args=-sanitizer-coverage-trace-geps \ -Cllvm-args=-sanitizer-coverage-prune-blocks=0 \ -Zsanitizer=address (! $CARGO_TARGET_DIR/release/example_arbitrary -runs=10000000) RUST_LIBFUZZER_DEBUG_PATH=$(pwd)/debug_output \ $CARGO_TARGET_DIR/release/example_arbitrary \ $(ls ./crash-* | head -n 1) cat $(pwd)/debug_output grep -q Rgb $(pwd)/debug_output popd