Match error message in fuzzing test.

This commit is contained in:
Ethiraric 2024-10-20 16:56:58 +02:00
parent 9812dacc28
commit e925308e82

View file

@ -15,18 +15,37 @@ use saphyr_parser::{Event, Parser, ScanError};
/// input traits.
fn run_parser(input: &str) -> Result<Vec<Event>, ScanError> {
let mut str_events = vec![];
let mut str_error = None;
let mut iter_events = vec![];
let mut iter_error = None;
for x in Parser::new_from_str(input) {
str_events.push(x?.0);
match x {
Ok(event) => str_events.push(event),
Err(e) => {
str_error = Some(e);
break;
}
}
}
for x in Parser::new_from_iter(input.chars()) {
iter_events.push(x?.0);
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);
Ok(str_events)
if let Some(err) = str_error {
Err(err)
} else {
Ok(str_events.into_iter().map(|x| x.0).collect())
}
}
#[test]