Match error message in fuzzing test.
This commit is contained in:
parent
9812dacc28
commit
e925308e82
1 changed files with 22 additions and 3 deletions
|
@ -15,18 +15,37 @@ use saphyr_parser::{Event, Parser, ScanError};
|
||||||
/// input traits.
|
/// input traits.
|
||||||
fn run_parser(input: &str) -> Result<Vec<Event>, ScanError> {
|
fn run_parser(input: &str) -> Result<Vec<Event>, ScanError> {
|
||||||
let mut str_events = vec![];
|
let mut str_events = vec![];
|
||||||
|
let mut str_error = None;
|
||||||
let mut iter_events = vec![];
|
let mut iter_events = vec![];
|
||||||
|
let mut iter_error = None;
|
||||||
|
|
||||||
for x in Parser::new_from_str(input) {
|
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()) {
|
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_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]
|
#[test]
|
||||||
|
|
Loading…
Reference in a new issue