Skip to content

Commit b92a23e

Browse files
committed
Integration test cleanup
1 parent c793299 commit b92a23e

16 files changed

+55
-77
lines changed

Makefile

+2-2
Original file line numberDiff line numberDiff line change
@@ -152,15 +152,15 @@ test-iso:
152152

153153
.PHONY: integration
154154
integration: out/minikube
155-
go test -v -test.timeout=30m $(REPOPATH)/test/integration --tags="$(MINIKUBE_INTEGRATION_BUILD_TAGS)" --minikube-args="$(MINIKUBE_ARGS)"
155+
go test -v -test.timeout=30m $(REPOPATH)/test/integration --tags="$(MINIKUBE_INTEGRATION_BUILD_TAGS)" $(TEST_ARGS)
156156

157157
.PHONY: integration-none-driver
158158
integration-none-driver: e2e-linux-amd64 out/minikube-linux-amd64
159159
sudo -E out/e2e-linux-amd64 -testdata-dir "test/integration/testdata" -minikube-args="--vm-driver=none --alsologtostderr" -test.v -test.timeout=30m -binary=out/minikube-linux-amd64
160160

161161
.PHONY: integration-versioned
162162
integration-versioned: out/minikube
163-
go test -v -test.timeout=30m $(REPOPATH)/test/integration --tags="$(MINIKUBE_INTEGRATION_BUILD_TAGS) versioned" --minikube-args="$(MINIKUBE_ARGS)"
163+
go test -v -test.timeout=30m $(REPOPATH)/test/integration --tags="$(MINIKUBE_INTEGRATION_BUILD_TAGS) versioned" $(TEST_ARGS)
164164

165165
.PHONY: test
166166
test: pkg/minikube/assets/assets.go

hack/jenkins/common.sh

+1-1
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ find ~/.minikube || true
8383

8484
# Allow this to fail, we'll switch on the return code below.
8585
set +e
86-
${SUDO_PREFIX}out/e2e-${OS_ARCH} -minikube-args="--vm-driver=${VM_DRIVER} --v=10 --logtostderr ${EXTRA_ARGS}" -test.v -test.timeout=30m -binary=out/minikube-${OS_ARCH}
86+
${SUDO_PREFIX}out/e2e-${OS_ARCH} -minikube-start-args="--vm-driver=${VM_DRIVER}" -minikube-args="--v=10 --logtostderr ${EXTRA_ARGS}" -test.v -test.timeout=30m -binary=out/minikube-${OS_ARCH}
8787
result=$?
8888
set -e
8989

test/integration/addons_test.go

