tendermint/test
Anton Kaliaev fb91ef7462 validate reactor messages (#2711)
* validate reactor messages

Refs #2683

* validate blockchain messages

Refs #2683

* validate evidence messages

Refs #2683

* todo

* check ProposalPOL and signature sizes

* add a changelog entry

* check addr is valid when we add it to the addrbook

* validate incoming netAddr (not just nil check!)

* fixes after Bucky's review

* check timestamps

* beef up block#ValidateBasic

* move some checks into bcBlockResponseMessage

* update Gopkg.lock

Fix

```
grouped write of manifest, lock and vendor: failed to export github.com/tendermint/go-amino: fatal: failed to unpack tree object 6dcc6ddc143e116455c94b25c1004c99e0d0ca12
```

by running `dep ensure -update`

* bump year since now we check it

* generate test/p2p/data on the fly using tendermint testnet

* allow sync chains older than 1 year

* use full path when creating a testnet

* move testnet gen to test/docker/Dockerfile

* relax LastCommitRound check

Refs #2737

* fix conflicts after merge

* add small comment

* some ValidateBasic updates

* fixes

* AppHash length is not fixed
2018-11-01 02:07:18 -04:00
..
app General Merkle Proof (#2298) 2018-09-28 20:03:19 -04:00
docker validate reactor messages (#2711) 2018-11-01 02:07:18 -04:00
p2p validate reactor messages (#2711) 2018-11-01 02:07:18 -04:00
persist Revert "delete everything" (includes everything non-go-crypto) 2018-06-20 17:35:30 -07:00
README.md Revert "delete everything" (includes everything non-go-crypto) 2018-06-20 17:35:30 -07:00
test_cover.sh tools: Remove redundant grep -v vendors/ (#1996) 2018-07-17 21:33:00 +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 with 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