Reasons: 1) all deps we're using should be passing tests (including external) 2) deps can require complicated setup for testing 3) the person responsible for releasing Tendermint should be cautious when updating a dep |
||
---|---|---|
.. | ||
app | ||
circleci | ||
docker | ||
p2p | ||
persist | ||
utils | ||
README.md | ||
test_cover.sh |
README.md
Tendermint Tests
The unit tests (ie. the go test
s) can be run with make test
.
The integration tests can be run wtih make test_integrations
.
Running the integrations test will build a docker container with local version of tendermint and run the following tests in docker containers:
- go tests, with --race
- includes test coverage
- app tests
- kvstore app over socket
- counter app over socket
- counter app over grpc
- persistence tests
- crash tendermint at each of many predefined points, restart, and ensure it syncs properly with the app
- p2p tests
- start a local kvstore app testnet on a docker network (requires docker version 1.10+)
- send a tx on each node and ensure the state root is updated on all of them
- crash and restart nodes one at a time and ensure they can sync back up (via fastsync)
- crash and restart all nodes at once and ensure they can sync back up