Alexander Simmerl b7ce89e568
Speed up CircleCI builds
To achieve faster feedback cycles for our feature PRs this change
reduces the average buildtime from 35 to ~6min by utilising their new
2.0 offering based on docker and nomad. We make use of parallel build
steps wherever possible so that the duration is determined by the
slowest test suite (p2p).

This is an intermediate step until we move our CI/CD completely
on-premise for more control and added security.
2018-03-06 17:36:44 +01:00
..
2018-03-06 17:36:44 +01:00
2018-03-06 17:36:44 +01:00
2018-03-06 17:36:44 +01:00
2018-02-27 18:01:10 +04:00
2018-03-06 17:36:44 +01:00
2017-04-21 18:09:47 -04:00
2018-02-27 18:02:25 +04:00
2018-01-19 00:58:54 -05:00
2017-04-21 18:09:47 -04:00
2018-03-06 17:36:44 +01:00
2018-02-27 18:02:25 +04:00

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)