Merge pull request #40175 from apprenda/kubeadm-40155-test-skip

Automatic merge from submit-queue (batch tested with PRs 40175, 41107, 41111, 40893, 40919)

kubeadm: skip integration tests if kubeadm-cmd-skip flag passed

Will skip integration tests for token generation if it can't find a file by the given --kubeadm-path or default value.

**What this PR does / why we need it**: Tests would fail if just running `go test` in the dir because it expects to have more values. This won't change the behavior of `make test-cmd` which gets run here:
https://github.com/kubernetes/kubernetes/blob/master/Makefile#L258

**Which issue this PR fixes**: fixes #40155 

**Special notes for your reviewer**: /cc @pires @pipejakob @liggitt 

```release-note
NONE
```
This commit is contained in:
Kubernetes Submit Queue 2017-02-08 01:47:37 -08:00 committed by GitHub
commit a326735ea0
6 changed files with 16 additions and 10 deletions

View File

@ -33,7 +33,7 @@ filegroup(
srcs = [ srcs = [
":package-srcs", ":package-srcs",
"//cmd/kubeadm/app:all-srcs", "//cmd/kubeadm/app:all-srcs",
"//cmd/kubeadm/test:all-srcs", "//cmd/kubeadm/test/cmd:all-srcs",
], ],
tags = ["automanaged"], tags = ["automanaged"],
) )

View File

@ -17,7 +17,7 @@ go_library(
go_test( go_test(
name = "go_default_test", name = "go_default_test",
srcs = ["token_test.go"], srcs = ["token_test.go"],
args = ["--kubeadm-path=../kubeadm"], args = ["--kubeadm-path=../../kubeadm"],
data = ["//cmd/kubeadm"], data = ["//cmd/kubeadm"],
library = ":go_default_library", library = ":go_default_library",
tags = [ tags = [

View File

@ -28,14 +28,15 @@ const (
TokenExpectedRegex = "^\\S{6}\\:\\S{16}\n$" TokenExpectedRegex = "^\\S{6}\\:\\S{16}\n$"
) )
var kubeadmPath string var kubeadmPath = flag.String("kubeadm-path", filepath.Join(os.Getenv("KUBE_ROOT"), "cluster/kubeadm.sh"), "Location of kubeadm")
var kubeadmCmdSkip = flag.Bool("kubeadm-cmd-skip", false, "Skip kubeadm cmd tests")
func init() {
flag.StringVar(&kubeadmPath, "kubeadm-path", filepath.Join(os.Getenv("KUBE_ROOT"), "cluster/kubeadm.sh"), "Location of kubeadm")
}
func TestCmdTokenGenerate(t *testing.T) { func TestCmdTokenGenerate(t *testing.T) {
stdout, _, err := RunCmd(kubeadmPath, "ex", "token", "generate") if *kubeadmCmdSkip {
t.Log("kubeadm cmd tests being skipped")
t.Skip()
}
stdout, _, err := RunCmd(*kubeadmPath, "ex", "token", "generate")
if err != nil { if err != nil {
t.Fatalf("'kubeadm ex token generate' exited uncleanly: %v", err) t.Fatalf("'kubeadm ex token generate' exited uncleanly: %v", err)
} }
@ -59,8 +60,12 @@ func TestCmdTokenGenerateTypoError(t *testing.T) {
with a non-zero status code after showing the command's usage, so that 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. the usage itself isn't captured as a token without the user noticing.
*/ */
if *kubeadmCmdSkip {
t.Log("kubeadm cmd tests being skipped")
t.Skip()
}
_, _, err := RunCmd(kubeadmPath, "ex", "token", "genorate") // subtle typo _, _, err := RunCmd(*kubeadmPath, "ex", "token", "genorate") // subtle typo
if err == nil { if err == nil {
t.Error("'kubeadm ex token genorate' (a deliberate typo) exited without an error when we expected non-zero exit status") t.Error("'kubeadm ex token genorate' (a deliberate typo) exited without an error when we expected non-zero exit status")
} }

View File

@ -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}" WHAT=cmd/kubeadm
make -C "${KUBE_ROOT}" test \ 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}'" KUBE_TEST_ARGS="--kubeadm-path '${KUBEADM_PATH}'"

View File

@ -327,6 +327,7 @@ kube-master
kube-master-url kube-master-url
kube-reserved kube-reserved
kubeadm-path kubeadm-path
kubeadm-cmd-skip
kubecfg-file kubecfg-file
kubectl-path kubectl-path
kubelet-address kubelet-address