From d8d5656eba34cba813f38ee0116a4cb8475eb7c8 Mon Sep 17 00:00:00 2001 From: Caleb Jasik Date: Wed, 10 Jul 2024 08:46:18 -0500 Subject: [PATCH] Fuzzing: Log the error we get for an input that errored after being reprinted (#172) --- parser/fuzz/fuzz_targets/module_roundtrip_naive.rs | 7 +++++-- parser/fuzz/fuzz_targets/module_roundtrip_structured.rs | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/parser/fuzz/fuzz_targets/module_roundtrip_naive.rs b/parser/fuzz/fuzz_targets/module_roundtrip_naive.rs index 47908c20..af1f2af7 100644 --- a/parser/fuzz/fuzz_targets/module_roundtrip_naive.rs +++ b/parser/fuzz/fuzz_targets/module_roundtrip_naive.rs @@ -30,8 +30,11 @@ fn do_fuzz(data: &str) -> Corpus { let output1 = module1.to_string(&to_string_options); - let Ok(module2) = Module::from_string(output1.to_owned(), parse_options) else { - panic!("input: `{input}`\noutput1: `{output1}`\n\nThis parse should not error because it was just parsed above"); + let module2 = match Module::from_string(output1.to_owned(), parse_options) { + Ok(module2) => module2, + Err(error) => { + panic!("input: `{input}`\noutput1: `{output1}`\n\nThis parse should not error because it was just parsed above. \nerror: `{:?}`", error); + } }; let output2 = module2.to_string(&to_string_options); diff --git a/parser/fuzz/fuzz_targets/module_roundtrip_structured.rs b/parser/fuzz/fuzz_targets/module_roundtrip_structured.rs index edb22cd1..39e897fd 100644 --- a/parser/fuzz/fuzz_targets/module_roundtrip_structured.rs +++ b/parser/fuzz/fuzz_targets/module_roundtrip_structured.rs @@ -30,8 +30,11 @@ fn do_fuzz(data: common::FuzzSource) -> Corpus { let output1 = module1.to_string(&to_string_options); - let Ok(module2) = Module::from_string(output1.to_owned(), parse_options) else { - panic!("input: `{input}`\noutput1: `{output1}`\n\nThis parse should not error because it was just parsed above"); + let module2 = match Module::from_string(output1.to_owned(), parse_options) { + Ok(module2) => module2, + Err(error) => { + panic!("input: `{input}`\noutput1: `{output1}`\n\nThis parse should not error because it was just parsed above. \nerror: `{:?}`", error); + } }; let output2 = module2.to_string(&to_string_options);