From 1459bbade456d67a0a90986e79055d4bf6fbf105 Mon Sep 17 00:00:00 2001 From: Derek McQuay Date: Tue, 7 Feb 2017 10:22:27 -0800 Subject: [PATCH] kubeadm: updated cmd tests as discussed in SIG After today's SIG meeting, it was discussed how to proceed with these types of test-cmd tests. They will live in kubeamd/test/cmd and will provide a flag that will allow you to skip them (--kubeadm-cmd-skip) and by default will fail if kubeadm binary is not present --- cmd/kubeadm/BUILD | 2 +- cmd/kubeadm/test/{ => cmd}/BUILD | 2 +- cmd/kubeadm/test/{ => cmd}/token_test.go | 16 +++++----------- cmd/kubeadm/test/{ => cmd}/util.go | 0 hack/make-rules/test-kubeadm-cmd.sh | 2 +- hack/verify-flags/known-flags.txt | 1 + 6 files changed, 9 insertions(+), 14 deletions(-) rename cmd/kubeadm/test/{ => cmd}/BUILD (94%) rename cmd/kubeadm/test/{ => cmd}/token_test.go (89%) rename cmd/kubeadm/test/{ => cmd}/util.go (100%) diff --git a/cmd/kubeadm/BUILD b/cmd/kubeadm/BUILD index 86a7f547e0b..f77bb9ced1f 100644 --- a/cmd/kubeadm/BUILD +++ b/cmd/kubeadm/BUILD @@ -33,7 +33,7 @@ filegroup( srcs = [ ":package-srcs", "//cmd/kubeadm/app:all-srcs", - "//cmd/kubeadm/test:all-srcs", + "//cmd/kubeadm/test/cmd:all-srcs", ], tags = ["automanaged"], ) diff --git a/cmd/kubeadm/test/BUILD b/cmd/kubeadm/test/cmd/BUILD similarity index 94% rename from cmd/kubeadm/test/BUILD rename to cmd/kubeadm/test/cmd/BUILD index 1e874a1f86d..48e86ffd2f6 100644 --- a/cmd/kubeadm/test/BUILD +++ b/cmd/kubeadm/test/cmd/BUILD @@ -17,7 +17,7 @@ go_library( go_test( name = "go_default_test", srcs = ["token_test.go"], - args = ["--kubeadm-path=../kubeadm"], + args = ["--kubeadm-path=../../kubeadm"], data = ["//cmd/kubeadm"], library = ":go_default_library", tags = [ diff --git a/cmd/kubeadm/test/token_test.go b/cmd/kubeadm/test/cmd/token_test.go similarity index 89% rename from cmd/kubeadm/test/token_test.go rename to cmd/kubeadm/test/cmd/token_test.go index c00fbbe4c4c..ea69bf8eefe 100644 --- a/cmd/kubeadm/test/token_test.go +++ b/cmd/kubeadm/test/cmd/token_test.go @@ -29,17 +29,11 @@ const ( ) var kubeadmPath = flag.String("kubeadm-path", filepath.Join(os.Getenv("KUBE_ROOT"), "cluster/kubeadm.sh"), "Location of kubeadm") -var testCmd = true - -func init() { - if _, err := os.Stat(*kubeadmPath); os.IsNotExist(err) { - testCmd = false - } -} +var kubeadmCmdSkip = flag.Bool("kubeadm-cmd-skip", false, "Skip kubeadm cmd tests") func TestCmdTokenGenerate(t *testing.T) { - if !testCmd { - t.Log("kubeadm not found, skipping") + if *kubeadmCmdSkip { + t.Log("kubeadm cmd tests being skipped") t.Skip() } stdout, _, err := RunCmd(*kubeadmPath, "ex", "token", "generate") @@ -66,8 +60,8 @@ func TestCmdTokenGenerateTypoError(t *testing.T) { with a non-zero status code after showing the command's usage, so that the usage itself isn't captured as a token without the user noticing. */ - if !testCmd { - t.Log("kubeadm not found, skipping") + if *kubeadmCmdSkip { + t.Log("kubeadm cmd tests being skipped") t.Skip() } diff --git a/cmd/kubeadm/test/util.go b/cmd/kubeadm/test/cmd/util.go similarity index 100% rename from cmd/kubeadm/test/util.go rename to cmd/kubeadm/test/cmd/util.go diff --git a/hack/make-rules/test-kubeadm-cmd.sh b/hack/make-rules/test-kubeadm-cmd.sh index c6cbbfe52e0..fadb83bdf3a 100755 --- a/hack/make-rules/test-kubeadm-cmd.sh +++ b/hack/make-rules/test-kubeadm-cmd.sh @@ -28,5 +28,5 @@ KUBEADM_PATH="${KUBEADM_PATH:=$(kube::realpath "${KUBE_ROOT}")/cluster/kubeadm.s make -C "${KUBE_ROOT}" WHAT=cmd/kubeadm make -C "${KUBE_ROOT}" test \ - WHAT=k8s.io/kubernetes/cmd/kubeadm/test \ + WHAT=k8s.io/kubernetes/cmd/kubeadm/test/cmd \ KUBE_TEST_ARGS="--kubeadm-path '${KUBEADM_PATH}'" diff --git a/hack/verify-flags/known-flags.txt b/hack/verify-flags/known-flags.txt index 124127c4ce2..ec19116f18a 100644 --- a/hack/verify-flags/known-flags.txt +++ b/hack/verify-flags/known-flags.txt @@ -325,6 +325,7 @@ kube-master kube-master-url kube-reserved kubeadm-path +kubeadm-cmd-skip kubecfg-file kubectl-path kubelet-address