From 66e35af569f2e7f2e8c71c806682e60370d804c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucas=20K=C3=A4ldstr=C3=B6m?= Date: Mon, 20 Feb 2017 19:41:29 +0200 Subject: [PATCH] Move the kubeadm fuzzing into a separate package not imported by cmd/kubeadm --- cmd/kubeadm/app/apis/kubeadm/BUILD | 4 +-- cmd/kubeadm/app/apis/kubeadm/fuzzer/BUILD | 32 +++++++++++++++++++ .../app/apis/kubeadm/{ => fuzzer}/fuzzer.go | 7 ++-- cmd/kubeadm/app/apis/kubeadm/install/BUILD | 2 +- .../app/apis/kubeadm/install/install_test.go | 4 +-- pkg/api/testing/BUILD | 2 +- pkg/api/testing/fuzzer.go | 4 +-- 7 files changed, 43 insertions(+), 12 deletions(-) create mode 100644 cmd/kubeadm/app/apis/kubeadm/fuzzer/BUILD rename cmd/kubeadm/app/apis/kubeadm/{ => fuzzer}/fuzzer.go (84%) diff --git a/cmd/kubeadm/app/apis/kubeadm/BUILD b/cmd/kubeadm/app/apis/kubeadm/BUILD index 5fd4a4a07f3..09fe4b58c88 100644 --- a/cmd/kubeadm/app/apis/kubeadm/BUILD +++ b/cmd/kubeadm/app/apis/kubeadm/BUILD @@ -12,14 +12,11 @@ go_library( srcs = [ "doc.go", "env.go", - "fuzzer.go", "register.go", "types.go", ], tags = ["automanaged"], deps = [ - "//vendor:github.com/google/gofuzz", - "//vendor:k8s.io/apimachinery/pkg/api/testing", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", @@ -37,6 +34,7 @@ filegroup( name = "all-srcs", srcs = [ ":package-srcs", + "//cmd/kubeadm/app/apis/kubeadm/fuzzer:all-srcs", "//cmd/kubeadm/app/apis/kubeadm/install:all-srcs", "//cmd/kubeadm/app/apis/kubeadm/v1alpha1:all-srcs", "//cmd/kubeadm/app/apis/kubeadm/validation:all-srcs", diff --git a/cmd/kubeadm/app/apis/kubeadm/fuzzer/BUILD b/cmd/kubeadm/app/apis/kubeadm/fuzzer/BUILD new file mode 100644 index 00000000000..708582e393a --- /dev/null +++ b/cmd/kubeadm/app/apis/kubeadm/fuzzer/BUILD @@ -0,0 +1,32 @@ +package(default_visibility = ["//visibility:public"]) + +licenses(["notice"]) + +load( + "@io_bazel_rules_go//go:def.bzl", + "go_library", +) + +go_library( + name = "go_default_library", + srcs = ["fuzzer.go"], + tags = ["automanaged"], + deps = [ + "//cmd/kubeadm/app/apis/kubeadm:go_default_library", + "//vendor:github.com/google/gofuzz", + "//vendor:k8s.io/apimachinery/pkg/api/testing", + ], +) + +filegroup( + name = "package-srcs", + srcs = glob(["**"]), + tags = ["automanaged"], + visibility = ["//visibility:private"], +) + +filegroup( + name = "all-srcs", + srcs = [":package-srcs"], + tags = ["automanaged"], +) diff --git a/cmd/kubeadm/app/apis/kubeadm/fuzzer.go b/cmd/kubeadm/app/apis/kubeadm/fuzzer/fuzzer.go similarity index 84% rename from cmd/kubeadm/app/apis/kubeadm/fuzzer.go rename to cmd/kubeadm/app/apis/kubeadm/fuzzer/fuzzer.go index 0b99e952432..34bf281250b 100644 --- a/cmd/kubeadm/app/apis/kubeadm/fuzzer.go +++ b/cmd/kubeadm/app/apis/kubeadm/fuzzer/fuzzer.go @@ -14,24 +14,25 @@ See the License for the specific language governing permissions and limitations under the License. */ -package kubeadm +package fuzzer import ( "github.com/google/gofuzz" apitesting "k8s.io/apimachinery/pkg/api/testing" + "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" ) func KubeadmFuzzerFuncs(t apitesting.TestingCommon) []interface{} { return []interface{}{ - func(obj *MasterConfiguration, c fuzz.Continue) { + func(obj *kubeadm.MasterConfiguration, c fuzz.Continue) { c.FuzzNoCustom(obj) obj.KubernetesVersion = "v10" obj.API.Port = 20 obj.Networking.ServiceSubnet = "foo" obj.Networking.DNSDomain = "foo" obj.AuthorizationMode = "foo" - obj.Discovery.Token = &TokenDiscovery{} + obj.Discovery.Token = &kubeadm.TokenDiscovery{} }, } } diff --git a/cmd/kubeadm/app/apis/kubeadm/install/BUILD b/cmd/kubeadm/app/apis/kubeadm/install/BUILD index 1498aff1058..c954d6c859f 100644 --- a/cmd/kubeadm/app/apis/kubeadm/install/BUILD +++ b/cmd/kubeadm/app/apis/kubeadm/install/BUILD @@ -44,7 +44,7 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//cmd/kubeadm/app/apis/kubeadm:go_default_library", + "//cmd/kubeadm/app/apis/kubeadm/fuzzer:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/testing", ], ) diff --git a/cmd/kubeadm/app/apis/kubeadm/install/install_test.go b/cmd/kubeadm/app/apis/kubeadm/install/install_test.go index 3fd955d5e00..65c2cf13c6f 100644 --- a/cmd/kubeadm/app/apis/kubeadm/install/install_test.go +++ b/cmd/kubeadm/app/apis/kubeadm/install/install_test.go @@ -20,9 +20,9 @@ import ( "testing" apitesting "k8s.io/apimachinery/pkg/api/testing" - "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" + "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/fuzzer" ) func TestRoundTripTypes(t *testing.T) { - apitesting.RoundTripTestForAPIGroup(t, Install, kubeadm.KubeadmFuzzerFuncs(t)) + apitesting.RoundTripTestForAPIGroup(t, Install, fuzzer.KubeadmFuzzerFuncs(t)) } diff --git a/pkg/api/testing/BUILD b/pkg/api/testing/BUILD index bda8cfb8b5b..d8c5a25fc23 100644 --- a/pkg/api/testing/BUILD +++ b/pkg/api/testing/BUILD @@ -16,7 +16,7 @@ go_library( ], tags = ["automanaged"], deps = [ - "//cmd/kubeadm/app/apis/kubeadm:go_default_library", + "//cmd/kubeadm/app/apis/kubeadm/fuzzer:go_default_library", "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", diff --git a/pkg/api/testing/fuzzer.go b/pkg/api/testing/fuzzer.go index 99bb2f7a8f3..7d4f84c1970 100644 --- a/pkg/api/testing/fuzzer.go +++ b/pkg/api/testing/fuzzer.go @@ -32,7 +32,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/apimachinery/pkg/util/intstr" - "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" + kubeadmfuzzer "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/fuzzer" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" @@ -637,7 +637,7 @@ func FuzzerFuncs(t apitesting.TestingCommon, codecs runtimeserializer.CodecFacto batchFuncs(t), autoscalingFuncs(t), rbacFuncs(t), - kubeadm.KubeadmFuzzerFuncs(t), + kubeadmfuzzer.KubeadmFuzzerFuncs(t), policyFuncs(t), certificateFuncs(t), )