Repository navigation
Fuzz lib/v3 against lib - #171
Open
17krishna8 wants to merge 1 commit into
Open
17krishna8 wants to merge 1 commit into
17krishna8 wants to merge 1 commit into
Conversation
Owner
|
Thanks a lot for the PR but I think this is too early to merge. I'm still designing v3 with major changes to come and I don't think it's anywhere ready for fuzzing yet. Once I'm satisfied with v3 design, I'll probably refresh this PR to make sure v3 covers all use-cases of v2. |
Contributor
Author
|
Thanks for taking a look! That makes sense - I'll leave the PR open for whenever you are happy with the v3 design, and I'm happy to rebase or rework it however is useful at that point. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
impl_v3_encodeandimpl_v3_decodefuzz targets that differentially testlib/v3againstlib, as listed in #106 ("Update OSS-Fuzz to also fuzzlib/v3").Both targets generate an encoding from the fuzz input with the existing
genmodule, then check that v3 behaves like v2:impl_v3_encode:v3.encode(input) == v2.encode(input)impl_v3_decode:v3.decode(input) == v2.decode(input), including error kinds and positionsSince v3 must preserve v2 behavior for simple usages, and encodings like #163 (encode by the greatest multiple of blocks that fits 128 bits) are internal rewrites, continuous differential fuzzing should catch behavioral regressions early.
No divergence was found while preparing this change:
Note: this does not change the OSS-Fuzz project configuration in
google/oss-fuzz, which builds all targets oflib/fuzzand should pick up the new targets automatically.