()
| 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 | } |
no test coverage detected