//! Fuzzing infrastructure for Wasmtime.12#![deny(missing_docs)]34pub use wasm_mutate;5pub use wasm_smith;6pub mod generators;7pub mod mutators;8pub mod oracles;9pub mod single_module_fuzzer;1011/// One time start up initialization for fuzzing:12///13/// * Enables `env_logger`.14///15/// * Restricts `rayon` to a single thread in its thread pool, for more16/// deterministic executions.17///18/// If a fuzz target is taking raw input bytes from the fuzzer, it is fine to19/// call this function in the fuzz target's oracle or in the fuzz target20/// itself. However, if the fuzz target takes an `Arbitrary` type, and the21/// `Arbitrary` implementation is not derived and does interesting things, then22/// the `Arbitrary` implementation should call this function, since it runs23/// before the fuzz target itself.24pub fn init_fuzzing() {25static INIT: std::sync::Once = std::sync::Once::new();2627INIT.call_once(|| {28let _ = env_logger::try_init();29});30}313233