提交 13395a06 编写于 作者: N Nick Kubala 提交者: dlorenc

add integration-versioned make rule to run certain integration tests on all supported k8s versions

上级 09709ccf
......@@ -114,6 +114,10 @@ test-iso:
integration: out/minikube
go test -v -test.timeout=30m $(REPOPATH)/test/integration --tags=integration --minikube-args="$(MINIKUBE_ARGS)"
.PHONY: integration-versioned
integration-versioned: out/minikube
go test -v -test.timeout=30m $(REPOPATH)/test/integration --tags=integration --minikube-args="$(MINIKUBE_ARGS)" --versioned=true
.PHONY: test
test: $(GOPATH)/src/$(ORG) pkg/minikube/assets/assets.go
./test.sh
......
......@@ -29,3 +29,4 @@ func TestMain(m *testing.M) {
var binaryPath = flag.String("binary", "../../out/minikube", "path to minikube binary")
var args = flag.String("minikube-args", "", "Arguments to pass to minikube")
var versioned = flag.Bool("versioned", false, "Run tests on all supported k8s versions")
......@@ -19,26 +19,56 @@ limitations under the License.
package integration
import (
"fmt"
"runtime"
"strings"
"testing"
"k8s.io/minikube/pkg/minikube/constants"
"k8s.io/minikube/pkg/minikube/kubernetes_versions"
"k8s.io/minikube/test/integration/util"
)
func TestFunctional(t *testing.T) {
minikubeRunner := util.MinikubeRunner{
BinaryPath: *binaryPath,
Args: *args,
T: t}
func RunVersionedFunctional(t *testing.T, minikubeRunner util.MinikubeRunner) {
minikubeRunner.EnsureRunning()
// This one is not parallel, and ensures the cluster comes up
// before we run any other tests.
t.Run("Status", testClusterStatus)
t.Run("DNS", testClusterDNS)
t.Run("Logs", testClusterLogs)
t.Run("Addons", testAddons)
}
func TestFunctional(t *testing.T) {
var minikubeRunner util.MinikubeRunner
if *versioned {
t.Logf("Running versioned integration tests")
k8sVersions, err := kubernetes_versions.GetK8sVersionsFromURL(constants.KubernetesVersionGCSURL)
if err != nil {
t.Fatalf(err.Error())
}
for _, version := range k8sVersions {
vArgs := fmt.Sprintf("%s --kubernetes-version %s", *args, version.Version)
minikubeRunner = util.MinikubeRunner{
BinaryPath: *binaryPath,
Args: vArgs,
T: t}
RunVersionedFunctional(t, minikubeRunner)
}
}
minikubeRunner = util.MinikubeRunner{
BinaryPath: *binaryPath,
Args: *args,
T: t}
RunVersionedFunctional(t, minikubeRunner)
t.Run("EnvVars", testClusterEnv)
t.Run("Logs", testClusterLogs)
t.Run("SSH", testClusterSSH)
t.Run("Systemd", testVMSystemd)
t.Run("Dashboard", testDashboard)
t.Run("ServicesList", testServicesList)
t.Run("Provisioning", testProvisioning)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册