From bd91f367e7354e388555335a05b695a7f1e1995c Mon Sep 17 00:00:00 2001 From: Khanh Hoa Date: Sat, 11 May 2024 23:16:14 +0700 Subject: [PATCH] refactor: remove errors directive comparison --- cmd/clef/main.go | 4 ++-- core/blockchain.go | 4 ++-- core/blockchain_test.go | 2 +- eth/api_admin.go | 2 +- node/rpcstack.go | 2 +- p2p/server_test.go | 4 ++-- rlp/decode.go | 12 ++++++------ rlp/encode_test.go | 2 +- rpc/json.go | 2 +- rpc/subscription.go | 4 ++-- rpc/websocket_test.go | 2 +- 11 files changed, 20 insertions(+), 20 deletions(-) diff --git a/cmd/clef/main.go b/cmd/clef/main.go index f9b00e4a12..a985977f45 100644 --- a/cmd/clef/main.go +++ b/cmd/clef/main.go @@ -923,13 +923,13 @@ func testExternalUI(api *core.SignerAPI) { } } expectApprove := func(testcase string, err error) { - if err == nil || err == accounts.ErrUnknownAccount { + if err == nil || errors.Is(err, accounts.ErrUnknownAccount) { return } addErr(fmt.Sprintf("%v: expected no error, got %v", testcase, err.Error())) } expectDeny := func(testcase string, err error) { - if err == nil || err != core.ErrRequestDenied { + if err == nil || !errors.Is(err, core.ErrRequestDenied) { addErr(fmt.Sprintf("%v: expected ErrRequestDenied, got %v", testcase, err)) } } diff --git a/core/blockchain.go b/core/blockchain.go index 56e00e85b6..2170b68c6a 100644 --- a/core/blockchain.go +++ b/core/blockchain.go @@ -1390,7 +1390,7 @@ func (bc *BlockChain) InsertReceiptChain(blockChain types.Blocks, receiptChain [ // Write downloaded chain data and corresponding receipt chain data if len(ancientBlocks) > 0 { if n, err := writeAncient(ancientBlocks, ancientReceipts); err != nil { - if err == errInsertionInterrupted { + if errors.Is(err, errInsertionInterrupted) { return 0, nil } return n, err @@ -1398,7 +1398,7 @@ func (bc *BlockChain) InsertReceiptChain(blockChain types.Blocks, receiptChain [ } if len(liveBlocks) > 0 { if n, err := writeLive(liveBlocks, liveReceipts); err != nil { - if err == errInsertionInterrupted { + if errors.Is(err, errInsertionInterrupted) { return 0, nil } return n, err diff --git a/core/blockchain_test.go b/core/blockchain_test.go index e4bc3e09a6..6c41dda714 100644 --- a/core/blockchain_test.go +++ b/core/blockchain_test.go @@ -154,7 +154,7 @@ func testBlockChainImport(chain types.Blocks, blockchain *BlockChain) error { err = blockchain.validator.ValidateBody(block) } if err != nil { - if err == ErrKnownBlock { + if errors.Is(err, ErrKnownBlock) { continue } return err diff --git a/eth/api_admin.go b/eth/api_admin.go index 4a3ccb84e8..a1c222bf9b 100644 --- a/eth/api_admin.go +++ b/eth/api_admin.go @@ -113,7 +113,7 @@ func (api *AdminAPI) ImportChain(file string) (bool, error) { // Load a batch of blocks from the input file for len(blocks) < cap(blocks) { block := new(types.Block) - if err := stream.Decode(block); err == io.EOF { + if err := stream.Decode(block); errors.Is(err, io.EOF) { break } else if err != nil { return false, fmt.Errorf("block %d: failed to parse: %v", index, err) diff --git a/node/rpcstack.go b/node/rpcstack.go index 6d3828ec2b..50720751ad 100644 --- a/node/rpcstack.go +++ b/node/rpcstack.go @@ -281,7 +281,7 @@ func (h *httpServer) doStop() { ctx, cancel := context.WithTimeout(context.Background(), shutdownTimeout) defer cancel() err := h.server.Shutdown(ctx) - if err != nil && err == ctx.Err() { + if err != nil && errors.Is(err, ctx.Err()) { h.log.Warn("HTTP server graceful shutdown timed out") h.server.Close() } diff --git a/p2p/server_test.go b/p2p/server_test.go index a0491e984a..e7597c2a82 100644 --- a/p2p/server_test.go +++ b/p2p/server_test.go @@ -355,11 +355,11 @@ func TestServerPeerLimits(t *testing.T) { // Check that server allows a trusted peer despite being full. conn, _ = net.Pipe() srv.SetupConn(conn, flags, dialDest) - if tp.closeErr == DiscTooManyPeers { + if errors.Is(tp.closeErr, DiscTooManyPeers) { t.Errorf("failed to bypass MaxPeers with trusted node: %q", tp.closeErr) } - if tp.closeErr != DiscUselessPeer { + if !errors.Is(tp.closeErr, DiscUselessPeer) { t.Errorf("unexpected close error: %q", tp.closeErr) } conn.Close() diff --git a/rlp/decode.go b/rlp/decode.go index 0fbca243ee..41fe1c663b 100644 --- a/rlp/decode.go +++ b/rlp/decode.go @@ -326,7 +326,7 @@ func decodeSliceElems(s *Stream, val reflect.Value, elemdec decoder) error { val.SetLen(i + 1) } // decode into element - if err := elemdec(s, val.Index(i)); err == EOL { + if err := elemdec(s, val.Index(i)); errors.Is(err, EOL) { break } else if err != nil { return addErrorContext(err, fmt.Sprint("[", i, "]")) @@ -345,7 +345,7 @@ func decodeListArray(s *Stream, val reflect.Value, elemdec decoder) error { vlen := val.Len() i := 0 for ; i < vlen; i++ { - if err := elemdec(s, val.Index(i)); err == EOL { + if err := elemdec(s, val.Index(i)); errors.Is(err, EOL) { break } else if err != nil { return addErrorContext(err, fmt.Sprint("[", i, "]")) @@ -417,7 +417,7 @@ func makeStructDecoder(typ reflect.Type) (decoder, error) { } for i, f := range fields { err := f.info.decoder(s, val.Field(f.index)) - if err == EOL { + if errors.Is(err, EOL) { if f.optional { // The field is optional, so reaching the end of the list before // reaching the last field is acceptable. All remaining undecoded @@ -757,7 +757,7 @@ func (s *Stream) uint(maxbits int) (uint64, error) { } v, err := s.readUint(byte(size)) switch { - case err == ErrCanonSize: + case errors.Is(err, ErrCanonSize): // Adjust error because we're not reading a size right now. return 0, ErrCanonInt case err != nil: @@ -1129,7 +1129,7 @@ func (s *Stream) readFull(buf []byte) (err error) { nn, err = s.r.Read(buf[n:]) n += nn } - if err == io.EOF { + if errors.Is(err, io.EOF) { if n < len(buf) { err = io.ErrUnexpectedEOF } else { @@ -1147,7 +1147,7 @@ func (s *Stream) readByte() (byte, error) { return 0, err } b, err := s.r.ReadByte() - if err == io.EOF { + if errors.Is(err, io.EOF) { err = io.ErrUnexpectedEOF } return b, err diff --git a/rlp/encode_test.go b/rlp/encode_test.go index 314958eb56..8a6bf266ee 100644 --- a/rlp/encode_test.go +++ b/rlp/encode_test.go @@ -476,7 +476,7 @@ func TestEncodeToReaderPiecewise(t *testing.T) { } n, err := r.Read(output[start:end]) end = start + n - if err == io.EOF { + if errors.Is(err, io.EOF) { break } else if err != nil { return nil, err diff --git a/rpc/json.go b/rpc/json.go index e932389d17..cfbbeca5be 100644 --- a/rpc/json.go +++ b/rpc/json.go @@ -311,7 +311,7 @@ func parsePositionalArguments(rawArgs json.RawMessage, types []reflect.Type) ([] var args []reflect.Value tok, err := dec.Token() switch { - case err == io.EOF || tok == nil && err == nil: + case errors.Is(err, io.EOF) || tok == nil && err == nil: // "params" is optional and may be empty. Also allow "params":null even though it's // not in the spec because our own client used to send it. case err != nil: diff --git a/rpc/subscription.go b/rpc/subscription.go index d77c655bf9..065537124f 100644 --- a/rpc/subscription.go +++ b/rpc/subscription.go @@ -304,7 +304,7 @@ func (sub *ClientSubscription) run() { // Send the error. if err != nil { - if err == ErrClientQuit { + if errors.Is(err, ErrClientQuit) { // ErrClientQuit gets here when Client.Close is called. This is reported as a // nil error because it's not an error, but we can't close sub.err here. err = nil @@ -340,7 +340,7 @@ func (sub *ClientSubscription) forward() (unsubscribeServer bool, err error) { if !recv.IsNil() { err = recv.Interface().(error) } - if err == errUnsubscribed { + if errors.Is(err, errUnsubscribed) { // Exiting because Unsubscribe was called, unsubscribe on server. return true, nil } diff --git a/rpc/websocket_test.go b/rpc/websocket_test.go index c6ea325d29..564fc00577 100644 --- a/rpc/websocket_test.go +++ b/rpc/websocket_test.go @@ -159,7 +159,7 @@ func TestWebsocketLargeRead(t *testing.T) { // Check over limit if overLimit > 0 { err = client.Call(&res, "test_repeat", "A", expLimit+1) - if err == nil || err != websocket.ErrReadLimit { + if err == nil || !errors.Is(err, websocket.ErrReadLimit) { t.Fatalf("wrong error with limit %d: %v expecting %v", expLimit, err, websocket.ErrReadLimit) } }