Fix the e2e --times flag for running tests more than once. Fixes #4555.

This commit is contained in:
Alex Robinson 2015-02-18 15:44:11 -08:00
parent afefa85b26
commit 9f10f7714b

View File

@ -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")