-
Notifications
You must be signed in to change notification settings - Fork 103
test(systemtests): add appside mempool e2e test #580
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
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall, lovely test setup! I think this will make it significantly easier to write E2E tests in the future, which is something I applaud you for doing.
I left a few comments, mostly regarding the separation of Pending
and Committed
as end-states, as transactions get gossiped differently in the consensus phase (commit) vs. the mempool phase (unconfirmed).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving—merge after fixing the imports and disabling bypasses. Great work!
…wer than pending nonce
* test(mempool): setup e2e test suite for mempool testing * WIP * test(mempool): refactor test * test(mempool): refactor system test suite * test(systemtest): refactor mempool test * test(systemtests): add cosmosClient * test(systemtests): refactor mempool test * test(systemtests): refactor mempool test * test(systemtests): refactor mempool test * test(systemtests): add txpool content verification to mempool tests * test(systemtests): fix mempool test suite * test(systemtests): fix mempool test suite * test(systemtests): fix mempool tests * test(systemtests): fix mempool test suite * test(systemtests): fix mempool test suite * test(systemtests): fix mempool test suite * test(systemtests): add mempool test cases * test(systemtests): add comments * test(systemtests): chore: enable replacement tests * chore: modify names of test cases * test(systemtests): enhance helper functions * test(systemtests): fix mempool test * chore(systemtests): change test name and add readme.md * chore: update CHANGELOG.md * fix(proto): restore removed data field during merge * test(systemtests): refactor * test(systemtests): fix map iteration * chore(systemtests): fix build tag * test(systemtests): add test case for mempool * test(systemtests): fix map iteration * test(systemtests): refactor and add test case for --minimum-gas-prices=0stake * test(systemtests): enhance validation * fix: restore removed changes from merge * fix: restore removed changes from merge * fix: restore removed changes from merge * fix: restore removed changes from merge * chore(systemtests): rename test suite hooks * fix(systemtests): fix test cases * chore: modify mempool e2e test README.md * test(systemtests): enhance post check of mempool test * chore: apply codeQL feedback * chore: update tests/systemtests/go.sum * chore: go mod tidy * fix(rpc): SendRawTransaction doesn't return error when tx.nonce is lower than pending nonce * chore(systemtests): remove unused fields of RPCTransaction type --------- Co-authored-by: Alex | Interchain Labs <alex@cosmoslabs.io> Co-authored-by: Vlad J <vladjdk@gmail.com>
Description
Summary
This PR implements comprehensive end-to-end testing for appside mempool functionality, adding robust test infrastructure and extensive test cases to verify mempool behavior across different transaction types and node configurations.
Closes #581
System Tests Directory Structure
Test Mechanism
2.1 Persistent Node Architecture
2.2 Common Verification Framework
verification steps
(or committed)
on target nodes only
pending transactions to commit
Test Coverage Checklist
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...
main
branch