mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-08 14:21:14 +00:00
This is a very small change, but removes a method from the `service.Service` interface (a win!) and forces callers to explicitly pass loggers in to objects during construction rather than (later) injecting them. There's not a real need for this kind of lazy construction of loggers, and I think a decent potential for confusion for mutable loggers. The main concern I have is that this changes the constructor API for ABCI clients. I think this is fine, and I suspect that as we plumb contexts through, and make changes to the RPC services there'll be a number of similar sorts of changes to various (quasi) public interfaces, which I think we should welcome.
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.