From 37ea2f0eeaffbed21dd355a14ddd965f663bab2a Mon Sep 17 00:00:00 2001 From: dlorenc Date: Thu, 30 Jun 2016 14:11:37 -0700 Subject: [PATCH] Add a "--minikube-args" flag to the integration tests. This flag lets you pass arbitrary flags to minikube start. For now, this is useful for testing different iso URLs and VM drivers. --- test/integration/addons_test.go | 13 +++++++-- test/integration/cluster_dns_test.go | 5 +++- test/integration/cluster_env_test.go | 5 +++- test/integration/cluster_logs_test.go | 5 +++- test/integration/cluster_ssh_test.go | 5 +++- test/integration/cluster_status_test.go | 5 +++- test/integration/flags.go | 33 ++++++++++++++++++++++ test/integration/start_stop_delete_test.go | 18 ++++-------- test/integration/util/util.go | 7 ++++- 9 files changed, 75 insertions(+), 21 deletions(-) create mode 100644 test/integration/flags.go diff --git a/test/integration/addons_test.go b/test/integration/addons_test.go index 3143c2cc66..9b5e2ff119 100644 --- a/test/integration/addons_test.go +++ b/test/integration/addons_test.go @@ -36,7 +36,11 @@ var ( ) func TestAddons(t *testing.T) { - minikubeRunner := util.MinikubeRunner{BinaryPath: *binaryPath, T: t} + minikubeRunner := util.MinikubeRunner{ + BinaryPath: *binaryPath, + Args: *args, + T: t} + minikubeRunner.EnsureRunning() kubectlRunner := util.NewKubectlRunner(t) @@ -58,8 +62,11 @@ func TestAddons(t *testing.T) { } func TestDashboard(t *testing.T) { - minikubeRunner := util.MinikubeRunner{BinaryPath: *binaryPath, T: t} - minikubeRunner.RunCommand("start", true) + minikubeRunner := util.MinikubeRunner{ + BinaryPath: *binaryPath, + Args: *args, + T: t} + minikubeRunner.Start() minikubeRunner.CheckStatus("Running") kubectlRunner := util.NewKubectlRunner(t) diff --git a/test/integration/cluster_dns_test.go b/test/integration/cluster_dns_test.go index 126635afdd..1eb61c0bce 100644 --- a/test/integration/cluster_dns_test.go +++ b/test/integration/cluster_dns_test.go @@ -31,7 +31,10 @@ import ( ) func TestClusterDNS(t *testing.T) { - minikubeRunner := util.MinikubeRunner{BinaryPath: *binaryPath, T: t} + minikubeRunner := util.MinikubeRunner{ + BinaryPath: *binaryPath, + Args: *args, + T: t} minikubeRunner.EnsureRunning() kubectlRunner := util.NewKubectlRunner(t) diff --git a/test/integration/cluster_env_test.go b/test/integration/cluster_env_test.go index cb48d2ead3..34b9ad3659 100644 --- a/test/integration/cluster_env_test.go +++ b/test/integration/cluster_env_test.go @@ -28,7 +28,10 @@ import ( ) func TestClusterEnv(t *testing.T) { - minikubeRunner := util.MinikubeRunner{BinaryPath: *binaryPath, T: t} + minikubeRunner := util.MinikubeRunner{ + Args: *args, + BinaryPath: *binaryPath, + T: t} minikubeRunner.EnsureRunning() dockerEnvVars := minikubeRunner.RunCommand("docker-env", true) diff --git a/test/integration/cluster_logs_test.go b/test/integration/cluster_logs_test.go index e13aeabfb9..37d0960356 100644 --- a/test/integration/cluster_logs_test.go +++ b/test/integration/cluster_logs_test.go @@ -26,7 +26,10 @@ import ( ) func TestClusterLogs(t *testing.T) { - minikubeRunner := util.MinikubeRunner{BinaryPath: *binaryPath, T: t} + minikubeRunner := util.MinikubeRunner{ + Args: *args, + BinaryPath: *binaryPath, + T: t} minikubeRunner.EnsureRunning() logsCmdOutput := minikubeRunner.RunCommand("logs", true) diff --git a/test/integration/cluster_ssh_test.go b/test/integration/cluster_ssh_test.go index 9e187c3cbb..9c2b10581e 100644 --- a/test/integration/cluster_ssh_test.go +++ b/test/integration/cluster_ssh_test.go @@ -25,7 +25,10 @@ import ( ) func TestClusterSSH(t *testing.T) { - minikubeRunner := util.MinikubeRunner{BinaryPath: *binaryPath, T: t} + minikubeRunner := util.MinikubeRunner{ + Args: *args, + BinaryPath: *binaryPath, + T: t} minikubeRunner.EnsureRunning() expectedStr := "hello" diff --git a/test/integration/cluster_status_test.go b/test/integration/cluster_status_test.go index 477a7ff452..4fa3b50a21 100644 --- a/test/integration/cluster_status_test.go +++ b/test/integration/cluster_status_test.go @@ -29,7 +29,10 @@ import ( ) func TestClusterStatus(t *testing.T) { - minikubeRunner := util.MinikubeRunner{BinaryPath: *binaryPath, T: t} + minikubeRunner := util.MinikubeRunner{ + Args: *args, + BinaryPath: *binaryPath, + T: t} minikubeRunner.EnsureRunning() kubectlRunner := util.NewKubectlRunner(t) diff --git a/test/integration/flags.go b/test/integration/flags.go new file mode 100644 index 0000000000..b79ecc13f5 --- /dev/null +++ b/test/integration/flags.go @@ -0,0 +1,33 @@ +// +build integration + +/* +Copyright 2016 The Kubernetes Authors All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package integration + +import ( + "flag" + "os" + "testing" +) + +func TestMain(m *testing.M) { + flag.Parse() + os.Exit(m.Run()) +} + +var binaryPath = flag.String("binary", "../../out/minikube", "path to minikube binary") +var args = flag.String("minikube-args", "", "Arguments to pass to minikube") diff --git a/test/integration/start_stop_delete_test.go b/test/integration/start_stop_delete_test.go index 7ac1afe436..d0f352f533 100644 --- a/test/integration/start_stop_delete_test.go +++ b/test/integration/start_stop_delete_test.go @@ -19,24 +19,23 @@ limitations under the License. package integration import ( - "flag" "net" - "os" "strings" "testing" "k8s.io/minikube/test/integration/util" ) -var binaryPath = flag.String("binary", "../../out/minikube", "path to minikube binary") - func TestStartStop(t *testing.T) { - runner := util.MinikubeRunner{T: t, BinaryPath: *binaryPath} + runner := util.MinikubeRunner{ + Args: *args, + BinaryPath: *binaryPath, + T: t} runner.RunCommand("delete", false) runner.CheckStatus("Does Not Exist") - runner.RunCommand("start", true) + runner.Start() runner.CheckStatus("Running") ip := runner.RunCommand("ip", true) @@ -48,14 +47,9 @@ func TestStartStop(t *testing.T) { runner.RunCommand("stop", true) runner.CheckStatus("Stopped") - runner.RunCommand("start", true) + runner.Start() runner.CheckStatus("Running") runner.RunCommand("delete", true) runner.CheckStatus("Does Not Exist") } - -func TestMain(m *testing.M) { - flag.Parse() - os.Exit(m.Run()) -} diff --git a/test/integration/util/util.go b/test/integration/util/util.go index f1ec6b4d54..a19b322b34 100644 --- a/test/integration/util/util.go +++ b/test/integration/util/util.go @@ -34,6 +34,7 @@ import ( type MinikubeRunner struct { T *testing.T BinaryPath string + Args string } func (m *MinikubeRunner) RunCommand(command string, checkError bool) string { @@ -52,9 +53,13 @@ func (m *MinikubeRunner) RunCommand(command string, checkError bool) string { return string(stdout) } +func (m *MinikubeRunner) Start() { + m.RunCommand(fmt.Sprintf("start %s", m.Args), true) +} + func (m *MinikubeRunner) EnsureRunning() { if m.GetStatus() != "Running" { - m.RunCommand("start", true) + m.Start() } m.CheckStatus("Running") }