diff --git a/test/e2e/driver.go b/test/e2e/driver.go index 6f468383e3e..11ec8dfe9fe 100644 --- a/test/e2e/driver.go +++ b/test/e2e/driver.go @@ -17,6 +17,7 @@ limitations under the License. package e2e import ( + "fmt" "path" "regexp" "strings" @@ -63,19 +64,18 @@ func RunE2ETests(authConfig, certDir, host, repoRoot, provider string, orderseed config.GinkgoConfig.FocusString = `\b(` + strings.Join(testRegexps, "|") + `)\b` } - // TODO: Make "times" work again. // TODO: Make orderseed work again. var passed testResult = true gomega.RegisterFailHandler(ginkgo.Fail) - var r []ginkgo.Reporter - if reportDir != "" { - // TODO: When we start using parallel tests we need to change this to "junit_%d.xml", - // see ginkgo docs for more details. - r = append(r, reporters.NewJUnitReporter(path.Join(reportDir, "junit.xml"))) - } // Run the existing tests with output to console + JUnit for Jenkins - ginkgo.RunSpecsWithDefaultAndCustomReporters(&passed, "Kubernetes e2e Suite", r) + for i := 0; i < times && passed; i++ { + var r []ginkgo.Reporter + if reportDir != "" { + r = append(r, reporters.NewJUnitReporter(path.Join(reportDir, fmt.Sprintf("junit_%d.xml", i+1)))) + } + ginkgo.RunSpecsWithDefaultAndCustomReporters(&passed, fmt.Sprintf("Kubernetes e2e Suite run %d of %d", i+1, times), r) + } if !passed { glog.Fatalf("At least one test failed")