From e742ba7d517c38534fbd4bb964accfb8f18c7841 Mon Sep 17 00:00:00 2001 From: George Goldberg Date: Wed, 29 Aug 2018 19:08:03 +0100 Subject: Remove testing imports from non-test code. (#9324) --- model/utils.go | 59 ----------------------------------------------------- model/utils_test.go | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 59 deletions(-) (limited to 'model') diff --git a/model/utils.go b/model/utils.go index 7002070d7..137da28bc 100644 --- a/model/utils.go +++ b/model/utils.go @@ -15,11 +15,9 @@ import ( "net/http" "net/mail" "net/url" - "reflect" "regexp" "strconv" "strings" - "testing" "time" "unicode" @@ -522,63 +520,6 @@ func IsValidId(value string) bool { return true } -// checkNowhereNil checks that the given interface value is not nil, and if a struct, that all of -// its public fields are also nowhere nil -func checkNowhereNil(t *testing.T, name string, value interface{}) bool { - if value == nil { - return false - } - - v := reflect.ValueOf(value) - switch v.Type().Kind() { - case reflect.Ptr: - if v.IsNil() { - t.Logf("%s was nil", name) - return false - } - - return checkNowhereNil(t, fmt.Sprintf("(*%s)", name), v.Elem().Interface()) - - case reflect.Map: - if v.IsNil() { - t.Logf("%s was nil", name) - return false - } - - // Don't check map values - return true - - case reflect.Struct: - nowhereNil := true - for i := 0; i < v.NumField(); i++ { - f := v.Field(i) - // Ignore unexported fields - if v.Type().Field(i).PkgPath != "" { - continue - } - - nowhereNil = nowhereNil && checkNowhereNil(t, fmt.Sprintf("%s.%s", name, v.Type().Field(i).Name), f.Interface()) - } - - return nowhereNil - - case reflect.Array: - fallthrough - case reflect.Chan: - fallthrough - case reflect.Func: - fallthrough - case reflect.Interface: - fallthrough - case reflect.UnsafePointer: - t.Logf("unhandled field %s, type: %s", name, v.Type().Kind()) - return false - - default: - return true - } -} - // Copied from https://golang.org/src/net/dnsclient.go#L119 func IsDomainName(s string) bool { // See RFC 1035, RFC 3696. diff --git a/model/utils_test.go b/model/utils_test.go index f004fc216..1db91d6e6 100644 --- a/model/utils_test.go +++ b/model/utils_test.go @@ -6,6 +6,7 @@ package model import ( "fmt" "net/http" + "reflect" "strings" "testing" "time" @@ -665,3 +666,60 @@ func TestNowhereNil(t *testing.T) { }) } } + +// checkNowhereNil checks that the given interface value is not nil, and if a struct, that all of +// its public fields are also nowhere nil +func checkNowhereNil(t *testing.T, name string, value interface{}) bool { + if value == nil { + return false + } + + v := reflect.ValueOf(value) + switch v.Type().Kind() { + case reflect.Ptr: + if v.IsNil() { + t.Logf("%s was nil", name) + return false + } + + return checkNowhereNil(t, fmt.Sprintf("(*%s)", name), v.Elem().Interface()) + + case reflect.Map: + if v.IsNil() { + t.Logf("%s was nil", name) + return false + } + + // Don't check map values + return true + + case reflect.Struct: + nowhereNil := true + for i := 0; i < v.NumField(); i++ { + f := v.Field(i) + // Ignore unexported fields + if v.Type().Field(i).PkgPath != "" { + continue + } + + nowhereNil = nowhereNil && checkNowhereNil(t, fmt.Sprintf("%s.%s", name, v.Type().Field(i).Name), f.Interface()) + } + + return nowhereNil + + case reflect.Array: + fallthrough + case reflect.Chan: + fallthrough + case reflect.Func: + fallthrough + case reflect.Interface: + fallthrough + case reflect.UnsafePointer: + t.Logf("unhandled field %s, type: %s", name, v.Type().Kind()) + return false + + default: + return true + } +} -- cgit v1.2.3-1-g7c22