* CI: Only build fuzz targets, don't run them over the corpora We've only ever caught a single potential regression by running the fuzz targets over a sample of their corpora. However, this is also our slowest CI job. Running the fuzz targets over their corpora simply isn't paying for itself. Instead, just ensure that we can build the fuzz targets with `cargo fuzz` and all of the libFuzzer and sanitizer instrumentation that it enables. This will ensure that we don't break the fuzz targets, and we leave finding regressions in the fuzz corpora to oss-fuzz. * fuzz: feature gate peepmatic's fuzz targets This makes it so that the CI's fuzz target-building job doesn't build peepmatic, and transitively Z3.
97 lines
2.0 KiB
TOML
97 lines
2.0 KiB
TOML
[package]
|
|
name = "wasmtime-fuzz"
|
|
version = "0.0.0"
|
|
authors = ["The Wasmtime Project Developers"]
|
|
edition = "2018"
|
|
publish = false
|
|
|
|
[package.metadata]
|
|
cargo-fuzz = true
|
|
|
|
[dependencies]
|
|
cranelift-codegen = { path = "../cranelift/codegen" }
|
|
cranelift-reader = { path = "../cranelift/reader" }
|
|
cranelift-wasm = { path = "../cranelift/wasm" }
|
|
libfuzzer-sys = "0.3.2"
|
|
target-lexicon = "0.10"
|
|
peepmatic-fuzzing = { path = "../cranelift/peepmatic/crates/fuzzing", optional = true }
|
|
wasmtime = { path = "../crates/wasmtime" }
|
|
wasmtime-fuzzing = { path = "../crates/fuzzing" }
|
|
|
|
[[bin]]
|
|
name = "compile"
|
|
path = "fuzz_targets/compile.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "instantiate"
|
|
path = "fuzz_targets/instantiate.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "instantiate_translated"
|
|
path = "fuzz_targets/instantiate_translated.rs"
|
|
test = false
|
|
doc = false
|
|
required-features = ["binaryen"]
|
|
|
|
[[bin]]
|
|
name = "api_calls"
|
|
path = "fuzz_targets/api_calls.rs"
|
|
test = false
|
|
doc = false
|
|
required-features = ["binaryen"]
|
|
|
|
[[bin]]
|
|
name = "differential"
|
|
path = "fuzz_targets/differential.rs"
|
|
test = false
|
|
doc = false
|
|
required-features = ["binaryen"]
|
|
|
|
[[bin]]
|
|
name = "spectests"
|
|
path = "fuzz_targets/spectests.rs"
|
|
test = false
|
|
doc = false
|
|
|
|
[[bin]]
|
|
name = "peepmatic_simple_automata"
|
|
path = "fuzz_targets/peepmatic_simple_automata.rs"
|
|
test = false
|
|
doc = false
|
|
required-features = ["peepmatic-fuzzing"]
|
|
|
|
[[bin]]
|
|
name = "peepmatic_fst_differential"
|
|
path = "fuzz_targets/peepmatic_fst_differential.rs"
|
|
test = false
|
|
doc = false
|
|
required-features = ["peepmatic-fuzzing"]
|
|
|
|
[[bin]]
|
|
name = "peepmatic_parser"
|
|
path = "fuzz_targets/peepmatic_parser.rs"
|
|
test = false
|
|
doc = false
|
|
required-features = ["peepmatic-fuzzing"]
|
|
|
|
[[bin]]
|
|
name = "peepmatic_compile"
|
|
path = "fuzz_targets/peepmatic_compile.rs"
|
|
test = false
|
|
doc = false
|
|
required-features = ["peepmatic-fuzzing"]
|
|
|
|
[[bin]]
|
|
name = "peepmatic_interp"
|
|
path = "fuzz_targets/peepmatic_interp.rs"
|
|
test = false
|
|
doc = false
|
|
required-features = ["peepmatic-fuzzing"]
|
|
|
|
[features]
|
|
binaryen = ["wasmtime-fuzzing/binaryen"]
|