mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-05 04:55:18 +00:00
lint: enable errcheck (#5336)
## Description Enable errcheck linter throughout the codebase Closes: #5059
This commit is contained in:
@@ -35,7 +35,11 @@ func TestHeaderEvents(t *testing.T) {
|
||||
// if so, then we start it, listen, and stop it.
|
||||
err := c.Start()
|
||||
require.Nil(t, err, "%d: %+v", i, err)
|
||||
defer c.Stop()
|
||||
t.Cleanup(func() {
|
||||
if err := c.Stop(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
evtTyp := types.EventNewBlockHeader
|
||||
@@ -59,14 +63,22 @@ func TestBlockEvents(t *testing.T) {
|
||||
// if so, then we start it, listen, and stop it.
|
||||
err := c.Start()
|
||||
require.Nil(t, err)
|
||||
defer c.Stop()
|
||||
t.Cleanup(func() {
|
||||
if err := c.Stop(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
const subscriber = "TestBlockEvents"
|
||||
|
||||
eventCh, err := c.Subscribe(context.Background(), subscriber, types.QueryForEvent(types.EventNewBlock).String())
|
||||
require.NoError(t, err)
|
||||
defer c.UnsubscribeAll(context.Background(), subscriber)
|
||||
t.Cleanup(func() {
|
||||
if err := c.UnsubscribeAll(context.Background(), subscriber); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
|
||||
var firstBlockHeight int64
|
||||
for i := int64(0); i < 3; i++ {
|
||||
@@ -99,7 +111,11 @@ func testTxEventsSent(t *testing.T, broadcastMethod string) {
|
||||
// if so, then we start it, listen, and stop it.
|
||||
err := c.Start()
|
||||
require.Nil(t, err)
|
||||
defer c.Stop()
|
||||
t.Cleanup(func() {
|
||||
if err := c.Stop(); err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// make the tx
|
||||
|
||||
@@ -68,7 +68,11 @@ func WaitForOneEvent(c EventsClient, evtTyp string, timeout time.Duration) (type
|
||||
return nil, fmt.Errorf("failed to subscribe: %w", err)
|
||||
}
|
||||
// make sure to unregister after the test is over
|
||||
defer c.UnsubscribeAll(ctx, subscriber)
|
||||
defer func() {
|
||||
if deferErr := c.UnsubscribeAll(ctx, subscriber); deferErr != nil {
|
||||
panic(err)
|
||||
}
|
||||
}()
|
||||
|
||||
select {
|
||||
case event := <-eventCh:
|
||||
|
||||
@@ -50,7 +50,9 @@ type Local struct {
|
||||
// don't run in parallel, or try to simulate an entire network in
|
||||
// one process...
|
||||
func New(node *nm.Node) *Local {
|
||||
node.ConfigureRPC()
|
||||
if err := node.ConfigureRPC(); err != nil {
|
||||
node.Logger.Error("Error configuring RPC", "err", err)
|
||||
}
|
||||
return &Local{
|
||||
EventBus: node.EventBus(),
|
||||
Logger: log.NewNopLogger(),
|
||||
|
||||
@@ -71,7 +71,11 @@ func BroadcastTxCommit(ctx *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadc
|
||||
env.Logger.Error("Error on broadcast_tx_commit", "err", err)
|
||||
return nil, err
|
||||
}
|
||||
defer env.EventBus.Unsubscribe(context.Background(), subscriber, q)
|
||||
defer func() {
|
||||
if err := env.EventBus.Unsubscribe(context.Background(), subscriber, q); err != nil {
|
||||
env.Logger.Error("Error unsubscribing from eventBus", "err", err)
|
||||
}
|
||||
}()
|
||||
|
||||
// Broadcast tx and wait for CheckTx result
|
||||
checkTxResCh := make(chan *abci.Response, 1)
|
||||
|
||||
@@ -125,7 +125,11 @@ func setup() {
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
go server.Serve(listener1, mux, tcpLogger, config)
|
||||
go func() {
|
||||
if err := server.Serve(listener1, mux, tcpLogger, config); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}()
|
||||
|
||||
unixLogger := logger.With("socket", "unix")
|
||||
mux2 := http.NewServeMux()
|
||||
@@ -137,7 +141,11 @@ func setup() {
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
go server.Serve(listener2, mux2, unixLogger, config)
|
||||
go func() {
|
||||
if err := server.Serve(listener2, mux2, unixLogger, config); err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}()
|
||||
|
||||
// wait for servers to start
|
||||
time.Sleep(time.Second * 2)
|
||||
|
||||
@@ -85,7 +85,11 @@ func TestServeTLS(t *testing.T) {
|
||||
fmt.Fprint(w, "some body")
|
||||
})
|
||||
|
||||
go ServeTLS(ln, mux, "test.crt", "test.key", log.TestingLogger(), DefaultConfig())
|
||||
go func() {
|
||||
if err := ServeTLS(ln, mux, "test.crt", "test.key", log.TestingLogger(), DefaultConfig()); err != nil {
|
||||
t.Log(err)
|
||||
}
|
||||
}()
|
||||
|
||||
tr := &http.Transport{
|
||||
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
|
||||
|
||||
@@ -306,7 +306,9 @@ func (wsc *wsConnection) readRoutine() {
|
||||
err = fmt.Errorf("WSJSONRPC: %v", r)
|
||||
}
|
||||
wsc.Logger.Error("Panic in WSJSONRPC handler", "err", err, "stack", string(debug.Stack()))
|
||||
wsc.WriteRPCResponse(writeCtx, types.RPCInternalError(types.JSONRPCIntID(-1), err))
|
||||
if err := wsc.WriteRPCResponse(writeCtx, types.RPCInternalError(types.JSONRPCIntID(-1), err)); err != nil {
|
||||
wsc.Logger.Error("Error writing RPC response", "err", err)
|
||||
}
|
||||
go wsc.readRoutine()
|
||||
}
|
||||
}()
|
||||
@@ -332,7 +334,9 @@ func (wsc *wsConnection) readRoutine() {
|
||||
} else {
|
||||
wsc.Logger.Error("Failed to read request", "err", err)
|
||||
}
|
||||
wsc.Stop()
|
||||
if err := wsc.Stop(); err != nil {
|
||||
wsc.Logger.Error("Error closing websocket connection", "err", err)
|
||||
}
|
||||
close(wsc.readRoutineQuit)
|
||||
return
|
||||
}
|
||||
@@ -341,7 +345,10 @@ func (wsc *wsConnection) readRoutine() {
|
||||
var request types.RPCRequest
|
||||
err = dec.Decode(&request)
|
||||
if err != nil {
|
||||
wsc.WriteRPCResponse(writeCtx, types.RPCParseError(fmt.Errorf("error unmarshaling request: %w", err)))
|
||||
if err := wsc.WriteRPCResponse(writeCtx,
|
||||
types.RPCParseError(fmt.Errorf("error unmarshaling request: %w", err))); err != nil {
|
||||
wsc.Logger.Error("Error writing RPC response", "err", err)
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -358,7 +365,9 @@ func (wsc *wsConnection) readRoutine() {
|
||||
// Now, fetch the RPCFunc and execute it.
|
||||
rpcFunc := wsc.funcMap[request.Method]
|
||||
if rpcFunc == nil {
|
||||
wsc.WriteRPCResponse(writeCtx, types.RPCMethodNotFoundError(request.ID))
|
||||
if err := wsc.WriteRPCResponse(writeCtx, types.RPCMethodNotFoundError(request.ID)); err != nil {
|
||||
wsc.Logger.Error("Error writing RPC response", "err", err)
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
@@ -367,9 +376,11 @@ func (wsc *wsConnection) readRoutine() {
|
||||
if len(request.Params) > 0 {
|
||||
fnArgs, err := jsonParamsToArgs(rpcFunc, request.Params)
|
||||
if err != nil {
|
||||
wsc.WriteRPCResponse(writeCtx,
|
||||
if err := wsc.WriteRPCResponse(writeCtx,
|
||||
types.RPCInternalError(request.ID, fmt.Errorf("error converting json params to arguments: %w", err)),
|
||||
)
|
||||
); err != nil {
|
||||
wsc.Logger.Error("Error writing RPC response", "err", err)
|
||||
}
|
||||
continue
|
||||
}
|
||||
args = append(args, fnArgs...)
|
||||
@@ -382,11 +393,15 @@ func (wsc *wsConnection) readRoutine() {
|
||||
|
||||
result, err := unreflectResult(returns)
|
||||
if err != nil {
|
||||
wsc.WriteRPCResponse(writeCtx, types.RPCInternalError(request.ID, err))
|
||||
if err := wsc.WriteRPCResponse(writeCtx, types.RPCInternalError(request.ID, err)); err != nil {
|
||||
wsc.Logger.Error("Error writing RPC response", "err", err)
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
wsc.WriteRPCResponse(writeCtx, types.NewRPCSuccessResponse(request.ID, result))
|
||||
if err := wsc.WriteRPCResponse(writeCtx, types.NewRPCSuccessResponse(request.ID, result)); err != nil {
|
||||
wsc.Logger.Error("Error writing RPC response", "err", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -440,12 +455,12 @@ func (wsc *wsConnection) writeRoutine() {
|
||||
wsc.Logger.Error("Can't get NextWriter", "err", err)
|
||||
return
|
||||
}
|
||||
w.Write(jsonBytes)
|
||||
w.Write(jsonBytes) //nolint:errcheck //ignore error
|
||||
|
||||
// Add queued messages to the current websocket message.
|
||||
n := len(wsc.writeChan)
|
||||
for i := 0; i < n; i++ {
|
||||
w.Write(newline)
|
||||
w.Write(newline) //nolint:errcheck //ignore error
|
||||
|
||||
msg = <-wsc.writeChan
|
||||
jsonBytes, err = json.MarshalIndent(msg, "", " ")
|
||||
@@ -453,7 +468,7 @@ func (wsc *wsConnection) writeRoutine() {
|
||||
wsc.Logger.Error("Failed to marshal RPCResponse to JSON", "err", err)
|
||||
continue
|
||||
}
|
||||
w.Write(jsonBytes)
|
||||
w.Write(jsonBytes) //nolint:errcheck //ignore error
|
||||
}
|
||||
|
||||
if err := w.Close(); err != nil {
|
||||
|
||||
Reference in New Issue
Block a user