diff --git a/test/e2e/driver.go b/test/e2e/driver.go index 95ca1643b5c..384ff67bd0e 100644 --- a/test/e2e/driver.go +++ b/test/e2e/driver.go @@ -18,6 +18,8 @@ package e2e import ( "path" + "regexp" + "strings" "time" "github.com/GoogleCloudPlatform/kubernetes/pkg/util" @@ -30,6 +32,12 @@ import ( type testResult bool +func init() { + // Turn off colors by default to make it easier to collect console output in Jenkins + // Override colors off with --ginkgo.noColor=false in the command-line + config.DefaultReporterConfig.NoColor = true +} + func (t *testResult) Fail() { *t = false } // Run each Go end-to-end-test. This function assumes the @@ -51,14 +59,22 @@ func RunE2ETests(authConfig, certDir, host, repoRoot, provider string, orderseed glog.Fatalf("This test has timed out. Cleanup not guaranteed.") }() - // TODO: Make -t TestName work again. + if len(testList) != 0 { + if config.GinkgoConfig.FocusString != "" || config.GinkgoConfig.SkipString != "" { + glog.Fatal("Either specify --test/-t or --ginkgo.focus/--ginkgo.skip but not both.") + } + var testRegexps []string + for _, t := range testList { + testRegexps = append(testRegexps, regexp.QuoteMeta(t)) + } + 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) - // Turn of colors for now to make it easier to collect console output in Jenkins - config.DefaultReporterConfig.NoColor = true var r []ginkgo.Reporter if reportDir != "" { // TODO: When we start using parallel tests we need to change this to "junit_%d.xml",