-
Notifications
You must be signed in to change notification settings - Fork 177
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
Test Suggestion: Add Fuzzing Tests #780
Labels
help wanted
Extra attention is needed
Comments
I think this is a great idea myself. There's two main caveats I'd caution for anyone interested in picking up this work:
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Fuzz testing is testing mechanism that involves providing pseudo-random data as input into the generators to find correctness issues. There are multiple Bytecode Alliance projects that heavily leverage fuzz testing to improve code quality and find security and correctness issues (e.g.
wasmtime
andwasm-tools
). So far, there is no fuzz testing existing in this repo. Part of the reasons applying fuzz testing againstwit-bindgen
repo is to raise the bar for generator code quality across multiple languages.The goal of this issue is to suggest a fuzz framework adding to this repo. It could be as simply as feeding generated valid WIT packages to each
wit-bindgen
generator and check if the generated code are buildable. As thewit-bindgen-go
maintainer, I hope there is a continuous fuzzing running in the background and invokesTinyGo
compiler to compile generated WIT bindings. It could go as difficult as making sure the generated code is "correct" - the compiled Wasm modules / components are correct to our expectations.To get started, I propose to use
wit-smith
andlibfuzzer-sys
crate andcargo-fuzz
tool for fuzz testing.The text was updated successfully, but these errors were encountered: