/src/wasm-tools/fuzz/src/reencode.rs
Line | Count | Source (jump to first uncovered line) |
1 | | use arbitrary::{Result, Unstructured}; |
2 | | use wasm_encoder::reencode::{Reencode, RoundtripReencoder}; |
3 | | |
4 | 882 | pub fn run(u: &mut Unstructured<'_>) -> Result<()> { |
5 | 882 | let (module1, config) = super::generate_valid_module(u, |_, _| Ok(()))?; |
6 | | |
7 | 878 | let mut module2 = Default::default(); |
8 | 878 | RoundtripReencoder |
9 | 878 | .parse_core_module(&mut module2, wasmparser::Parser::new(0), &module1) |
10 | 878 | .unwrap(); |
11 | 878 | |
12 | 878 | let module2 = module2.finish(); |
13 | 878 | if module1 == module2 { |
14 | 878 | return Ok(()); |
15 | 0 | } |
16 | 0 | crate::log_wasm(&module1, &config); |
17 | 0 | crate::log_wasm(&module2, &config); |
18 | 0 | assert_eq!(module1, module2); |
19 | | |
20 | 0 | Ok(()) |
21 | 882 | } |