Create a new wasmtime-fuzzing crate

This crate is intended to hold all of our various test case generators and
oracles. The fuzz targets we have at `wasmtime/fuzz/fuzz_targets/*` will
eventually be ~one-liner glue code calling into this crate.

Part of #611
This commit is contained in:
Nick Fitzgerald
2019-11-21 12:48:47 -08:00
parent bbe2a797ba
commit 9658d33b5c
4 changed files with 26 additions and 0 deletions

View File

@@ -54,6 +54,7 @@ anyhow = "1.0.19"
[workspace]
members = [
"crates/fuzzing",
"crates/misc/rust",
"crates/misc/py",
]

11
crates/fuzzing/Cargo.toml Normal file
View File

@@ -0,0 +1,11 @@
[package]
authors = ["The Wasmtime Project Developers"]
description = "Fuzzing infrastructure for Wasmtime"
edition = "2018"
name = "wasmtime-fuzzing"
publish = false
version = "0.1.0"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]

14
crates/fuzzing/README.md Normal file
View File

@@ -0,0 +1,14 @@
# Fuzzing Infrastructure for Wasmtime
This crate provides test case generators and oracles for use with fuzzing.
These generators and oracles are generally independent of the fuzzing engine
that might be using them and driving the whole fuzzing process (e.g. libFuzzer
or AFL). As such, this crate does *not* contain any actual fuzz targets
itself. Those are generally just a couple lines of glue code that plug raw input
from (for example) `libFuzzer` into a generator, and then run one or more
oracles on the generated test case.
If you're looking for the actual fuzz target definitions we currently have, they
live in `wasmtime/fuzz/fuzz_targets/*` and are driven by `cargo fuzz` and
`libFuzzer`.

View File