1
0
mirror of https://github.com/bspeice/dtparse synced 2025-07-01 05:46:14 -04:00

Add fuzzing, find and fix a parser bug.

This commit is contained in:
Mike Meehan
2018-07-18 22:27:29 -04:00
parent fecba852d1
commit ac95e9e8c3
5 changed files with 46 additions and 2 deletions

View File

@ -3,13 +3,16 @@ use std::collections::HashMap;
use parse;
use ParseError;
use ParseInternalError;
use Parser;
#[test]
fn test_fuzz() {
assert_eq!(parse("\x2D\x38\x31\x39\x34\x38\x34"), Err(ParseError::InvalidMonth));
// Garbage in the third delimited field
assert_eq!(parse("2..\x00\x000d\x00+\x010d\x01\x00\x00\x00+"),
Err(ParseError::InternalError(ParseInternalError::ValueError("".to_owned()))));
let default = NaiveDate::from_ymd(2016, 6, 29).and_hms(0, 0, 0);
let mut p = Parser::default();
let res = p.parse("\x0D\x31", None, None, false, false, Some(&default), false, HashMap::new()).unwrap();