+2-9
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,7 @@ func testAddons(t *testing.T) {
4545

4646
func testDashboard(t *testing.T) {
4747
t.Parallel()
48-
minikubeRunner := util.MinikubeRunner{
49-
BinaryPath: *binaryPath,
50-
Args: *args,
51-
T: t,
52-
}
48+
minikubeRunner := NewMinikubeRunner(t)
5349

5450
if err := util.WaitForDashboardRunning(t); err != nil {
5551
t.Fatalf("waiting for dashboard to be up: %s", err)
@@ -74,10 +70,7 @@ func testDashboard(t *testing.T) {
7470

7571
func testServicesList(t *testing.T) {
7672
t.Parallel()
77-
minikubeRunner := util.MinikubeRunner{
78-
BinaryPath: *binaryPath,
79-
Args: *args,
80-
T: t}
73+
minikubeRunner := NewMinikubeRunner(t)
8174

8275
checkServices := func() error {
8376
output := minikubeRunner.RunCommand("service list", false)

test/integration/cluster_dns_test.go

+16-2
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ import (
2323
"strings"
2424
"testing"
2525

26+
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
27+
pkgutil "k8s.io/minikube/pkg/util"
28+
2629
"k8s.io/minikube/test/integration/util"
2730
)
2831

@@ -33,9 +36,12 @@ func testClusterDNS(t *testing.T) {
3336
}
3437

3538
kubectlRunner := util.NewKubectlRunner(t)
36-
podName := "busybox"
3739
podPath := filepath.Join(*testdataDir, "busybox.yaml")
38-
defer kubectlRunner.RunCommand([]string{"delete", "-f", podPath})
40+
41+
client, err := pkgutil.GetClient()
42+
if err != nil {
43+
t.Fatalf("Error getting kubernetes client %s", err)
44+
}
3945

4046
if _, err := kubectlRunner.RunCommand([]string{"create", "-f", podPath}); err != nil {
4147
t.Fatalf("creating busybox pod: %s", err)
@@ -44,6 +50,14 @@ func testClusterDNS(t *testing.T) {
4450
if err := util.WaitForBusyboxRunning(t, "default"); err != nil {
4551
t.Fatalf("Waiting for busybox pod to be up: %s", err)
4652
}
53+
listOpts := metav1.ListOptions{LabelSelector: "integration-test=busybox"}
54+
pods, err := client.CoreV1().Pods("default").List(listOpts)
55+
if len(pods.Items) == 0 {
56+
t.Fatal("Expected a busybox pod to be running")
57+
}
58+
59+
podName := pods.Items[0].Name
60+
defer kubectlRunner.RunCommand([]string{"delete", "po", podName})
4761

4862
dnsByteArr, err := kubectlRunner.RunCommand([]string{"exec", podName,
4963
"nslookup", "kubernetes"})

test/integration/cluster_env_test.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,7 @@ import (
2929
func testClusterEnv(t *testing.T) {
3030
t.Parallel()
3131

32-
minikubeRunner := util.MinikubeRunner{
33-
Args: *args,
34-
BinaryPath: *binaryPath,
35-
T: t}
32+
minikubeRunner := NewMinikubeRunner(t)
3633

3734
dockerEnvVars := minikubeRunner.RunCommand("docker-env", true)
3835
if err := minikubeRunner.SetEnvFromEnvCmdOutput(dockerEnvVars); err != nil {

test/integration/cluster_logs_test.go

+2-7
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,14 @@ package integration
2121
import (
2222
"strings"
2323
"testing"
24-
25-
"k8s.io/minikube/test/integration/util"
2624
)
2725

2826
func testClusterLogs(t *testing.T) {
2927
t.Parallel()
30-
minikubeRunner := util.MinikubeRunner{
31-
Args: *args,
32-
BinaryPath: *binaryPath,
33-
T: t}
28+
minikubeRunner := NewMinikubeRunner(t)
3429
minikubeRunner.EnsureRunning()
30+
logsCmdOutput := minikubeRunner.GetLogs()
3531

36-
logsCmdOutput := minikubeRunner.RunCommand("logs", true)
3732
//check for # of lines or check for strings
3833
logWords := []string{"minikube", ".go"}
3934
for _, logWord := range logWords {

test/integration/cluster_ssh_test.go

+1-7
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,11 @@ package integration
2121
import (
2222
"strings"
2323
"testing"
24-
25-
"k8s.io/minikube/test/integration/util"
2624
)
2725

2826
func testClusterSSH(t *testing.T) {
2927
t.Parallel()
30-
minikubeRunner := util.MinikubeRunner{
31-
Args: *args,
32-
BinaryPath: *binaryPath,
33-
T: t}
34-
28+
minikubeRunner := NewMinikubeRunner(t)
3529
expectedStr := "hello"
3630
sshCmdOutput := minikubeRunner.RunCommand("ssh echo "+expectedStr, true)
3731
if !strings.Contains(sshCmdOutput, expectedStr) {

test/integration/docker_test.go

+2-7
Original file line numberDiff line numberDiff line change
@@ -22,22 +22,17 @@ import (
2222
"fmt"
2323
"strings"
2424
"testing"
25-
26-
"k8s.io/minikube/test/integration/util"
2725
)
2826

2927
func TestDocker(t *testing.T) {
30-
minikubeRunner := util.MinikubeRunner{
31-
Args: *args,
32-
BinaryPath: *binaryPath,
33-
T: t}
28+
minikubeRunner := NewMinikubeRunner(t)
3429

3530
if strings.Contains(*args, "--vm-driver=none") {
3631
t.Skip("skipping test as none driver does not bundle docker")
3732
}
3833

3934
minikubeRunner.RunCommand("delete", false)
40-
startCmd := fmt.Sprintf("start %s %s", minikubeRunner.Args, "--docker-env=FOO=BAR --docker-env=BAZ=BAT --docker-opt=debug --docker-opt=icc=true")
35+
startCmd := fmt.Sprintf("start %s %s %s", minikubeRunner.StartArgs, minikubeRunner.Args, "--docker-env=FOO=BAR --docker-env=BAZ=BAT --docker-opt=debug --docker-opt=icc=true")
4136
minikubeRunner.RunCommand(startCmd, true)
4237
minikubeRunner.EnsureRunning()
4338

test/integration/flags.go

+12
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import (
2020
"flag"
2121
"os"
2222
"testing"
23+
24+
"k8s.io/minikube/test/integration/util"
2325
)
2426

2527
func TestMain(m *testing.M) {
@@ -29,4 +31,14 @@ func TestMain(m *testing.M) {
2931

3032
var binaryPath = flag.String("binary", "../../out/minikube", "path to minikube binary")
3133
var args = flag.String("minikube-args", "", "Arguments to pass to minikube")
34+
var startArgs = flag.String("minikube-start-args", "", "Arguments to pass to minikube start")
3235
var testdataDir = flag.String("testdata-dir", "testdata", "the directory relative to test/integration where the testdata lives")
36+
37+
func NewMinikubeRunner(t *testing.T) util.MinikubeRunner {
38+
return util.MinikubeRunner{
39+
Args: *args,
40+
BinaryPath: *binaryPath,
41+
StartArgs: *startArgs,
42+
T: t,
43+
}
44+
}

test/integration/functional_test.go

+1-5
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,10 @@ import (
2424

2525
"k8s.io/minikube/pkg/minikube/constants"
2626
"k8s.io/minikube/pkg/minikube/machine"
27-
"k8s.io/minikube/test/integration/util"
2827
)
2928

3029
func TestFunctional(t *testing.T) {
31-
minikubeRunner := util.MinikubeRunner{
32-
BinaryPath: *binaryPath,
33-
Args: *args,
34-
T: t}
30+
minikubeRunner := NewMinikubeRunner(t)
3531
minikubeRunner.EnsureRunning()
3632
integrationTestImages := []string{"busybox:glibc"}
3733
if err := machine.CacheImages(integrationTestImages, constants.ImageCacheDir); err != nil {

test/integration/iso_test.go

+4-18
Original file line numberDiff line numberDiff line change
@@ -22,16 +22,11 @@ import (
2222
"fmt"
2323
"strings"
2424
"testing"
25-
26-
"k8s.io/minikube/test/integration/util"
2725
)
2826

2927
func TestISO(t *testing.T) {
3028

31-
minikubeRunner := util.MinikubeRunner{
32-
Args: *args,
33-
BinaryPath: *binaryPath,
34-
T: t}
29+
minikubeRunner := NewMinikubeRunner(t)
3530

3631
minikubeRunner.RunCommand("delete", true)
3732
minikubeRunner.Start()
@@ -42,10 +37,7 @@ func TestISO(t *testing.T) {
4237
}
4338

4439
func testMountPermissions(t *testing.T) {
45-
minikubeRunner := util.MinikubeRunner{
46-
Args: *args,
47-
BinaryPath: *binaryPath,
48-
T: t}
40+
minikubeRunner := NewMinikubeRunner(t)
4941
// test mount permissions
5042
mountPoints := []string{"/Users", "/hosthome"}
5143
perms := "drwxr-xr-x"
@@ -67,10 +59,7 @@ func testMountPermissions(t *testing.T) {
6759
}
6860

6961
func testPackages(t *testing.T) {
70-
minikubeRunner := util.MinikubeRunner{
71-
Args: *args,
72-
BinaryPath: *binaryPath,
73-
T: t}
62+
minikubeRunner := NewMinikubeRunner(t)
7463

7564
packages := []string{
7665
"git",
@@ -92,10 +81,7 @@ func testPackages(t *testing.T) {
9281
}
9382

9483
func testPersistence(t *testing.T) {
95-
minikubeRunner := util.MinikubeRunner{
96-
Args: *args,
97-
BinaryPath: *binaryPath,
98-
T: t}
84+
minikubeRunner := NewMinikubeRunner(t)
9985

10086
for _, dir := range []string{
10187
"/data",

test/integration/mount_test.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,7 @@ func testMounting(t *testing.T) {
3737
if strings.Contains(*args, "--vm-driver=none") {
3838
t.Skip("skipping test for none driver as it does not need mount")
3939
}
40-
minikubeRunner := util.MinikubeRunner{
41-
Args: *args,
42-
BinaryPath: *binaryPath,
43-
T: t}
40+
minikubeRunner := NewMinikubeRunner(t)
4441

4542
tempDir, err := ioutil.TempDir("", "mounttest")
4643
if err != nil {

test/integration/persistence_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import (
2828
)
2929

3030
func TestPersistence(t *testing.T) {
31-
minikubeRunner := util.MinikubeRunner{BinaryPath: *binaryPath, T: t}
31+
minikubeRunner := NewMinikubeRunner(t)
3232
minikubeRunner.EnsureRunning()
3333

3434
kubectlRunner := util.NewKubectlRunner(t)

test/integration/start_stop_delete_test.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,7 @@ import (
3030

3131
func TestStartStop(t *testing.T) {
3232

33-
runner := util.MinikubeRunner{
34-
Args: *args,
35-
BinaryPath: *binaryPath,
36-
T: t}
33+
runner := NewMinikubeRunner(t)
3734
runner.RunCommand("delete", false)
3835
runner.CheckStatus(state.None.String())
3936

test/integration/util/util.go

+7-2
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ type MinikubeRunner struct {
4242
T *testing.T
4343
BinaryPath string
4444
Args string
45+
StartArgs string
4546
}
4647

4748
func (m *MinikubeRunner) Run(cmd string) error {
@@ -103,7 +104,7 @@ func (m *MinikubeRunner) SSH(command string) (string, error) {
103104
}
104105

105106
func (m *MinikubeRunner) Start() {
106-
m.RunCommand(fmt.Sprintf("start %s", m.Args), true)
107+
m.RunCommand(fmt.Sprintf("start %s %s", m.StartArgs, m.Args), true)
107108
}
108109

109110
func (m *MinikubeRunner) EnsureRunning() {
@@ -129,7 +130,11 @@ func (m *MinikubeRunner) SetEnvFromEnvCmdOutput(dockerEnvVars string) error {
129130
}
130131

131132
func (m *MinikubeRunner) GetStatus() string {
132-
return m.RunCommand("status --format={{.MinikubeStatus}}", true)
133+
return m.RunCommand(fmt.Sprintf("status --format={{.MinikubeStatus}} %s", m.Args), true)
134+
}
135+
136+
func (m *MinikubeRunner) GetLogs() string {
137+
return m.RunCommand(fmt.Sprintf("logs %s", m.Args), true)
133138
}
134139

135140
func (m *MinikubeRunner) CheckStatus(desired string) {

test/integration/versioned_functional_test.go

+1-4
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,7 @@ func TestVersionedFunctional(t *testing.T) {
3636
var minikubeRunner util.MinikubeRunner
3737
for _, version := range k8sVersions {
3838
vArgs := fmt.Sprintf("%s --kubernetes-version %s", *args, version.Version)
39-
minikubeRunner = util.MinikubeRunner{
40-
BinaryPath: *binaryPath,
41-
Args: vArgs,
42-
T: t}
39+
minikubeRunner = NewMinikubeRunner(t)
4340
minikubeRunner.EnsureRunning()
4441

4542
t.Run("Status", testClusterStatus)

0 commit comments

Comments
 (0)