-
Notifications
You must be signed in to change notification settings - Fork 91
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
Deep Fuzzing on Newly Modified Solidity Files #515
Comments
/start |
Tips:
|
Hi! I found a way to achieve this, my QA is available at gitcoindev#2 I will submit a PR today. |
The solution requires an explanation. I did numerous experiments on my local workspace and figured out that in order to find tests related to modified contract files An example: modified Diamond.sol, CreditClock.sol and StakingShare.sol:
As it can be seen above, some tests are duplicated, therefore I used sort | uniq commands to get only unique tests and executed I tried to implement the workflow to be intelligent and exit fuzzing if no Solidity contracts were modified. For pull request deep fuzzing is executed on all tests to avoid missing any scenarios. |
Also, deep fuzzing was already triggered on my pull request related to this issue and logs are available at https://github.com/ubiquity/ubiquity-dollar/actions/runs/5927880413/job/16072306637 |
Incorporate pull request review feedback: - trigger deep fuzzing only on push to development if *.sol files were changed - execute fuzzing on the whole protocol Resolves: ubiquity#515
As decided during PR review. Resolves: ubiquity#515
Adding a comment for the bot: waiting for PR approval from @rndquu and merge. |
Task Assignee Reward[ CLAIM 200 WXDAI ]
If you've enjoyed your experience in the DevPool, we'd appreciate your support. Follow Ubiquity on GitHub and star this repo. Your endorsement means the world to us and helps us grow!We are excited to announce that the DevPool and UbiquiBot are now available to partners! Our ideal collaborators are globally distributed crypto-native organizations, who actively work on open source on GitHub, and excel in research & development. If you can introduce us to the repository maintainers in these types of companies, we have a special bonus in store for you! |
Task Creator Rewardpavlovcik: [ CLAIM 88 WXDAI ] |
Random thought I had but since I wrote that action that will:
It inspired me to think of what other compute we can delegate to the cloud to make the dev experience better.
What if we do something similar with deep fuzzing, but only on modified Solidity files? I understand that deep fuzzing takes a lot of time, so we could run it for the entire codebase one time, and then only run it on modified Solidity files moving forward? I vaguely recall a discussion related to how deep fuzzing is super slow.
transmissions11 has a Foundry template that does a deep fuzz on everything when merged to main, which served as another point of inspiration for me.
https://github.com/transmissions11/foundry-template/blob/0bf8e53589f2e8f72e41baf672c25aa35ba57295/.github/workflows/tests.yml#L28-L32
The text was updated successfully, but these errors were encountered: