Coverage Report

Created: 2025-01-06 07:43

/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
}