Skip to content

Commit

Permalink
lint: errcheck (tendermint#5091)
Browse files Browse the repository at this point in the history
## Description

add more error checks to tests


gonna do a third PR that tackles the non test cases
  • Loading branch information
tac0turtle authored Jul 14, 2020
1 parent 0825d57 commit 6ccccb0
Show file tree
Hide file tree
Showing 32 changed files with 775 additions and 231 deletions.
2 changes: 1 addition & 1 deletion CHANGELOG_PENDING.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ Friendly reminder, we have a [bug bounty program](https://hackerone.com/tendermi
- [crypto] [\#4721](https://github.com/tendermint/tendermint/pull/4721) Remove `SimpleHashFromMap()` and `SimpleProofsFromMap()` (@erikgrinaker)
- [crypto] \#4940 All keys have become `[]byte` instead of `[<size>]byte`. The byte method no longer returns the marshaled value but just the `[]byte` form of the data.
- [crypto] \4988 Removal of key type multisig
- The key has been moved to the Cosmos-SDK (https://github.com/cosmos/cosmos-sdk/blob/master/crypto/types/multisig/multisignature.go)
- The key has been moved to the [Cosmos-SDK](https://github.com/cosmos/cosmos-sdk/blob/master/crypto/types/multisig/multisignature.go)
- [crypto] \#4989 Remove `Simple` prefixes from `SimpleProof`, `SimpleValueOp` & `SimpleProofNode`.
- `merkle.Proof` has been renamed to `ProofOps`.
- Protobuf messages `Proof` & `ProofOp` has been moved to `proto/crypto/merkle`
Expand Down
65 changes: 52 additions & 13 deletions abci/client/socket_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -295,80 +295,119 @@ func (cli *socketClient) FlushSync() error {

func (cli *socketClient) EchoSync(msg string) (*types.ResponseEcho, error) {
reqres := cli.queueRequest(types.ToRequestEcho(msg))
cli.FlushSync()
if err := cli.FlushSync(); err != nil {
return nil, err
}

return reqres.Response.GetEcho(), cli.Error()
}

func (cli *socketClient) InfoSync(req types.RequestInfo) (*types.ResponseInfo, error) {
reqres := cli.queueRequest(types.ToRequestInfo(req))
cli.FlushSync()
if err := cli.FlushSync(); err != nil {
return nil, err
}

return reqres.Response.GetInfo(), cli.Error()
}

func (cli *socketClient) SetOptionSync(req types.RequestSetOption) (*types.ResponseSetOption, error) {
reqres := cli.queueRequest(types.ToRequestSetOption(req))
cli.FlushSync()
if err := cli.FlushSync(); err != nil {
return nil, err
}

return reqres.Response.GetSetOption(), cli.Error()
}

func (cli *socketClient) DeliverTxSync(req types.RequestDeliverTx) (*types.ResponseDeliverTx, error) {
reqres := cli.queueRequest(types.ToRequestDeliverTx(req))
cli.FlushSync()
if err := cli.FlushSync(); err != nil {
return nil, err
}

return reqres.Response.GetDeliverTx(), cli.Error()
}

func (cli *socketClient) CheckTxSync(req types.RequestCheckTx) (*types.ResponseCheckTx, error) {
reqres := cli.queueRequest(types.ToRequestCheckTx(req))
cli.FlushSync()
if err := cli.FlushSync(); err != nil {
return nil, err
}

return reqres.Response.GetCheckTx(), cli.Error()
}

func (cli *socketClient) QuerySync(req types.RequestQuery) (*types.ResponseQuery, error) {
reqres := cli.queueRequest(types.ToRequestQuery(req))
cli.FlushSync()
if err := cli.FlushSync(); err != nil {
return nil, err
}

return reqres.Response.GetQuery(), cli.Error()
}

func (cli *socketClient) CommitSync() (*types.ResponseCommit, error) {
reqres := cli.queueRequest(types.ToRequestCommit())
cli.FlushSync()
if err := cli.FlushSync(); err != nil {
return nil, err
}

return reqres.Response.GetCommit(), cli.Error()
}

func (cli *socketClient) InitChainSync(req types.RequestInitChain) (*types.ResponseInitChain, error) {
reqres := cli.queueRequest(types.ToRequestInitChain(req))
cli.FlushSync()
if err := cli.FlushSync(); err != nil {
return nil, err
}

return reqres.Response.GetInitChain(), cli.Error()
}

func (cli *socketClient) BeginBlockSync(req types.RequestBeginBlock) (*types.ResponseBeginBlock, error) {
reqres := cli.queueRequest(types.ToRequestBeginBlock(req))
cli.FlushSync()
if err := cli.FlushSync(); err != nil {
return nil, err
}

return reqres.Response.GetBeginBlock(), cli.Error()
}

func (cli *socketClient) EndBlockSync(req types.RequestEndBlock) (*types.ResponseEndBlock, error) {
reqres := cli.queueRequest(types.ToRequestEndBlock(req))
cli.FlushSync()
if err := cli.FlushSync(); err != nil {
return nil, err
}

return reqres.Response.GetEndBlock(), cli.Error()
}

func (cli *socketClient) ListSnapshotsSync(req types.RequestListSnapshots) (*types.ResponseListSnapshots, error) {
reqres := cli.queueRequest(types.ToRequestListSnapshots(req))
cli.FlushSync()
if err := cli.FlushSync(); err != nil {
return nil, err
}

return reqres.Response.GetListSnapshots(), cli.Error()
}

func (cli *socketClient) OfferSnapshotSync(req types.RequestOfferSnapshot) (*types.ResponseOfferSnapshot, error) {
reqres := cli.queueRequest(types.ToRequestOfferSnapshot(req))
cli.FlushSync()
if err := cli.FlushSync(); err != nil {
return nil, err
}

return reqres.Response.GetOfferSnapshot(), cli.Error()
}

func (cli *socketClient) LoadSnapshotChunkSync(
req types.RequestLoadSnapshotChunk) (*types.ResponseLoadSnapshotChunk, error) {
reqres := cli.queueRequest(types.ToRequestLoadSnapshotChunk(req))
cli.FlushSync()
if err := cli.FlushSync(); err != nil {
return nil, err
}

return reqres.Response.GetLoadSnapshotChunk(), cli.Error()
}

Expand Down
30 changes: 24 additions & 6 deletions abci/client/socket_client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,23 @@ func TestProperSyncCalls(t *testing.T) {
app := slowApp{}

s, c := setupClientServer(t, app)
defer s.Stop()
defer c.Stop()
t.Cleanup(func() {
if err := s.Stop(); err != nil {
t.Error(err)
}
})
t.Cleanup(func() {
if err := c.Stop(); err != nil {
t.Error(err)
}
})

resp := make(chan error, 1)
go func() {
// This is BeginBlockSync unrolled....
reqres := c.BeginBlockAsync(types.RequestBeginBlock{})
c.FlushSync()
err := c.FlushSync()
require.NoError(t, err)
res := reqres.Response.GetBeginBlock()
require.NotNil(t, res)
resp <- c.Error()
Expand All @@ -69,8 +78,16 @@ func TestHangingSyncCalls(t *testing.T) {
app := slowApp{}

s, c := setupClientServer(t, app)
defer s.Stop()
defer c.Stop()
t.Cleanup(func() {
if err := s.Stop(); err != nil {
t.Log(err)
}
})
t.Cleanup(func() {
if err := c.Stop(); err != nil {
t.Log(err)
}
})

resp := make(chan error, 1)
go func() {
Expand All @@ -81,7 +98,8 @@ func TestHangingSyncCalls(t *testing.T) {
// no response yet from server
time.Sleep(20 * time.Millisecond)
// kill the server, so the connections break
s.Stop()
err := s.Stop()
require.NoError(t, err)

// wait for the response from BeginBlock
reqres.Wait()
Expand Down
8 changes: 6 additions & 2 deletions abci/cmd/abci-cli/abci-cli.go
Original file line number Diff line number Diff line change
Expand Up @@ -642,7 +642,9 @@ func cmdCounter(cmd *cobra.Command, args []string) error {
// Stop upon receiving SIGTERM or CTRL-C.
tmos.TrapSignal(logger, func() {
// Cleanup
srv.Stop()
if err := srv.Stop(); err != nil {
logger.Error("Error while stopping server", "err", err)
}
})

// Run forever.
Expand Down Expand Up @@ -674,7 +676,9 @@ func cmdKVStore(cmd *cobra.Command, args []string) error {
// Stop upon receiving SIGTERM or CTRL-C.
tmos.TrapSignal(logger, func() {
// Cleanup
srv.Stop()
if err := srv.Stop(); err != nil {
logger.Error("Error while stopping server", "err", err)
}
})

// Run forever.
Expand Down
26 changes: 22 additions & 4 deletions abci/example/example_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,15 +56,23 @@ func testStream(t *testing.T, app types.Application) {
if err := server.Start(); err != nil {
require.NoError(t, err, "Error starting socket server")
}
defer server.Stop() //nolint:errcheck // ignore for tests
t.Cleanup(func() {
if err := server.Stop(); err != nil {
t.Error(err)
}
})

// Connect to the socket
client := abcicli.NewSocketClient(socket, false)
client.SetLogger(log.TestingLogger().With("module", "abci-client"))
if err := client.Start(); err != nil {
t.Fatalf("Error starting socket client: %v", err.Error())
}
defer client.Stop() //nolint:errcheck // ignore for tests
t.Cleanup(func() {
if err := client.Stop(); err != nil {
t.Error(err)
}
})

done := make(chan struct{})
counter := 0
Expand Down Expand Up @@ -132,14 +140,24 @@ func testGRPCSync(t *testing.T, app types.ABCIApplicationServer) {
if err := server.Start(); err != nil {
t.Fatalf("Error starting GRPC server: %v", err.Error())
}
defer server.Stop() //nolint:errcheck // ignore for tests

t.Cleanup(func() {
if err := server.Stop(); err != nil {
t.Error(err)
}
})

// Connect to the socket
conn, err := grpc.Dial(socket, grpc.WithInsecure(), grpc.WithContextDialer(dialerFunc))
if err != nil {
t.Fatalf("Error dialing GRPC server: %v", err.Error())
}
defer conn.Close()

t.Cleanup(func() {
if err := conn.Close(); err != nil {
t.Error(err)
}
})

client := types.NewABCIApplicationClient(conn)

Expand Down
25 changes: 21 additions & 4 deletions abci/example/kvstore/kvstore_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -278,17 +278,34 @@ func TestClientServer(t *testing.T) {
kvstore := NewApplication()
client, server, err := makeSocketClientServer(kvstore, "kvstore-socket")
require.NoError(t, err)
defer server.Stop() //nolint:errcheck // ignore for tests
defer client.Stop() //nolint:errcheck // ignore for tests
t.Cleanup(func() {
if err := server.Stop(); err != nil {
t.Error(err)
}
})
t.Cleanup(func() {
if err := client.Stop(); err != nil {
t.Error(err)
}
})

runClientTests(t, client)

// set up grpc app
kvstore = NewApplication()
gclient, gserver, err := makeGRPCClientServer(kvstore, "kvstore-grpc")
require.NoError(t, err)
defer gserver.Stop() //nolint:errcheck // ignore for tests
defer gclient.Stop() //nolint:errcheck // ignore for tests

t.Cleanup(func() {
if err := gserver.Stop(); err != nil {
t.Error(err)
}
})
t.Cleanup(func() {
if err := gclient.Stop(); err != nil {
t.Error(err)
}
})

runClientTests(t, gclient)
}
Expand Down
18 changes: 15 additions & 3 deletions blockchain/v0/pool_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,11 @@ func TestBlockPoolBasic(t *testing.T) {
t.Error(err)
}

defer pool.Stop()
t.Cleanup(func() {
if err := pool.Stop(); err != nil {
t.Error(err)
}
})

peers.start()
defer peers.stop()
Expand Down Expand Up @@ -144,7 +148,11 @@ func TestBlockPoolTimeout(t *testing.T) {
if err != nil {
t.Error(err)
}
defer pool.Stop()
t.Cleanup(func() {
if err := pool.Stop(); err != nil {
t.Error(err)
}
})

for _, peer := range peers {
t.Logf("Peer %v", peer.id)
Expand Down Expand Up @@ -206,7 +214,11 @@ func TestBlockPoolRemovePeer(t *testing.T) {
pool.SetLogger(log.TestingLogger())
err := pool.Start()
require.NoError(t, err)
defer pool.Stop()
t.Cleanup(func() {
if err := pool.Stop(); err != nil {
t.Error(err)
}
})

// add peers
for peerID, peer := range peers {
Expand Down
7 changes: 5 additions & 2 deletions blockchain/v2/reactor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"time"

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
dbm "github.com/tendermint/tm-db"

abci "github.com/tendermint/tendermint/abci/types"
Expand Down Expand Up @@ -387,7 +388,8 @@ func TestReactorHelperMode(t *testing.T) {
reactor := newTestReactor(params)
mockSwitch := &mockSwitchIo{switchedToConsensus: false}
reactor.io = mockSwitch
reactor.Start()
err := reactor.Start()
require.NoError(t, err)

for i := 0; i < len(tt.msgs); i++ {
step := tt.msgs[i]
Expand Down Expand Up @@ -415,7 +417,8 @@ func TestReactorHelperMode(t *testing.T) {
}
}
}
reactor.Stop()
err = reactor.Stop()
require.NoError(t, err)
})
}
}
Expand Down
Loading

0 comments on commit 6ccccb0

Please sign in to comment.