From 267425667f45f37b0fb70a6e6904efb995cb4924 Mon Sep 17 00:00:00 2001 From: Yang Li Date: Sun, 18 Nov 2018 04:16:25 +0800 Subject: [PATCH 1/3] Fix unreachable code --- .../src/k8s.io/apimachinery/pkg/util/validation/validation.go | 2 +- .../src/k8s.io/apiserver/pkg/endpoints/handlers/rest_test.go | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go b/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go index e0d1715420e..60dfa8d1740 100644 --- a/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go +++ b/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go @@ -397,7 +397,7 @@ func IsValidSocketAddr(value string) []string { var errs []string ip, port, err := net.SplitHostPort(value) if err != nil { - return append(errs, "must be a valid socket address format, (e.g. 0.0.0.0:10254 or [::]:10254)") + errs = append(errs, "must be a valid socket address format, (e.g. 0.0.0.0:10254 or [::]:10254)") return errs } portInt, _ := strconv.Atoi(port) diff --git a/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/rest_test.go b/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/rest_test.go index 47b198704a0..4938e94c30e 100644 --- a/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/rest_test.go +++ b/staging/src/k8s.io/apiserver/pkg/endpoints/handlers/rest_test.go @@ -884,7 +884,6 @@ func TestFinishRequest(t *testing.T) { timeout: time.Second, fn: func() (runtime.Object, error) { panic("my panic") - return nil, nil }, expectedObj: nil, expectedErr: nil, @@ -895,7 +894,6 @@ func TestFinishRequest(t *testing.T) { timeout: time.Second, fn: func() (runtime.Object, error) { panic("my panic") - return nil, nil }, expectedObj: nil, expectedErr: nil, From 43f9302b90e6efd59df2b45710979582a0a87107 Mon Sep 17 00:00:00 2001 From: Yang Li Date: Sun, 18 Nov 2018 04:18:14 +0800 Subject: [PATCH 2/3] Fix golint warnings --- hack/.golint_failures | 1 - .../apimachinery/pkg/util/validation/validation.go | 11 ++++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/hack/.golint_failures b/hack/.golint_failures index f3879831d2f..5f129ef8181 100644 --- a/hack/.golint_failures +++ b/hack/.golint_failures @@ -522,7 +522,6 @@ staging/src/k8s.io/apimachinery/pkg/util/runtime staging/src/k8s.io/apimachinery/pkg/util/sets/types staging/src/k8s.io/apimachinery/pkg/util/strategicpatch staging/src/k8s.io/apimachinery/pkg/util/uuid -staging/src/k8s.io/apimachinery/pkg/util/validation staging/src/k8s.io/apimachinery/pkg/util/wait staging/src/k8s.io/apimachinery/pkg/util/yaml staging/src/k8s.io/apimachinery/pkg/watch diff --git a/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go b/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go index 60dfa8d1740..2dd99992dca 100644 --- a/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go +++ b/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go @@ -87,6 +87,8 @@ func IsFullyQualifiedName(fldPath *field.Path, name string) field.ErrorList { const labelValueFmt string = "(" + qualifiedNameFmt + ")?" const labelValueErrMsg string = "a valid label must be an empty string or consist of alphanumeric characters, '-', '_' or '.', and must start and end with an alphanumeric character" + +// LabelValueMaxLength is a label's max length const LabelValueMaxLength int = 63 var labelValueRegexp = regexp.MustCompile("^" + labelValueFmt + "$") @@ -107,6 +109,8 @@ func IsValidLabelValue(value string) []string { const dns1123LabelFmt string = "[a-z0-9]([-a-z0-9]*[a-z0-9])?" const dns1123LabelErrMsg string = "a DNS-1123 label must consist of lower case alphanumeric characters or '-', and must start and end with an alphanumeric character" + +// DNS1123LabelMaxLength is a label's max length in DNS (RFC 1123) const DNS1123LabelMaxLength int = 63 var dns1123LabelRegexp = regexp.MustCompile("^" + dns1123LabelFmt + "$") @@ -126,6 +130,8 @@ func IsDNS1123Label(value string) []string { const dns1123SubdomainFmt string = dns1123LabelFmt + "(\\." + dns1123LabelFmt + ")*" const dns1123SubdomainErrorMsg string = "a DNS-1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character" + +// DNS1123SubdomainMaxLength is a subdomain's max length in DNS (RFC 1123) const DNS1123SubdomainMaxLength int = 253 var dns1123SubdomainRegexp = regexp.MustCompile("^" + dns1123SubdomainFmt + "$") @@ -145,6 +151,8 @@ func IsDNS1123Subdomain(value string) []string { const dns1035LabelFmt string = "[a-z]([-a-z0-9]*[a-z0-9])?" const dns1035LabelErrMsg string = "a DNS-1035 label must consist of lower case alphanumeric characters or '-', start with an alphabetic character, and end with an alphanumeric character" + +// DNS1035LabelMaxLength is a label's max length in DNS (RFC 1035) const DNS1035LabelMaxLength int = 63 var dns1035LabelRegexp = regexp.MustCompile("^" + dns1035LabelFmt + "$") @@ -282,6 +290,7 @@ const percentErrMsg string = "a valid percent string must be a numeric string fo var percentRegexp = regexp.MustCompile("^" + percentFmt + "$") +// IsValidPercent checks that string is in the form of a percentage func IsValidPercent(percent string) []string { if !percentRegexp.MatchString(percent) { return []string{RegexError(percentErrMsg, percentFmt, "1%", "93%")} @@ -391,7 +400,7 @@ func hasChDirPrefix(value string) []string { return errs } -// IsSocketAddr checks that a string conforms is a valid socket address +// IsValidSocketAddr checks that string represents a valid socket address // as defined in RFC 789. (e.g 0.0.0.0:10254 or [::]:10254)) func IsValidSocketAddr(value string) []string { var errs []string From 3d9e2f09d0f4113581b96994d3fa0fcaebcf73dd Mon Sep 17 00:00:00 2001 From: Yang Li Date: Sun, 18 Nov 2018 18:48:14 +0800 Subject: [PATCH 3/3] Pass locks by pointer instead of by value --- .../pkg/util/strategicpatch/patch_test.go | 12 ++++++------ .../pkg/util/strategicpatch/testing/openapi.go | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/staging/src/k8s.io/apimachinery/pkg/util/strategicpatch/patch_test.go b/staging/src/k8s.io/apimachinery/pkg/util/strategicpatch/patch_test.go index 6a0166e57d2..06814273da6 100644 --- a/staging/src/k8s.io/apimachinery/pkg/util/strategicpatch/patch_test.go +++ b/staging/src/k8s.io/apimachinery/pkg/util/strategicpatch/patch_test.go @@ -282,7 +282,7 @@ testCases: func TestSortMergeLists(t *testing.T) { mergeItemOpenapiSchema := PatchMetaFromOpenAPI{ - Schema: sptest.GetSchemaOrDie(fakeMergeItemSchema, "mergeItem"), + Schema: sptest.GetSchemaOrDie(&fakeMergeItemSchema, "mergeItem"), } schemas := []LookupPatchMeta{ mergeItemStructSchema, @@ -673,7 +673,7 @@ mergingList: func TestCustomStrategicMergePatch(t *testing.T) { mergeItemOpenapiSchema := PatchMetaFromOpenAPI{ - Schema: sptest.GetSchemaOrDie(fakeMergeItemSchema, "mergeItem"), + Schema: sptest.GetSchemaOrDie(&fakeMergeItemSchema, "mergeItem"), } schemas := []LookupPatchMeta{ mergeItemStructSchema, @@ -6029,7 +6029,7 @@ func TestStrategicMergePatch(t *testing.T) { "{}", "{}", []byte(""), mergepatch.ErrBadArgKind(struct{}{}, []byte{})) mergeItemOpenapiSchema := PatchMetaFromOpenAPI{ - Schema: sptest.GetSchemaOrDie(fakeMergeItemSchema, "mergeItem"), + Schema: sptest.GetSchemaOrDie(&fakeMergeItemSchema, "mergeItem"), } schemas := []LookupPatchMeta{ mergeItemStructSchema, @@ -6413,7 +6413,7 @@ func TestNumberConversion(t *testing.T) { } precisionItemOpenapiSchema := PatchMetaFromOpenAPI{ - Schema: sptest.GetSchemaOrDie(fakePrecisionItemSchema, "precisionItem"), + Schema: sptest.GetSchemaOrDie(&fakePrecisionItemSchema, "precisionItem"), } precisionItemSchemas := []LookupPatchMeta{ precisionItemStructSchema, @@ -6623,7 +6623,7 @@ replacingItem: func TestReplaceWithRawExtension(t *testing.T) { mergeItemOpenapiSchema := PatchMetaFromOpenAPI{ - Schema: sptest.GetSchemaOrDie(fakeMergeItemSchema, "mergeItem"), + Schema: sptest.GetSchemaOrDie(&fakeMergeItemSchema, "mergeItem"), } schemas := []LookupPatchMeta{ mergeItemStructSchema, @@ -6695,7 +6695,7 @@ func TestUnknownField(t *testing.T) { } mergeItemOpenapiSchema := PatchMetaFromOpenAPI{ - Schema: sptest.GetSchemaOrDie(fakeMergeItemSchema, "mergeItem"), + Schema: sptest.GetSchemaOrDie(&fakeMergeItemSchema, "mergeItem"), } schemas := []LookupPatchMeta{ mergeItemStructSchema, diff --git a/staging/src/k8s.io/apimachinery/pkg/util/strategicpatch/testing/openapi.go b/staging/src/k8s.io/apimachinery/pkg/util/strategicpatch/testing/openapi.go index 68b5e196bcb..0aafc2c479d 100644 --- a/staging/src/k8s.io/apimachinery/pkg/util/strategicpatch/testing/openapi.go +++ b/staging/src/k8s.io/apimachinery/pkg/util/strategicpatch/testing/openapi.go @@ -62,7 +62,7 @@ func (f *Fake) OpenAPISchema() (*openapi_v2.Document, error) { return f.document, f.err } -func getSchema(f Fake, model string) (openapi.Schema, error) { +func getSchema(f *Fake, model string) (openapi.Schema, error) { s, err := f.OpenAPISchema() if err != nil { return nil, err @@ -75,7 +75,7 @@ func getSchema(f Fake, model string) (openapi.Schema, error) { } // GetSchemaOrDie returns the openapi schema. -func GetSchemaOrDie(f Fake, model string) openapi.Schema { +func GetSchemaOrDie(f *Fake, model string) openapi.Schema { s, err := getSchema(f, model) if err != nil { panic(err)