MCPcopy Create free account
hub / github.com/bytecodealliance/wasmtime / arbtest

Function arbtest

crates/test-util/src/component_fuzz.rs:1915–1949  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1913
1914 #[test]
1915 fn arbtest() {
1916 arbtest::arbtest(|u| {
1917 let mut fuel = 100;
1918 let types = (0..5)
1919 .map(|_| Type::generate(u, 3, &mut fuel))
1920 .collect::<arbitrary::Result<Vec<_>>>()?;
1921 let case = TestCase::generate(&types, u)?;
1922 let decls = case.declarations();
1923 let component = decls.make_component();
1924 let wasm = wat::parse_str(&component).unwrap_or_else(|e| {
1925 panic!("failed to parse generated component as wat: {e}\n\n{component}");
1926 });
1927 wasmparser::Validator::new_with_features(wasmparser::WasmFeatures::all())
1928 .validate_all(&wasm)
1929 .unwrap_or_else(|e| {
1930 let mut wat = String::new();
1931 let mut dst = wasmprinter::PrintFmtWrite(&mut wat);
1932 let to_print = if wasmprinter::Config::new()
1933 .print_offsets(true)
1934 .print_operand_stack(true)
1935 .print(&wasm, &mut dst)
1936 .is_ok()
1937 {
1938 &wat[..]
1939 } else {
1940 &component[..]
1941 };
1942 panic!("generated component is not valid wasm: {e}\n\n{to_print}");
1943 });
1944 Ok(())
1945 })
1946 .budget_ms(1_000)
1947 // .seed(0x3c9050d4000000e9)
1948 ;
1949 }
1950}

Callers 2

smokeFunction · 0.85
reverse_lookupsFunction · 0.85

Calls 8

OkFunction · 0.85
make_componentMethod · 0.80
is_okMethod · 0.80
generateFunction · 0.50
newFunction · 0.50
mapMethod · 0.45
declarationsMethod · 0.45
printMethod · 0.45

Tested by

no test coverage detected