-
-
Notifications
You must be signed in to change notification settings - Fork 78
Add round-trip parser fuzzers #57
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Realized we get some round-trip tests for free here. Quickly changing these over. |
|
@BurntSushi This is starting to find some things, mostly inconsistencies with printing and parsing. Do you want me to investigate these and raise issues, or let you experiment with this? I need to leave this for today but can come back to it later this week (Thursday and beyond). |
|
If by inconsistency you mean "printing a parsed |
|
I can also take a look as well. |
|
By inconsistency I mean, "We have some existing For strtime it's a special case, I compare (parse, unparse) with (parse, unparse, parse, unparse) results since |
The example that gets spit out for temporal is: It is parsed, the unparsed, but then the test panics while parsing the first unparsed result because we expect that all unparsed items are parseable. The intermediate unparsed value is: |
Yes, that sounds like it should be investigated! And any panics in the parsing should definitely be considered bugs. Probably When you get a chance, and if it's easier, filing just one issue is fine. And feel free to take your time. If there's a timeout, I'll pickup the fuzzing work from this great start. :) |
|
Hey, is there any interest in this still? |
|
Overall I'm very interested in adding fuzzing. But other work has attracted my attention. |
There's a lot more that we could do, but this should be a good start.
|
OK, I got this PR into a mergeable state. I mostly just cleaned the code up a bit and fixed the CI addition (your change seemed to reformat the yaml). |
|
Thank you!!! |
Partially addresses #14. More specialized fuzzing for e.g. correctness is necessary.