feat: add interchaintest package that runs E2E tests for LSM and x/gov #22
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hey there, adding a self-contained interchaintest suite with two LSM-targeted tests. Both just playing with tokenization and redemption of users delegations while making votes on a proposal, to verify that nothing weird happens in the tally due to liquid shares. Later this can be expanded to include some real IBC testing as well.
I don't know what's the best place to PR this suite - should it be gaiad or simd, so pushing right there. This test suite is self-contained and oriented towards SDK
v0.45
.How to run
If everything works fine, both tests will finish in parallel in about 1m30s:
Description of tests
TestTokenizeSendVote
TestTokenizeSendVote
checks that once shares are tokenized, the tokens can be sent to other party and used for voting, however, not counted in tally until bonded.100000stake
first user100%
first user1stake
tokenized from the first user to second userYes
- his vote is not reflected in tally100%
- his vote now reflected in tally100%
- his vote is removed from tallyNoWithVeto
- his vote not reflected in tally99999stake
- his vote reflected in tally towardsNoWithVeto
100%
- his vote also reflected in tally towardsYes
TestMultiTokenizeVote
TestMultiTokenizeVote
case checks what happens with a voting tally when two separate LSM users are tokenizing and voting independently. This case might look very similar to previous one, but the difference is that no shares are being sent, both users are tokenizing independetly.100000stake
first user1stake
second user100%
shares second userYes
- his vote is not reflected in tally100%
shares second user - his vote is now reflected in tallyNoWithVeto
- his vote is reflected in tally100%
shares first user - his vote is removed from the tally100%
liquid tokens first user - his vote reflected in tally towardsNoWithVeto
100%
liquid tokens second user - his vote also reflected in tally towardsYes