tendermint/test
Anton Kaliaev d0ca0cb308
otherwise we end up with unmount errors due to busy disk
```
local_testnet_1
Failed to remove container (local_testnet_1): Error response from daemon: Unable to remove filesystem for 74e1104c705d4f21137bbe9e6710f33511948fc04d26475b482d1314fe70d537: remove /var/lib/docker/containers/74e1104c705d4f21137bbe9e6710f33511948fc04d26475b482d1314fe70d537/shm: device or resource busy
local_testnet_2
Failed to remove container (local_testnet_2): Error response from daemon: Unable to remove filesystem for 6f2ec44e01afd85875c1d9958afa957f1623ed9464df2b4fcac06feb8254145e: remove /var/lib/docker/containers/6f2ec44e01afd85875c1d9958afa957f1623ed9464df2b4fcac06feb8254145e/shm: device or resource busy
local_testnet_3
Failed to remove container (local_testnet_3): Error response from daemon: Unable to remove filesystem for 6160c73d45376920d90473a487a07f0e283e383011a0d23050b22cd82ab5d255: remove /var/lib/docker/containers/6160c73d45376920d90473a487a07f0e283e383011a0d23050b22cd82ab5d255/shm: device or resource busy
local_testnet_4
Failed to remove container (local_testnet_4): Error response from daemon: Driver btrfs failed to remove root filesystem c93a30d66ff3710617915a8f6075755ebc45aebf73569420225105cc81003e2f: Failed to destroy btrfs snapshot /var/lib/docker/btrfs/subvolumes for cac56069a3682b6d133e239f479fb82a67c4ccd09b877794d9f440a1125d59d6: operation not permitted

* [15:37:40] stopping rsyslog container
Failed to remove container (rsyslog): Error response from daemon: Driver btrfs failed to remove root filesystem 477287a170a48156e663c55092257064e1f14770d0b6c634a9972893636d9451: Failed to destroy btrfs snapshot /var/lib/docker/btrfs/subvolumes for 76b66d582a478743c099f479bf88eb334ad303ef607f91021dfa58d28c9161eb: operation not permitted
make: *** [test_integrations] Error 1
```
2017-02-14 20:40:23 +04:00
..
app Fix test/app/dummy_test.sh 2017-01-28 09:11:31 -08:00
docker test: update docker to 1.7.4 2017-01-28 00:12:39 -05:00
net rename tmbase image to tendermint 2017-01-30 11:59:35 +04:00
p2p otherwise we end up with unmount errors due to busy disk 2017-02-14 20:40:23 +04:00
persist fix tests 2017-01-12 10:58:44 -05:00
README.md README for local testnets [ci skip] 2017-01-28 19:25:28 -05:00
run_test.sh rebase fixes and BeginBlock(hash,header) 2016-11-16 13:25:13 -05:00
test.sh otherwise we end up with unmount errors due to busy disk 2017-02-14 20:40:23 +04:00
test_cover.sh improve circleci config 2017-02-07 13:16:47 +04:00
test_libs.sh improve circleci config 2017-02-07 13:16:47 +04: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
    • dummy 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 dummy 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)
  • network_testing - benchmark a mintnet based cloud deploy using netmon