diff --git a/crates/fuzzing/src/oracles.rs b/crates/fuzzing/src/oracles.rs index 123a0be997..e458629507 100644 --- a/crates/fuzzing/src/oracles.rs +++ b/crates/fuzzing/src/oracles.rs @@ -563,15 +563,20 @@ pub fn table_ops( } /// Configuration options for wasm-smith such that generated modules always -/// conform to certain specifications. +/// conform to certain specifications: one exported function, one exported +/// memory. #[derive(Default, Debug, Arbitrary, Clone)] -pub struct DifferentialWasmiModuleConfig; +pub struct SingleFunctionModuleConfig; -impl wasm_smith::Config for DifferentialWasmiModuleConfig { +impl wasm_smith::Config for SingleFunctionModuleConfig { fn allow_start_export(&self) -> bool { false } + fn min_types(&self) -> usize { + 1 + } + fn min_funcs(&self) -> usize { 1 } @@ -609,7 +614,7 @@ impl wasm_smith::Config for DifferentialWasmiModuleConfig { /// resulting memory image when execution terminates. This relies on the /// module-under-test to be instrumented to bound the execution time. Invoke /// with a module generated by `wasm-smith` using the -/// `DiferentialWasmiModuleConfig` configuration type for best results. +/// `SingleFunctionModuleConfig` configuration type for best results. /// /// May return `None` if we early-out due to a rejected fuzz config; these /// should be rare if modules are generated appropriately. diff --git a/fuzz/fuzz_targets/differential_wasmi.rs b/fuzz/fuzz_targets/differential_wasmi.rs index e4e8fffead..62a964bde5 100644 --- a/fuzz/fuzz_targets/differential_wasmi.rs +++ b/fuzz/fuzz_targets/differential_wasmi.rs @@ -5,7 +5,7 @@ use wasmtime_fuzzing::{generators, oracles}; fuzz_target!(|data: ( generators::Config, - wasm_smith::ConfiguredModule + wasm_smith::ConfiguredModule )| { let (config, mut wasm) = data; wasm.ensure_termination(1000);