From d4a33b3f98a752d0c262dc2cfab0c1f3803a8ad0 Mon Sep 17 00:00:00 2001 From: Priya Wadhwa <priyawadhwa@google.com> Date: Wed, 22 Jul 2020 15:17:20 -0400 Subject: [PATCH] don't run test on None; make sure docker/minikube are on PATH before running skaffold --- test/integration/skaffold_test.go | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/test/integration/skaffold_test.go b/test/integration/skaffold_test.go index 04c3bc550d..937c31268e 100644 --- a/test/integration/skaffold_test.go +++ b/test/integration/skaffold_test.go @@ -34,6 +34,9 @@ import ( ) func TestSkaffold(t *testing.T) { + if NoneDriver() { + t.Skip("none driver doesn't support `minikube docker-env`, which skaffold requires") + } // can't use a unique profile, as skaffold only recognizes the // profile name 'minikube' as a local cluster profile := "minikube" @@ -53,16 +56,22 @@ func TestSkaffold(t *testing.T) { if err != nil { t.Fatalf("starting minikube: %v\n%s", err, rr.Output()) } - - // make sure "skaffold run" exits without failure - cmd := exec.CommandContext(ctx, tf.Name(), "run", "--kube-context", profile, "--status-check=true", "--port-forward=false") - cmd.Dir = "testdata/skaffold" // make sure minikube binary is in path so that skaffold can access it abs, err := filepath.Abs(Target()) if err != nil { t.Fatalf("absolute path to minikube binary: %v", err) } os.Setenv("PATH", fmt.Sprintf("%s:%s", os.Getenv("PATH"), filepath.Dir(abs))) + // make sure 'docker' and 'minikube' are on PATH + for _, binary := range []string{"minikube", "docker"} { + rr, err := Run(t, exec.CommandContext(ctx, "which", binary)) + if err != nil { + t.Fatalf("'which %v' failed: check if %v is on PATH\n%v", binary, binary, rr.Output()) + } + } + // make sure "skaffold run" exits without failure + cmd := exec.CommandContext(ctx, tf.Name(), "run", "--kube-context", profile, "--status-check=true", "--port-forward=false") + cmd.Dir = "testdata/skaffold" rr, err = Run(t, cmd) if err != nil { t.Fatalf("error running skaffold: %v\n%s", err, rr.Output())