cosmos-sdk/tests/systemtests
2024-10-18 07:35:55 +00:00
..
.gitignore chore: move systemtests to tests folder (#20290) 2024-05-06 13:52:26 +00:00
account_test.go refactor(systemtest): Add cli.RunAndWait for common operations (#21689) 2024-09-13 11:28:02 +00:00
auth_test.go fix: sequence should be higher or equal than expected during checktx and equal during deliver tx (#22299) 2024-10-17 15:45:43 +00:00
authz_test.go test: migrate e2e/distribution to system tests (#21908) 2024-10-04 15:36:23 +00:00
bank_test.go chore(systemtests): Remove testutil dependency (#21995) 2024-10-03 11:27:07 +00:00
bankv2_test.go chore(systemtests): Remove testutil dependency (#21995) 2024-10-03 11:27:07 +00:00
cli.go feat(systemtests): increase verbosity (#22306) 2024-10-18 07:35:55 +00:00
cometbft_client_test.go test(systemtests): fix failing tests (#22145) 2024-10-07 13:18:52 +00:00
distribution_test.go test: migrate e2e/auth to system tests and fix sign-batch (#22149) 2024-10-11 12:13:00 +00:00
fraud_test.go chore(systemtests): Remove testutil dependency (#21995) 2024-10-03 11:27:07 +00:00
genesis_io.go test(systemtest): Fix prune & gov test (#22190) 2024-10-09 15:43:31 +00:00
getting_started.md test: e2e/staking to system tests (#21882) 2024-09-25 07:04:10 +00:00
go.mod build(deps): Bump github.com/prometheus/client_golang from 1.20.4 to 1.20.5 (#22270) 2024-10-16 15:10:39 +00:00
go.sum build(deps): Bump github.com/prometheus/client_golang from 1.20.4 to 1.20.5 (#22270) 2024-10-16 15:10:39 +00:00
gov_test.go test(systemtest): Fix prune & gov test (#22190) 2024-10-09 15:43:31 +00:00
group_test.go test: migrate e2e/group to system tests (#22278) 2024-10-16 20:08:53 +00:00
io_utils.go chore(systemtests): Remove testutil dependency (#21995) 2024-10-03 11:27:07 +00:00
main_test.go chore: move systemtests to tests folder (#20290) 2024-05-06 13:52:26 +00:00
Makefile refactor(core): move amino registrar and drop legacy package (#21531) 2024-09-05 11:44:52 +00:00
mint_test.go test: migrate e2e/mint to system tests (#22294) 2024-10-17 13:15:56 +00:00
node_utils.go test(systemtests): Add double signing test (#21115) 2024-07-31 20:54:46 +00:00
README.md docs: system test tutorial (#20812) 2024-09-05 04:24:03 +00:00
rest_cli.go test(systemtests): fix failing tests (#22145) 2024-10-07 13:18:52 +00:00
rpc_client.go test: e2e/client to system tests (#21981) 2024-09-30 13:52:18 +00:00
snapshots_test.go test(systemtest): Fix prune & gov test (#22190) 2024-10-09 15:43:31 +00:00
staking_test.go test: e2e/staking to system tests (#21882) 2024-09-25 07:04:10 +00:00
system.go test(systemtest): Fix prune & gov test (#22190) 2024-10-09 15:43:31 +00:00
test_runner.go chore: move systemtests to tests folder (#20290) 2024-05-06 13:52:26 +00:00
testnet_init.go test(systemtests): fix failing tests (#22145) 2024-10-07 13:18:52 +00:00
unordered_tx_test.go ci: actually enable v2 system test (#21539) 2024-09-26 13:16:28 +00:00
upgrade_test.go test(systemtests): fix failing tests (#22145) 2024-10-07 13:18:52 +00:00

Testing

Test framework for system tests. Starts and interacts with a (multi node) blockchain in Go. Supports

  • CLI
  • Servers
  • Events
  • RPC

Uses:

  • testify
  • gjson
  • sjson

Server and client side are executed on the host machine.

Developer

Test strategy

System tests cover the full stack via cli and a running (multi node) network. They are more expensive (in terms of time/ cpu) to run compared to unit or integration tests. Therefore, we focus on the critical path and do not cover every condition.

How to use

Read the getting_started.md guide to get started.

Execute a single test

go test -tags system_test -count=1 -v . --run TestStakeUnstake  -verbose

Test cli parameters

  • -verbose verbose output
  • -wait-time duration - time to wait for chain events (default 30s)
  • -nodes-count int - number of nodes in the cluster (default 4)

Port ranges

With n nodes:

  • 26657 - 26657+n - RPC
  • 1317 - 1317+n - API
  • 9090 - 9090+n - GRPC
  • 16656 - 16656+n - P2P

For example Node 3 listens on 26660 for RPC calls

Resources

Disclaimer

This is based on the system test framework in wasmd built by Confio.