Open p-offtermatt opened 3 days ago
The recent updates added a GitHub Actions workflow to streamline simulation testing for specific branches, introduced comprehensive simulation tests within the app/provider
package, and designed invariants and randomized genesis states for the x/ccv/provider
module. Additionally, validator reward logic in end-to-end tests was modified for certain chains. These changes aim to enhance testing procedures, improve simulation capabilities, and ensure the robustness of validator consensus within the application.
Files | Change Summary |
---|---|
.github/workflows/simulation.yml |
Introduced a GitHub Actions workflow for running simulation tests on specific branches using Go and make sim-full . |
Makefile |
Added a new target sim-full to run full simulation tests for the application using Go. |
app/provider/app.go |
Refactored bankBlockedAddrs logic, added import for authsims , introduced an override module for simulations, and registered store decoders. |
app/provider/sim_test.go |
Added simulation test functions for the application to test various operations with randomized simulations. |
tests/e2e/steps_inactive_vals.go |
Removed reward check logic for validators alice and bob in the ChainID("provi") section. |
x/ccv/provider/keeper/invariants.go |
Introduced functions to register and check invariants related to provider consensus validators. |
x/ccv/provider/module.go |
Modified to import simulation logic for invariants and randomized genesis state generation in the provider module. |
x/ccv/provider/simulation/genesis.go |
Added logic to generate random GenesisState for the provider module in simulation tests. |
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Great work! LGTM!
I hope we simulate provider operations in the future.
:thumbs-up: Agreed. I want to keep the scope of this PR small, since this is just focussed on helping test the inactive validators feature, but in general I agree.
Description
Closes: Part of inactive validators #1913
The simulator integration is very basic for now. I just wanted it to test for panics and basic discrepancies with the inactive validators feature.
Note that this does not seriously check any of the CCV functionality; that functionality relies on IBC and multiple chains, which are not supported in the simulator.
You can run
make sim-full
to check out the simulator locally.Author Checklist
All items are required. Please add a note to the item if the item is not applicable and please add links to any relevant follow up issues.
I have...
Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add your handle next to the items reviewed if you only reviewed selected items.
I have...
Summary by CodeRabbit
New Features
Bug Fixes
Improvements