|
Some checks failed
Tests / Code Coverage / test-x-tx (push) Has been cancelled
Tests / Code Coverage / test-tools-benchmark (push) Has been cancelled
Tests / Code Coverage / test-clientv2 (push) Has been cancelled
Tests / Code Coverage / test-core (push) Has been cancelled
Tests / Code Coverage / test-depinject (push) Has been cancelled
Tests / Code Coverage / test-errors (push) Has been cancelled
Tests / Code Coverage / test-math (push) Has been cancelled
Tests / Code Coverage / test-schema (push) Has been cancelled
Tests / Code Coverage / test-collections (push) Has been cancelled
Tests / Code Coverage / test-cosmovisor (push) Has been cancelled
Tests / Code Coverage / test-confix (push) Has been cancelled
Build SimApp / build (amd64) (push) Has been cancelled
Build SimApp / build (arm64) (push) Has been cancelled
Run Gosec / Gosec (push) Has been cancelled
Lint / golangci-lint (push) Has been cancelled
Checks dependencies and mocks generation / Check go mod tidy (push) Has been cancelled
Checks dependencies and mocks generation / Check up to date mocks (push) Has been cancelled
System Tests / setup (push) Has been cancelled
Tests / Code Coverage / test-store (push) Has been cancelled
Tests / Code Coverage / split-test-files (push) Has been cancelled
Tests / Code Coverage / test-log (push) Has been cancelled
Tests / Code Coverage / test-integration (push) Has been cancelled
Tests / Code Coverage / test-e2e (push) Has been cancelled
Tests / Code Coverage / test-sim-nondeterminism (push) Has been cancelled
System Tests / test-system (push) Has been cancelled
System Tests / test-system-legacy (push) Has been cancelled
Tests / Code Coverage / tests (00) (push) Has been cancelled
Tests / Code Coverage / tests (01) (push) Has been cancelled
Tests / Code Coverage / tests (02) (push) Has been cancelled
Tests / Code Coverage / tests (03) (push) Has been cancelled
Tests / Code Coverage / repo-analysis (push) Has been cancelled
Sims release/0.47.x / install-runsim (push) Has been skipped
Sims release/0.47.x / test-sim-import-export (push) Has been skipped
Sims release/0.47.x / test-sim-after-import (push) Has been skipped
Sims release/0.47.x / test-sim-multi-seed-short (push) Has been skipped
Sims release/0.47.x / sims-notify-failure (push) Has been skipped
Sims / build (push) Has been cancelled
Sims / test-sim-import-export (push) Has been cancelled
Sims / test-sim-after-import (push) Has been cancelled
Sims / test-sim-deterministic (push) Has been cancelled
Sims / test-sim-multi-seed-short (push) Has been cancelled
Remove GitHub Action Old Artifacts / remove-old-artifacts (push) Has been cancelled
Sims release/0.50.x / build (push) Has been cancelled
Sims release/0.50.x / install-runsim (push) Has been cancelled
Sims release/0.50.x / test-sim-import-export (push) Has been cancelled
Sims release/0.50.x / test-sim-after-import (push) Has been cancelled
Sims release/0.50.x / test-sim-multi-seed-short (push) Has been cancelled
Sims release/0.50.x / sims-notify-failure (push) Has been cancelled
Sims release/0.53.x / build (push) Has been cancelled
Sims release/0.53.x / install-runsim (push) Has been cancelled
Sims release/0.53.x / test-sim-import-export (push) Has been cancelled
Sims release/0.53.x / test-sim-after-import (push) Has been cancelled
Sims release/0.53.x / test-sim-multi-seed-short (push) Has been cancelled
Sims Nightly (Long) / test-sim-multi-seed-long (push) Has been cancelled
Sims Nightly (Long) / test-sim-import-export (push) Has been cancelled
Sims release/0.53.x / sims-notify-failure (push) Has been cancelled
Sims Nightly (Long) / sims-notify-failure (push) Has been cancelled
Sims release/0.47.x / build (push) Failing after 23s
|
||
|---|---|---|
| .. | ||
| CHANGELOG.md | ||
| cli.go | ||
| genesis_io.go | ||
| GETTING_STARTED.md | ||
| go.mod | ||
| go.sum | ||
| io_utils.go | ||
| node_utils.go | ||
| README.md | ||
| rest_support.go | ||
| rpc_client.go | ||
| system.go | ||
| test_runner.go | ||
| testnet_init.go | ||
System Tests
This package contains the testing framework for black-box system tests. It includes a test runner that sets up a multi-node blockchain locally for use in tests. The framework provides utilities and helpers for easy access and setup in tests.
Components
- CLI: Command-line interface wrapper for interacting with the chain or keyring
- Servers: Server instances to run the blockchain environment.
- Events: Event listeners
- RPC: Remote Procedure Call setup for communication.
Dependencies
- testify: Testing toolkit.
- gjson: JSON parser.
- sjson: JSON modifier.
Server and client-side operations 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 guide to get started.
Execute a single test
go test -tags system_test -count=1 -v . --run TestStakeUnstake -verbose
Test cli parameters
-verboseverbose output-wait-timeduration - time to wait for chain events (default 30s)-nodes-countint - number of nodes in the cluster (default 4)
Port ranges
With n nodes:
26657-26657+n- RPC1317-1317+n- API9090-9090+n- GRPC16656-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.