From 0764d7aaaf2d96777ffa4583e1feee26ca3d0349 Mon Sep 17 00:00:00 2001 From: Michael Bridgen Date: Mon, 1 Dec 2014 14:13:41 +0000 Subject: [PATCH] Don't splode in error type checks if given nil These two testing utils assumed that they got an error, and checked its type; however, the most likely failure case is that there's no error (i.e., nil). In that case they would cause a NPE panic. --- nameserver/testing_utils.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/nameserver/testing_utils.go b/nameserver/testing_utils.go index 0a4835ae..6183d5f8 100644 --- a/nameserver/testing_utils.go +++ b/nameserver/testing_utils.go @@ -18,15 +18,21 @@ func assertStatus(t *testing.T, got int, wanted int, desc string) { } func assertErrorInterface(t *testing.T, got interface{}, wanted interface{}, desc string) { + if got == nil { + t.Fatalf("Expected %s but got nil", reflect.TypeOf(wanted).Elem()) + } gotT, wantedT := reflect.TypeOf(got), reflect.TypeOf(wanted).Elem() if !gotT.Implements(wantedT) { - t.Fatalf("Expected %s but got %s (%s)", wantedT.String(), gotT.String(), desc) + t.Fatalf("Expected %s but got %s (%s)", wantedT, gotT, desc) } } func assertErrorType(t *testing.T, got interface{}, wanted interface{}, desc string) { + if got == nil { + t.Fatalf("Expected %s but got nil", reflect.TypeOf(wanted).Elem()) + } gotT, wantedT := reflect.TypeOf(got), reflect.TypeOf(wanted).Elem() if gotT != wantedT { - t.Fatalf("Expected %s but got %s (%s)", wantedT.String(), gotT.String(), desc) + t.Fatalf("Expected %s but got %s (%s)", wantedT, gotT, desc) } }