tendermint/test
Zach 13a2013229 Testing refactor for Jenkins (#1098)
* de-mystify tests & run them in parallel (#1031)

* test optimization for jenkins (#1093)

* makefile cleanup

* tests: split fast and slow go tests, closes #1055

* pr comments

* restore circle conditions

* fix need_abci

* ...

* docker run: no :Z for circle?

* Remove cmd breaking comment
2018-03-08 18:52:38 +04:00
..
app Testing refactor for Jenkins (#1098) 2018-03-08 18:52:38 +04:00
circleci Speed up CircleCI builds 2018-03-06 17:36:44 +01:00
docker Testing refactor for Jenkins (#1098) 2018-03-08 18:52:38 +04:00
p2p Testing refactor for Jenkins (#1098) 2018-03-08 18:52:38 +04:00
persist Testing refactor for Jenkins (#1098) 2018-03-08 18:52:38 +04:00
utils postmerge 2017-04-21 18:09:47 -04:00
README.md remove old network tests 2018-02-27 18:02:25 +04:00
test_cover.sh Testing refactor for Jenkins (#1098) 2018-03-08 18:52:38 +04:00
test_libs.sh Speed up CircleCI builds 2018-03-06 17:36:44 +01:00

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

If on a release-x.x.x branch, we also run

  • go test for all our dependency libs (test/test_libs.sh)