-
Notifications
You must be signed in to change notification settings - Fork 389
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(gnovm/pkg/gnolang): add more diverse Go programs to FuzzParseFile #3511
base: master
Are you sure you want to change the base?
test(gnovm/pkg/gnolang): add more diverse Go programs to FuzzParseFile #3511
Conversation
This change involves bringing in Go programs from the latest Go master tree by downloading them afresh, instead of committing 35+MB to this repo's Git history. The diversity in the Go programs allows the fuzzer to battle test Go2Gno much better and find divergences so much faster and better. Updates gnolang#3087
🛠 PR Checks SummaryAll Automated Checks passed. ✅ Manual Checks (for Reviewers):
Read More🤖 This bot helps streamline PR reviews by verifying automated checks and providing guidance for contributors and reviewers. ✅ Automated Checks (for Contributors):🟢 Maintainers must be able to edit this pull request (more info) ☑️ Contributor Actions:
☑️ Reviewer Actions:
📚 Resources:Debug
|
Codecov ReportAll modified and coverable lines are covered by tests ✅ 📢 Thoughts on this report? Let us know! |
I don't know, because many of these samples are coming from Go which has more standard libraries and features we don't have, so I worry it may end up doing more harm than good in fuzzing? Leaving aside that I don't really like tests to require an HTTP download and to be dependent on the state of the Go source code at tip. |
@thehowl, so Go2Gno as you know and wrote ensures that we can convert written Go programs into Gno. Without high diversity of samples, which this repo lacks, coverage for that functionality is low. Where features aren't supported we shall add an intentional flow exception. I did explain in my commit message why we are pulling in samples via HTTP call instead of committing 35+MB of a zip file for life into this Git tree. If you'd prefer I can gladly commit it to git. |
I'm not convinced it's a right approach though. Are there code paths that are consistently not being inspected through fuzzing? Could we not add smaller samples to the fuzzer? I'd rather not commit the whole set of files to git; but in general I would avoid using this entire set of files as a sample if possible. |
This change involves bringing in Go programs from the latest Go master tree by downloading them afresh, instead of committing 35+MB to this repo's Git history.
The diversity in the Go programs allows the fuzzer to battle test Go2Gno much better and find divergences so much faster and better.
Updates #3087