This repository functions as an accessible example for Foundry developers to experiment and learn about invariant testing.
This repository is a work in progress, and will be updated continuously. Issues with suggestions are encouraged!
This project was built using Foundry. Refer to installation instructions here.
git clone git@github.com:lucas-manuel/invariant-example.git
cd invariant-example
forge install
Foundry considers all functions that start with invariant_
to be invariant tests. To run them, you can use the following commands:
- To run open invariant tests:
make open-invariant
- To run bounded invariant tests:
make bounded-invariant
- To run unbounded invariant tests:
make unbounded-invariant
invariant_call_summary
functions are not invariants, they are used to illustrate how the probability distribution of function calls within a given invariant test works.