mirror of https://github.com/certusone/wasmd.git
|
||
---|---|---|
.. | ||
testdata | ||
.gitignore | ||
Makefile | ||
README.md | ||
basic_test.go | ||
cli.go | ||
cli_test.go | ||
fraud_test.go | ||
genesis_io.go | ||
go.mod | ||
go.sum | ||
main_test.go | ||
permissioned_test.go | ||
rpc_client.go | ||
staking_test.go | ||
system.go | ||
upgrade_test.go |
README.md
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.
Execute a single test
go test -tags system_test -count=1 -v ./testing --run TestSmokeTest -verbose
- Force a binary rebuild before running the test
go test -tags system_test -count=1 -v ./testing --run TestSmokeTest -verbose -rebuild
Test cli parameters
-verbose
verbose output-rebuild
- rebuild artifacts-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
- RPC1317
-1317+n
- API9090
-9090+n
- GRPC16656
-16656+n
- P2P
For example Node 3 listens on 26660
for RPC calls
Resources
Disclaimer
The initial code was contributed from the Tgrade project. The idea was inspired by the work of the e-money team on their system tests. Thank you!