1 #![no_main] 2 #![allow(dead_code, reason = "fuzz-generation sometimes generates unused types")] 3 4 use libfuzzer_sys::{arbitrary, fuzz_target}; 5 use wasmtime_fuzzing::oracles; 6 7 include!(concat!(env!("OUT_DIR"), "/static_component_api.rs")); 8 9 fn target(input: &mut arbitrary::Unstructured) -> arbitrary::Result<()> { 10 if input.arbitrary()? { 11 static_component_api_target(input) 12 } else { 13 oracles::dynamic_component_api_target(input) 14 } 15 } 16 17 fuzz_target!(|bytes: &[u8]| { 18 match target(&mut arbitrary::Unstructured::new(bytes)) { 19 Ok(()) | Err(arbitrary::Error::NotEnoughData) => (), 20 Err(error) => panic!("{}", error), 21 } 22 }); 23