/src/wasm-tools/fuzz/src/print.rs
Line | Count | Source |
1 | | use arbitrary::{Result, Unstructured}; |
2 | | |
3 | 2 | pub fn run(u: &mut Unstructured<'_>) -> Result<()> { |
4 | 2 | let mut cfg = wasmprinter::Config::new(); |
5 | 2 | cfg.fold_instructions(u.arbitrary()?); |
6 | 2 | cfg.print_skeleton(u.arbitrary()?); |
7 | 2 | cfg.print_offsets(u.arbitrary()?); |
8 | 2 | cfg.name_unnamed(u.arbitrary()?); |
9 | | |
10 | 2 | let data = u.bytes(u.len())?; |
11 | 2 | crate::log_wasm(&data, &cfg); |
12 | 2 | let mut dst = String::new(); |
13 | 2 | let _ = cfg.print(&data, &mut wasmprinter::PrintFmtWrite(&mut dst)); |
14 | 2 | Ok(()) |
15 | 2 | } |
16 | | |
17 | | #[test] |
18 | | fn smoke() { |
19 | | super::test::test_n_times(100, run); |
20 | | } |