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 = [
":package-srcs",
"//cmd/kubeadm/app:all-srcs",
"//cmd/kubeadm/test:all-srcs",
"//cmd/kubeadm/test/cmd:all-srcs",
],
tags = ["automanaged"],
)

View File

@ -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 = [

View File

@ -28,14 +28,15 @@ const (
TokenExpectedRegex = "^\\S{6}\\:\\S{16}\n$"
)
var kubeadmPath string
func init() {
flag.StringVar(&kubeadmPath, "kubeadm-path", filepath.Join(os.Getenv("KUBE_ROOT"), "cluster/kubeadm.sh"), "Location of kubeadm")
}
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 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 {
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
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 {
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}" test \
WHAT=k8s.io/kubernetes/cmd/kubeadm/test \
WHAT=k8s.io/kubernetes/cmd/kubeadm/test/cmd \
KUBE_TEST_ARGS="--kubeadm-path '${KUBEADM_PATH}'"

View File

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