saphyr-serde/fuzz/fuzz_targets/parse.rs

35 lines
919 B
Rust
Raw Normal View History

2024-10-19 01:22:23 +00:00
#![no_main]
use libfuzzer_sys::fuzz_target;
fuzz_target!(|data: &[u8]| {
if let Ok(s) = std::str::from_utf8(data) {
let mut str_events = vec![];
let mut str_error = None;
let mut iter_events = vec![];
let mut iter_error = None;
for x in saphyr_parser::Parser::new_from_str(s) {
match x {
Ok(event) => str_events.push(event),
Err(e) => {
str_error = Some(e);
break;
}
}
}
for x in saphyr_parser::Parser::new_from_iter(s.chars()) {
match x {
Ok(event) => iter_events.push(event),
Err(e) => {
iter_error = Some(e);
break;
}
}
}
assert_eq!(str_events, iter_events);
assert_eq!(str_error, iter_error);
2024-10-19 01:22:23 +00:00
}
});