Skip to content
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

More fuzz tests #116

Open
uncomputable opened this issue Jun 10, 2023 · 1 comment
Open

More fuzz tests #116

uncomputable opened this issue Jun 10, 2023 · 1 comment

Comments

@uncomputable
Copy link
Collaborator

We keep finding bugs via fuzz tests, mostly thanks to @apoelstra running local tests. We should do this more on a crate level. Maybe (almost) every function has one or many fuzz tests associated with it?

We should also explore new ways how we use fuzz tests. Currently we mostly look for crashes. Alternatively, functions could have pre and post conditions, similar to the C code, that we fuzz against. The fuzzer produces an input, we filter for inputs that satisfy the pre condition, and we check if the post condition is fulfilled.

@apoelstra
Copy link
Collaborator

Agreed, but right now we are blocked on bitcoin_hashes breaking when compiled with cfg(fuzzing). Fixing this properly will require a sequence of new releases, but it might make sense for us to just fork bitcoin_hashes 0.11 for now, remove the fuzzing behavior, then add a [patch] entry to our fuzz/Cargo.toml.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants