-
Notifications
You must be signed in to change notification settings - Fork 386
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
feat(gnovm): add fuzz and fuzz CLI #3446
base: master
Are you sure you want to change the base?
Conversation
🛠 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
|
It seems you commit the wrong files in |
Thank you for letting me know, I deleted the file. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll have to give it some more time and check it out again slowly.
Also, if this PR is still in progress, please convert the status to Draft. |
I just checked that there were replies. I will re-open the pr after solving everything. |
Removed the |
I modified the annotation and coding convention to suit. |
This PR introduces fuzzing functionality and a corresponding CLI for the GnoVM. The fuzzing can be executed using the following command:
Key Points to Note:
Coverage Implementation Pending:
The current fuzzing implementation does not include coverage-related functions. To achieve complete fuzzing functionality, coverage support must be added in future updates.
Iteration-Based Fuzzing:
Unlike Go's fuzzing mechanism, which supports a
timeout
parameter, Gno's fuzzer uses-i
to specify the number of iterations.Function Signature Requirement:
The function passed to
f.Fuzz
in Gno must strictly follow the signature:func(*testing.T, args ...interface{})
.Fuzzing Input/ Output example:
cmd: gno test mock_test.gno -fuzz Fuzz
bash
--Failing input: ["/xeb", 560]
Example Usage Image:
Example Usage Code: