foundry
foundry copied to clipboard
meta(invariants): tracking issue for improvements to invariant testing
Component
Forge
Describe the feature you would like
This issue tracks invariant-testing specific improvements. General fuzzer improvements are in #4433.
Items are roughly ordered by my opinion of priority, both at the header-level and the bullet-level. I say "roughly ordered" because some items are much bigger scope than others so having a strict ordering doesn't make much sense.
High Priority
These would all give a big improvement to invariant testing UX and performance, and should not be too hard to implement
UX/Features
- https://github.com/foundry-rs/foundry/issues/3005
- https://github.com/foundry-rs/foundry/issues/4718
- https://github.com/foundry-rs/foundry/issues/2985
- https://github.com/foundry-rs/foundry/issues/2986
- https://github.com/foundry-rs/foundry/issues/4352
Bugs
- https://github.com/foundry-rs/foundry/issues/2962
- https://github.com/foundry-rs/foundry/issues/4178
- https://github.com/foundry-rs/foundry/issues/4287
- https://github.com/foundry-rs/foundry/issues/4163
- https://github.com/foundry-rs/foundry/issues/4381
- https://github.com/foundry-rs/foundry/issues/4245
Misc
- https://github.com/foundry-rs/foundry/issues/4162 — The terms we use are misleading so this worth clarifying / maybe renaming things a bit
Medium Priority
- https://github.com/foundry-rs/foundry/issues/4951
- https://github.com/foundry-rs/foundry/issues/585
- https://github.com/foundry-rs/foundry/issues/4190
- https://github.com/foundry-rs/foundry/issues/1578 — More thought is needed around how to detect reentrancy issues, so this one is likely more work than all of the above, but it could be very useful. Related is https://github.com/foundry-rs/foundry/issues/4245
Low Priority
- https://github.com/foundry-rs/foundry/issues/4834
- https://github.com/foundry-rs/foundry/issues/4300 — Listed as low because you can replicate this by calling functions at the end of each test
- https://github.com/foundry-rs/foundry/issues/3452 — Needs more thought, but could be powerful
- https://github.com/foundry-rs/foundry/issues/3607 — An
invariantCallSummary
test and similar approaches are decent workarounds, though this still would be valuable
Additional context
No response