From e1e11efd0ea725dd28704bef7d88478586fb9b3b Mon Sep 17 00:00:00 2001 From: David Hill Date: Wed, 19 Feb 2020 10:22:07 -0500 Subject: [PATCH] dcrutil: use errors api; require go 1.13+ --- dcrutil/address.go | 2 +- dcrutil/block_test.go | 16 +++++++++------- dcrutil/go.mod | 2 +- dcrutil/tx_test.go | 5 +++-- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/dcrutil/address.go b/dcrutil/address.go index 64416414..976d2a9f 100644 --- a/dcrutil/address.go +++ b/dcrutil/address.go @@ -167,7 +167,7 @@ func DecodeAddress(addr string, net AddressParams) (Address, error) { // Switch on decoded length to determine the type. decoded, netID, err := base58.CheckDecode(addr) if err != nil { - if err == base58.ErrChecksum { + if errors.Is(err, base58.ErrChecksum) { return nil, ErrChecksumMismatch } return nil, fmt.Errorf("decoded address is of unknown format: %v", err) diff --git a/dcrutil/block_test.go b/dcrutil/block_test.go index 2e2c6041..905fa5ef 100644 --- a/dcrutil/block_test.go +++ b/dcrutil/block_test.go @@ -1,5 +1,5 @@ // Copyright (c) 2013-2016 The btcsuite developers -// Copyright (c) 2015-2019 The Decred developers +// Copyright (c) 2015-2020 The Decred developers // Use of this source code is governed by an ISC // license that can be found in the LICENSE file. @@ -7,6 +7,7 @@ package dcrutil import ( "bytes" + "errors" "io" "reflect" "testing" @@ -284,31 +285,32 @@ func TestBlockErrors(t *testing.T) { // Truncate the block byte buffer to force errors. shortBytes := block100000Bytes[:100] _, err = NewBlockFromBytes(shortBytes) - if err != io.EOF { + if !errors.Is(err, io.EOF) { t.Errorf("NewBlockFromBytes: did not get expected error - "+ "got %v, want %v", err, io.EOF) } // Ensure TxHash returns expected error on invalid indices. + var oErr OutOfRangeError _, err = b.TxHash(-1) - if _, ok := err.(OutOfRangeError); !ok { + if !errors.As(err, &oErr) { t.Errorf("TxHash: wrong error - got: %v <%T>, "+ "want: <%T>", err, err, OutOfRangeError("")) } _, err = b.TxHash(len(Block100000.Transactions) + 1) - if _, ok := err.(OutOfRangeError); !ok { + if !errors.As(err, &oErr) { t.Errorf("TxHash: wrong error - got: %v <%T>, "+ "want: <%T>", err, err, OutOfRangeError("")) } // Ensure Tx returns expected error on invalid indices. _, err = b.Tx(-1) - if _, ok := err.(OutOfRangeError); !ok { + if !errors.As(err, &oErr) { t.Errorf("Tx: wrong error - got: %v <%T>, "+ "want: <%T>", err, err, OutOfRangeError("")) } _, err = b.Tx(len(Block100000.Transactions) + 1) - if _, ok := err.(OutOfRangeError); !ok { + if !errors.As(err, &oErr) { t.Errorf("Tx: wrong error - got: %v <%T>, "+ "want: <%T>", err, err, OutOfRangeError("")) } @@ -316,7 +318,7 @@ func TestBlockErrors(t *testing.T) { // Ensure TxLoc returns expected error with short byte buffer. b.serializedBlock = shortBytes _, _, err = b.TxLoc() - if err != io.EOF { + if !errors.Is(err, io.EOF) { t.Errorf("TxLoc: did not get expected error - "+ "got %v, want %v", err, io.EOF) } diff --git a/dcrutil/go.mod b/dcrutil/go.mod index c2e7863f..2b59c1f0 100644 --- a/dcrutil/go.mod +++ b/dcrutil/go.mod @@ -1,6 +1,6 @@ module github.com/decred/dcrd/dcrutil/v3 -go 1.11 +go 1.13 require ( github.com/davecgh/go-spew v1.1.1 diff --git a/dcrutil/tx_test.go b/dcrutil/tx_test.go index 53a250f5..713288d3 100644 --- a/dcrutil/tx_test.go +++ b/dcrutil/tx_test.go @@ -1,5 +1,5 @@ // Copyright (c) 2013-2016 The btcsuite developers -// Copyright (c) 2015-2019 The Decred developers +// Copyright (c) 2015-2020 The Decred developers // Use of this source code is governed by an ISC // license that can be found in the LICENSE file. @@ -7,6 +7,7 @@ package dcrutil import ( "bytes" + "errors" "io" "reflect" "testing" @@ -116,7 +117,7 @@ func TestTxErrors(t *testing.T) { // Truncate the transaction byte buffer to force errors. shortBytes := testTxBytes[:4] _, err = NewTxFromBytes(shortBytes) - if err != io.EOF { + if !errors.Is(err, io.EOF) { t.Errorf("NewTxFromBytes: did not get expected error - "+ "got %v, want %v", err, io.EOF) }