File: component_api.rs

package info (click to toggle)
rust-wasmtime 36.0.6%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 60,640 kB
  • sloc: cpp: 5,670; ansic: 4,079; sh: 636; javascript: 608; asm: 110; ml: 96; makefile: 63; python: 12
file content (22 lines) | stat: -rw-r--r-- 662 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#![no_main]
#![allow(dead_code, reason = "fuzz-generation sometimes generates unused types")]

use libfuzzer_sys::{arbitrary, fuzz_target};
use wasmtime_fuzzing::oracles;

include!(concat!(env!("OUT_DIR"), "/static_component_api.rs"));

fn target(input: &mut arbitrary::Unstructured) -> arbitrary::Result<()> {
    if input.arbitrary()? {
        static_component_api_target(input)
    } else {
        oracles::dynamic_component_api_target(input)
    }
}

fuzz_target!(|bytes: &[u8]| {
    match target(&mut arbitrary::Unstructured::new(bytes)) {
        Ok(()) | Err(arbitrary::Error::NotEnoughData) => (),
        Err(error) => panic!("{}", error),
    }
});