Skip to content

Commit

Permalink
strconv: remove use of DeepEqual for testing errors
Browse files Browse the repository at this point in the history
Comparing errors using DeepEqual breaks if frame information
is added as proposed in Issue golang#29934.

Updates golang#29934.

Change-Id: I0372883288f974998138f95f6c7c79a60f922a3e
Reviewed-on: https://go-review.googlesource.com/c/162177
Run-TryBot: Marcel van Lohuizen <mpvl@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Russ Cox <rsc@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
  • Loading branch information
mpvl committed Feb 27, 2019
1 parent 1413e94 commit 36b09f3
Showing 1 changed file with 14 additions and 4 deletions.
18 changes: 14 additions & 4 deletions src/strconv/atoi_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -521,12 +521,22 @@ var parseBaseTests = []parseErrorTest{
{37, baseErrStub},
}

func equalError(a, b error) bool {
if a == nil {
return b == nil
}
if b == nil {
return a == nil
}
return a.Error() == b.Error()
}

func TestParseIntBitSize(t *testing.T) {
for i := range parseBitSizeTests {
test := &parseBitSizeTests[i]
testErr := test.errStub("ParseInt", test.arg)
_, err := ParseInt("0", 0, test.arg)
if !reflect.DeepEqual(testErr, err) {
if !equalError(testErr, err) {
t.Errorf("ParseInt(\"0\", 0, %v) = 0, %v want 0, %v",
test.arg, err, testErr)
}
Expand All @@ -538,7 +548,7 @@ func TestParseUintBitSize(t *testing.T) {
test := &parseBitSizeTests[i]
testErr := test.errStub("ParseUint", test.arg)
_, err := ParseUint("0", 0, test.arg)
if !reflect.DeepEqual(testErr, err) {
if !equalError(testErr, err) {
t.Errorf("ParseUint(\"0\", 0, %v) = 0, %v want 0, %v",
test.arg, err, testErr)
}
Expand All @@ -550,7 +560,7 @@ func TestParseIntBase(t *testing.T) {
test := &parseBaseTests[i]
testErr := test.errStub("ParseInt", test.arg)
_, err := ParseInt("0", test.arg, 0)
if !reflect.DeepEqual(testErr, err) {
if !equalError(testErr, err) {
t.Errorf("ParseInt(\"0\", %v, 0) = 0, %v want 0, %v",
test.arg, err, testErr)
}
Expand All @@ -562,7 +572,7 @@ func TestParseUintBase(t *testing.T) {
test := &parseBaseTests[i]
testErr := test.errStub("ParseUint", test.arg)
_, err := ParseUint("0", test.arg, 0)
if !reflect.DeepEqual(testErr, err) {
if !equalError(testErr, err) {
t.Errorf("ParseUint(\"0\", %v, 0) = 0, %v want 0, %v",
test.arg, err, testErr)
}
Expand Down

0 comments on commit 36b09f3

Please sign in to comment.