feat: add initial fuzz testing #271
Draft
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.
Description
It's an initial work towards the goal of #61, it adds a new
fuzz
crate to the project which is meant to be used to add new fuzz target in order to increase the fuzz coverage.It's built on top of and with inspiration from previous Antoine's work through the most recent BDK Audit.
So far, this PR:
fuzz
crate withcargo fuzz
relying on LibFuzzer engine.Update
toWallet
.fuzzed_data_provider
andfuzz_utils
with common used fns to build BDK's-specific types from fuzzed bytes.Still to be done by this PR:
Notes to the reviewers
Are there any other BDK usage scenarios you'd like to see covered by a fuzz target ? Let's discuss it either on the issue or under this PR comments.
Changelog notice
TBD
Checklists
All Submissions:
just p
before pushing