Files
tendermint/test
Thane Thomson 3bec1668c6 e2e: Extract Docker-specific functionality (#8754)
* e2e: Extract Docker-specific functionality

Extract Docker-specific functionality and put it behind an interface
that should hopefully, without too much modification, allow us to
implement a Digital Ocean-based infrastructure provider.

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Thread contexts through all potentially long-running functions

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Drop the "API" from interface/struct/var naming

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Simplify function returns

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Rename GenerateConfig to Setup to make it more generic

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Consolidate all infra functions into a single interface

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Localize linter directives

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Look up and use complete node in ShowNodeLogs and TailNodeLogs calls

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Restructure infra provider API into a separate package

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Rename interface again

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Rename exec functions for readability

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Relocate staticcheck lint directive

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Remove staticcheck lint directive

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Make testnet infra struct private

Signed-off-by: Thane Thomson <connect@thanethomson.com>

* Only pass testnetDir to Cleanup function

Signed-off-by: Thane Thomson <connect@thanethomson.com>
2022-06-29 08:02:05 -04:00
..
2021-07-12 14:55:32 +00:00

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
  • persistence tests
    • crash tendermint at each of many predefined points, restart, and ensure it syncs properly with the app

Fuzzing

Fuzzing of various system inputs.

See ./fuzz/README.md for more details.