diff --git a/test/extended/README.md b/test/extended/README.md index c287b9d6282f..232aa199d1f8 100644 --- a/test/extended/README.md +++ b/test/extended/README.md @@ -17,7 +17,7 @@ variable `FOCUS='regex'` where 'regex' is a regular expression matching the description of the test you want to run. For example one of the s2i tests (s2i_incremental.go) defines: - var _ = g.Describe("[builds][Slow] incremental s2i build", func() { + var _ = g.Describe("[Feature:Builds][Slow] incremental s2i build", func() { So you can write a focus regex that includes this test by setting `FOCUS='\[builds\]'` or `FOCUS='incremental s2i'`. diff --git a/test/extended/builds/build_pruning.go b/test/extended/builds/build_pruning.go index e96b042b2251..b55d2c7eaa5b 100644 --- a/test/extended/builds/build_pruning.go +++ b/test/extended/builds/build_pruning.go @@ -18,7 +18,7 @@ import ( // These build pruning tests create 4 builds and check that 2-3 of them are left after pruning. // This variation in the number of builds that could be left is caused by the HandleBuildPruning // function using cached information from the buildLister. -var _ = g.Describe("[builds][pruning] prune builds based on settings in the buildconfig", func() { +var _ = g.Describe("[Feature:Builds][pruning] prune builds based on settings in the buildconfig", func() { var ( buildPruningBaseDir = exutil.FixturePath("testdata", "build-pruning") isFixture = filepath.Join(buildPruningBaseDir, "imagestream.yaml") diff --git a/test/extended/builds/build_timing.go b/test/extended/builds/build_timing.go index 27b972bbd801..d97b82f7fcf3 100644 --- a/test/extended/builds/build_timing.go +++ b/test/extended/builds/build_timing.go @@ -26,7 +26,7 @@ func verifyStages(stages []buildapi.StageInfo, expectedStages map[string][]strin } } -var _ = g.Describe("[builds][timing] capture build stages and durations", func() { +var _ = g.Describe("[Feature:Builds][timing] capture build stages and durations", func() { var ( buildTimingBaseDir = exutil.FixturePath("testdata", "build-timing") isFixture = filepath.Join(buildTimingBaseDir, "test-is.json") diff --git a/test/extended/builds/buildconfigsecretinjector.go b/test/extended/builds/buildconfigsecretinjector.go index a8ee2d70f762..cccb2a43295e 100644 --- a/test/extended/builds/buildconfigsecretinjector.go +++ b/test/extended/builds/buildconfigsecretinjector.go @@ -7,7 +7,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds] buildconfig secret injector", func() { +var _ = g.Describe("[Feature:Builds] buildconfig secret injector", func() { defer g.GinkgoRecover() var ( diff --git a/test/extended/builds/completiondeadlineseconds.go b/test/extended/builds/completiondeadlineseconds.go index 9a4754fa7b0d..946d33727c1e 100644 --- a/test/extended/builds/completiondeadlineseconds.go +++ b/test/extended/builds/completiondeadlineseconds.go @@ -11,7 +11,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Slow] builds should have deadlines", func() { +var _ = g.Describe("[Feature:Builds][Slow] builds should have deadlines", func() { defer g.GinkgoRecover() var ( sourceFixture = exutil.FixturePath("testdata", "test-cds-sourcebuild.json") diff --git a/test/extended/builds/contextdir.go b/test/extended/builds/contextdir.go index e0d4c683c993..5e1ed8db87ae 100644 --- a/test/extended/builds/contextdir.go +++ b/test/extended/builds/contextdir.go @@ -14,7 +14,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Slow] builds with a context directory", func() { +var _ = g.Describe("[Feature:Builds][Slow] builds with a context directory", func() { defer g.GinkgoRecover() var ( appFixture = exutil.FixturePath("testdata", "test-context-build.json") diff --git a/test/extended/builds/digest.go b/test/extended/builds/digest.go index 0a9899b82977..ec97a9993fa1 100644 --- a/test/extended/builds/digest.go +++ b/test/extended/builds/digest.go @@ -9,7 +9,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Slow] completed builds should have digest of the image in their status", func() { +var _ = g.Describe("[Feature:Builds][Slow] completed builds should have digest of the image in their status", func() { defer g.GinkgoRecover() var ( imageStreamFixture = exutil.FixturePath("..", "integration", "testdata", "test-image-stream.json") diff --git a/test/extended/builds/docker_pullsecret.go b/test/extended/builds/docker_pullsecret.go index f08c6d8e4b90..3e682d82bfad 100644 --- a/test/extended/builds/docker_pullsecret.go +++ b/test/extended/builds/docker_pullsecret.go @@ -9,7 +9,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][pullsecret][Conformance] docker build using a pull secret", func() { +var _ = g.Describe("[Feature:Builds][pullsecret][Conformance] docker build using a pull secret", func() { defer g.GinkgoRecover() const ( buildTestPod = "build-test-pod" diff --git a/test/extended/builds/docker_quota.go b/test/extended/builds/docker_quota.go index 1a035eddbf5e..d2b57e6790f1 100644 --- a/test/extended/builds/docker_quota.go +++ b/test/extended/builds/docker_quota.go @@ -11,7 +11,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][quota][Slow] docker build with a quota", func() { +var _ = g.Describe("[Feature:Builds][quota][Slow] docker build with a quota", func() { defer g.GinkgoRecover() const ( buildTestPod = "build-test-pod" diff --git a/test/extended/builds/dockerfile.go b/test/extended/builds/dockerfile.go index 82281d1144cc..ba53355bfae1 100644 --- a/test/extended/builds/dockerfile.go +++ b/test/extended/builds/dockerfile.go @@ -9,7 +9,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Slow] build can have Dockerfile input", func() { +var _ = g.Describe("[Feature:Builds][Slow] build can have Dockerfile input", func() { defer g.GinkgoRecover() var ( oc = exutil.NewCLI("build-dockerfile-env", exutil.KubeConfigPath()) diff --git a/test/extended/builds/failure_status.go b/test/extended/builds/failure_status.go index a6bb95cee472..47c36ac85542 100644 --- a/test/extended/builds/failure_status.go +++ b/test/extended/builds/failure_status.go @@ -16,7 +16,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Slow] update failure status", func() { +var _ = g.Describe("[Feature:Builds][Slow] update failure status", func() { defer g.GinkgoRecover() var ( diff --git a/test/extended/builds/forcepull.go b/test/extended/builds/forcepull.go index 513efecde7e3..109702546453 100644 --- a/test/extended/builds/forcepull.go +++ b/test/extended/builds/forcepull.go @@ -69,7 +69,7 @@ while this test is running and compare results. Restarting your docker daemon, be a quick fix. */ -var _ = g.Describe("[builds] forcePull should affect pulling builder images", func() { +var _ = g.Describe("[Feature:Builds] forcePull should affect pulling builder images", func() { defer g.GinkgoRecover() var oc = exutil.NewCLI("forcepull", exutil.KubeConfigPath()) diff --git a/test/extended/builds/gitauth.go b/test/extended/builds/gitauth.go index 98d7bca18f6c..9af61430d23a 100644 --- a/test/extended/builds/gitauth.go +++ b/test/extended/builds/gitauth.go @@ -22,7 +22,7 @@ func hostname(hostport string) (string, error) { return host, err } -var _ = g.Describe("[builds][Slow] can use private repositories as build input", func() { +var _ = g.Describe("[Feature:Builds][Slow] can use private repositories as build input", func() { defer g.GinkgoRecover() const ( diff --git a/test/extended/builds/hooks.go b/test/extended/builds/hooks.go index b7a462340062..cbe16043dc3c 100644 --- a/test/extended/builds/hooks.go +++ b/test/extended/builds/hooks.go @@ -7,7 +7,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Slow] testing build configuration hooks", func() { +var _ = g.Describe("[Feature:Builds][Slow] testing build configuration hooks", func() { defer g.GinkgoRecover() var ( buildFixture = exutil.FixturePath("testdata", "test-build-postcommit.json") diff --git a/test/extended/builds/image_source.go b/test/extended/builds/image_source.go index d09692dee13d..80638a313777 100644 --- a/test/extended/builds/image_source.go +++ b/test/extended/builds/image_source.go @@ -11,7 +11,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Slow] build can have Docker image source", func() { +var _ = g.Describe("[Feature:Builds][Slow] build can have Docker image source", func() { defer g.GinkgoRecover() var ( buildFixture = exutil.FixturePath("testdata", "test-imagesource-build.yaml") diff --git a/test/extended/builds/labels.go b/test/extended/builds/labels.go index df35bc55923e..77ab52208fae 100644 --- a/test/extended/builds/labels.go +++ b/test/extended/builds/labels.go @@ -10,7 +10,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Slow] result image should have proper labels set", func() { +var _ = g.Describe("[Feature:Builds][Slow] result image should have proper labels set", func() { defer g.GinkgoRecover() var ( imageStreamFixture = exutil.FixturePath("..", "integration", "testdata", "test-image-stream.json") diff --git a/test/extended/builds/long_names.go b/test/extended/builds/long_names.go index f75a3158f5bc..70cd90637b67 100644 --- a/test/extended/builds/long_names.go +++ b/test/extended/builds/long_names.go @@ -8,7 +8,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Slow] extremely long build/bc names are not problematic", func() { +var _ = g.Describe("[Feature:Builds][Slow] extremely long build/bc names are not problematic", func() { defer g.GinkgoRecover() var ( testDataBaseDir = exutil.FixturePath("testdata", "long_names") diff --git a/test/extended/builds/new_app.go b/test/extended/builds/new_app.go index 40d1ba440c29..76fb9c45de8d 100644 --- a/test/extended/builds/new_app.go +++ b/test/extended/builds/new_app.go @@ -13,7 +13,7 @@ const ( a59 = "a2345678901234567890123456789012345678901234567890123456789" ) -var _ = g.Describe("[builds][Conformance] oc new-app", func() { +var _ = g.Describe("[Feature:Builds][Conformance] oc new-app", func() { // Previously, the maximum length of app names creatable by new-app has // inadvertently been decreased, e.g. by creating an annotation somewhere // whose name itself includes the app name. Ensure we can create and fully diff --git a/test/extended/builds/no_outputname.go b/test/extended/builds/no_outputname.go index 6506d8923efb..e315648b0725 100644 --- a/test/extended/builds/no_outputname.go +++ b/test/extended/builds/no_outputname.go @@ -9,7 +9,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Conformance] build without output image", func() { +var _ = g.Describe("[Feature:Builds][Conformance] build without output image", func() { defer g.GinkgoRecover() var ( dockerImageFixture = exutil.FixturePath("testdata", "test-docker-no-outputname.json") diff --git a/test/extended/builds/nosrc.go b/test/extended/builds/nosrc.go index 00edafc65f42..ae45ff2aa813 100644 --- a/test/extended/builds/nosrc.go +++ b/test/extended/builds/nosrc.go @@ -11,7 +11,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds] build with empty source", func() { +var _ = g.Describe("[Feature:Builds] build with empty source", func() { defer g.GinkgoRecover() var ( buildFixture = exutil.FixturePath("testdata", "test-nosrc-build.json") diff --git a/test/extended/builds/optimized.go b/test/extended/builds/optimized.go index 9c1380f3644a..57a455c0fac8 100644 --- a/test/extended/builds/optimized.go +++ b/test/extended/builds/optimized.go @@ -14,7 +14,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds] Optimized image builds", func() { +var _ = g.Describe("[Feature:Builds] Optimized image builds", func() { defer g.GinkgoRecover() var ( oc = exutil.NewCLI("build-dockerfile-env", exutil.KubeConfigPath()) diff --git a/test/extended/builds/pipeline.go b/test/extended/builds/pipeline.go index 9cc86322cc8d..9af696d5bc4d 100644 --- a/test/extended/builds/pipeline.go +++ b/test/extended/builds/pipeline.go @@ -50,7 +50,7 @@ func debugAnyJenkinsFailure(br *exutil.BuildResult, name string, oc *exutil.CLI, } } -var _ = g.Describe("[builds][Slow] openshift pipeline build", func() { +var _ = g.Describe("[Feature:Builds][Slow] openshift pipeline build", func() { defer g.GinkgoRecover() var ( jenkinsTemplatePath = exutil.FixturePath("..", "..", "examples", "jenkins", "jenkins-ephemeral-template.json") diff --git a/test/extended/builds/proxy.go b/test/extended/builds/proxy.go index 03011756ae27..f6e257f23300 100644 --- a/test/extended/builds/proxy.go +++ b/test/extended/builds/proxy.go @@ -11,7 +11,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Slow] the s2i build should support proxies", func() { +var _ = g.Describe("[Feature:Builds][Slow] the s2i build should support proxies", func() { defer g.GinkgoRecover() var ( buildFixture = exutil.FixturePath("testdata", "test-build-proxy.yaml") diff --git a/test/extended/builds/remove_buildconfig.go b/test/extended/builds/remove_buildconfig.go index 688d1df83220..1a415cc2a4e4 100644 --- a/test/extended/builds/remove_buildconfig.go +++ b/test/extended/builds/remove_buildconfig.go @@ -11,7 +11,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Conformance] remove all builds when build configuration is removed", func() { +var _ = g.Describe("[Feature:Builds][Conformance] remove all builds when build configuration is removed", func() { defer g.GinkgoRecover() var ( buildFixture = exutil.FixturePath("testdata", "test-build.json") diff --git a/test/extended/builds/revision.go b/test/extended/builds/revision.go index b4c88f6b393c..6e7f22e8d7b4 100644 --- a/test/extended/builds/revision.go +++ b/test/extended/builds/revision.go @@ -11,7 +11,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds] build have source revision metadata", func() { +var _ = g.Describe("[Feature:Builds] build have source revision metadata", func() { defer g.GinkgoRecover() var ( buildFixture = exutil.FixturePath("testdata", "test-build-revision.json") diff --git a/test/extended/builds/run_policy.go b/test/extended/builds/run_policy.go index bb5f52d959ab..c7b6bf4b2c75 100644 --- a/test/extended/builds/run_policy.go +++ b/test/extended/builds/run_policy.go @@ -17,7 +17,7 @@ import ( ) // this test is very latency sensitive so run it by itself (serially). -var _ = g.Describe("[builds][Slow][Serial] using build configuration runPolicy", func() { +var _ = g.Describe("[Feature:Builds][Slow][Serial] using build configuration runPolicy", func() { defer g.GinkgoRecover() var ( // Use invalid source here as we don't care about the result diff --git a/test/extended/builds/s2i_dropcaps.go b/test/extended/builds/s2i_dropcaps.go index f33d07475470..4cb337ab096c 100644 --- a/test/extended/builds/s2i_dropcaps.go +++ b/test/extended/builds/s2i_dropcaps.go @@ -9,7 +9,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Slow] Capabilities should be dropped for s2i builders", func() { +var _ = g.Describe("[Feature:Builds][Slow] Capabilities should be dropped for s2i builders", func() { defer g.GinkgoRecover() var ( s2ibuilderFixture = exutil.FixturePath("testdata", "s2i-dropcaps", "rootable-ruby") diff --git a/test/extended/builds/s2i_env.go b/test/extended/builds/s2i_env.go index f17cf7f50515..ea9c2d1d9e45 100644 --- a/test/extended/builds/s2i_env.go +++ b/test/extended/builds/s2i_env.go @@ -12,7 +12,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Slow] s2i build with environment file in sources", func() { +var _ = g.Describe("[Feature:Builds][Slow] s2i build with environment file in sources", func() { defer g.GinkgoRecover() const ( buildTestPod = "build-test-pod" diff --git a/test/extended/builds/s2i_extended_build.go b/test/extended/builds/s2i_extended_build.go index 6b03c210e03f..c59b4907f2dc 100644 --- a/test/extended/builds/s2i_extended_build.go +++ b/test/extended/builds/s2i_extended_build.go @@ -9,7 +9,7 @@ import ( e2e "k8s.io/kubernetes/test/e2e/framework" ) -var _ = g.Describe("[builds][Slow] s2i extended build", func() { +var _ = g.Describe("[Feature:Builds][Slow] s2i extended build", func() { defer g.GinkgoRecover() var ( diff --git a/test/extended/builds/s2i_incremental.go b/test/extended/builds/s2i_incremental.go index d76ee67116f6..82dfe6cccaf1 100644 --- a/test/extended/builds/s2i_incremental.go +++ b/test/extended/builds/s2i_incremental.go @@ -12,7 +12,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Slow] incremental s2i build", func() { +var _ = g.Describe("[Feature:Builds][Slow] incremental s2i build", func() { defer g.GinkgoRecover() const ( diff --git a/test/extended/builds/s2i_quota.go b/test/extended/builds/s2i_quota.go index 8c04b08e6713..db5d1ea8e3ba 100644 --- a/test/extended/builds/s2i_quota.go +++ b/test/extended/builds/s2i_quota.go @@ -12,7 +12,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Conformance] s2i build with a quota", func() { +var _ = g.Describe("[Feature:Builds][Conformance] s2i build with a quota", func() { defer g.GinkgoRecover() const ( buildTestPod = "build-test-pod" diff --git a/test/extended/builds/s2i_root.go b/test/extended/builds/s2i_root.go index 33bee68be917..c236739c02fc 100644 --- a/test/extended/builds/s2i_root.go +++ b/test/extended/builds/s2i_root.go @@ -10,7 +10,7 @@ import ( s2istatus "github.com/openshift/source-to-image/pkg/util/status" ) -var _ = g.Describe("[builds][Conformance] s2i build with a root user image", func() { +var _ = g.Describe("[Feature:Builds][Conformance] s2i build with a root user image", func() { defer g.GinkgoRecover() var ( diff --git a/test/extended/builds/secrets.go b/test/extended/builds/secrets.go index 6ac1ce904e6c..31bd8581087b 100644 --- a/test/extended/builds/secrets.go +++ b/test/extended/builds/secrets.go @@ -11,7 +11,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Slow] can use build secrets", func() { +var _ = g.Describe("[Feature:Builds][Slow] can use build secrets", func() { defer g.GinkgoRecover() var ( buildSecretBaseDir = exutil.FixturePath("testdata", "build-secrets") diff --git a/test/extended/builds/start.go b/test/extended/builds/start.go index cc06c54fe46a..d5f49c53a8ae 100644 --- a/test/extended/builds/start.go +++ b/test/extended/builds/start.go @@ -17,7 +17,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Slow] starting a build using CLI", func() { +var _ = g.Describe("[Feature:Builds][Slow] starting a build using CLI", func() { defer g.GinkgoRecover() var ( buildFixture = exutil.FixturePath("testdata", "test-build.json") diff --git a/test/extended/builds/valuefrom.go b/test/extended/builds/valuefrom.go index e1881062eb42..4a21edcab691 100644 --- a/test/extended/builds/valuefrom.go +++ b/test/extended/builds/valuefrom.go @@ -10,7 +10,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[builds][Conformance][valueFrom] process valueFrom in build strategy environment variables", func() { +var _ = g.Describe("[Feature:Builds][Conformance][valueFrom] process valueFrom in build strategy environment variables", func() { var ( valueFromBaseDir = exutil.FixturePath("testdata", "valuefrom") testImageStreamFixture = filepath.Join(valueFromBaseDir, "test-is.json") diff --git a/test/extended/deployments/deployments.go b/test/extended/deployments/deployments.go index 5a4a0a63181c..53ae39dbf41e 100644 --- a/test/extended/deployments/deployments.go +++ b/test/extended/deployments/deployments.go @@ -28,7 +28,7 @@ import ( const deploymentRunTimeout = 5 * time.Minute const deploymentChangeTimeout = 30 * time.Second -var _ = g.Describe("deploymentconfigs", func() { +var _ = g.Describe("[Feature:DeploymentConfig] deploymentconfigs", func() { defer g.GinkgoRecover() var ( oc = exutil.NewCLI("cli-deployment", exutil.KubeConfigPath()) diff --git a/test/extended/networking/isolation.go b/test/extended/networking/isolation.go index d9386c568a77..a9214641d3cb 100644 --- a/test/extended/networking/isolation.go +++ b/test/extended/networking/isolation.go @@ -7,7 +7,7 @@ import ( . "github.com/onsi/gomega" ) -var _ = Describe("[networking] network isolation", func() { +var _ = Describe("[Area:Networking] network isolation", func() { InSingleTenantContext(func() { f1 := e2e.NewDefaultFramework("net-isolation1") f2 := e2e.NewDefaultFramework("net-isolation2") diff --git a/test/extended/networking/multicast.go b/test/extended/networking/multicast.go index f6a7068ac10e..ff63ee636cc3 100644 --- a/test/extended/networking/multicast.go +++ b/test/extended/networking/multicast.go @@ -16,7 +16,7 @@ import ( . "github.com/onsi/gomega" ) -var _ = Describe("[networking] multicast", func() { +var _ = Describe("[Area:Networking] multicast", func() { InSingleTenantContext(func() { oc := testexutil.NewCLI("multicast", testexutil.KubeConfigPath()) f := oc.KubeFramework() diff --git a/test/extended/networking/services.go b/test/extended/networking/services.go index 6b07e8341294..c1cca64af32b 100644 --- a/test/extended/networking/services.go +++ b/test/extended/networking/services.go @@ -7,7 +7,7 @@ import ( . "github.com/onsi/gomega" ) -var _ = Describe("[networking] services", func() { +var _ = Describe("[Area:Networking] services", func() { Context("basic functionality", func() { f1 := e2e.NewDefaultFramework("net-services1") diff --git a/test/extended/prometheus/prometheus_builds.go b/test/extended/prometheus/prometheus_builds.go index 74caae452347..90ca099af286 100644 --- a/test/extended/prometheus/prometheus_builds.go +++ b/test/extended/prometheus/prometheus_builds.go @@ -17,7 +17,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[Feature:Prometheus][builds] Prometheus", func() { +var _ = g.Describe("[Feature:Prometheus][Feature:Builds] Prometheus", func() { defer g.GinkgoRecover() var ( oc = exutil.NewCLI("prometheus", exutil.KubeConfigPath()) diff --git a/test/extended/router/headers.go b/test/extended/router/headers.go index 183539836493..8d68a866c63d 100644 --- a/test/extended/router/headers.go +++ b/test/extended/router/headers.go @@ -18,7 +18,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[Conformance][networking][router] router headers", func() { +var _ = g.Describe("[Conformance][Area:Networking][Feature:Router] router headers", func() { defer g.GinkgoRecover() var ( configPath = exutil.FixturePath("testdata", "router-http-echo-server.yaml") diff --git a/test/extended/router/metrics.go b/test/extended/router/metrics.go index f9b5cd99d298..dbc5d018fba2 100644 --- a/test/extended/router/metrics.go +++ b/test/extended/router/metrics.go @@ -23,7 +23,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[Conformance][networking][router] openshift router metrics", func() { +var _ = g.Describe("[Conformance][Area:Networking][Feature:Router] openshift router metrics", func() { defer g.GinkgoRecover() var ( oc = exutil.NewCLI("router-metrics", exutil.KubeConfigPath()) diff --git a/test/extended/router/reencrypt.go b/test/extended/router/reencrypt.go index a3a47c06aa90..6f8789969a99 100644 --- a/test/extended/router/reencrypt.go +++ b/test/extended/router/reencrypt.go @@ -14,7 +14,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[Conformance][networking][router]", func() { +var _ = g.Describe("[Conformance][Area:Networking][Feature:Router]", func() { defer g.GinkgoRecover() var ( configPath = exutil.FixturePath("testdata", "reencrypt-serving-cert.yaml") diff --git a/test/extended/router/scoped.go b/test/extended/router/scoped.go index b64021584685..ae5aa458f605 100644 --- a/test/extended/router/scoped.go +++ b/test/extended/router/scoped.go @@ -20,7 +20,7 @@ import ( const changeTimeoutSeconds = 3 * 60 -var _ = g.Describe("[Conformance][networking][router] openshift routers", func() { +var _ = g.Describe("[Conformance][Area:Networking][Feature:Router] openshift routers", func() { defer g.GinkgoRecover() var ( configPath = exutil.FixturePath("testdata", "scoped-router.yaml") diff --git a/test/extended/router/weighted.go b/test/extended/router/weighted.go index dd35afd9923f..ccaed199466e 100644 --- a/test/extended/router/weighted.go +++ b/test/extended/router/weighted.go @@ -19,7 +19,7 @@ import ( exutil "github.com/openshift/origin/test/extended/util" ) -var _ = g.Describe("[Conformance][networking][router] weighted openshift router", func() { +var _ = g.Describe("[Conformance][Area:Networking][Feature:Router] weighted openshift router", func() { defer g.GinkgoRecover() var ( configPath = exutil.FixturePath("testdata", "weighted-router.yaml") diff --git a/test/extended/util/test.go b/test/extended/util/test.go index 2303d3845b41..6346e30018a4 100644 --- a/test/extended/util/test.go +++ b/test/extended/util/test.go @@ -14,6 +14,7 @@ import ( "github.com/onsi/ginkgo" "github.com/onsi/ginkgo/config" "github.com/onsi/ginkgo/reporters" + "github.com/onsi/ginkgo/types" "github.com/onsi/gomega" apierrs "k8s.io/apimachinery/pkg/api/errors" @@ -53,7 +54,7 @@ func InitTest() { e2e.RegisterCommonFlags() e2e.RegisterClusterFlags() - flag.StringVar(&syntheticSuite, "suite", "", "Optional suite selector to filter which tests are run.") + flag.StringVar(&syntheticSuite, "suite", "", "DEPRECATED: Optional suite selector to filter which tests are run. Use focus.") extendedOutputDir := filepath.Join(os.TempDir(), "openshift-extended-tests") os.MkdirAll(extendedOutputDir, 0777) @@ -103,16 +104,55 @@ func ExecuteTest(t *testing.T, suite string) { defer e2e.CoreDump(reportDir) } - // Disable density test unless it's explicitly requested. + switch syntheticSuite { + case "parallel.conformance.openshift.io": + if len(config.GinkgoConfig.FocusString) > 0 { + config.GinkgoConfig.FocusString += "|" + } + config.GinkgoConfig.FocusString = "\\[Suite:openshift/conformance/parallel\\]" + case "serial.conformance.openshift.io": + if len(config.GinkgoConfig.FocusString) > 0 { + config.GinkgoConfig.FocusString += "|" + } + config.GinkgoConfig.FocusString = "\\[Suite:openshift/conformance/serial\\]" + } if config.GinkgoConfig.FocusString == "" && config.GinkgoConfig.SkipString == "" { config.GinkgoConfig.SkipString = "Skipped" } + gomega.RegisterFailHandler(ginkgo.Fail) if reportDir != "" { r = append(r, reporters.NewJUnitReporter(path.Join(reportDir, fmt.Sprintf("%s_%02d.xml", reportFileName, config.GinkgoConfig.ParallelNode)))) } + ginkgo.WalkTests(func(name string, node types.TestNode) { + isSerial := serialTestsFilter.MatchString(name) + if isSerial { + if !strings.Contains(name, "[Serial]") { + node.SetText(node.Text() + " [Serial]") + } + } + + if !excludedTestsFilter.MatchString(name) { + include := conformanceTestsFilter.MatchString(name) + switch { + case !include: + // do nothing + case isSerial: + node.SetText(node.Text() + " [Suite:openshift/conformance/serial]") + case include: + node.SetText(node.Text() + " [Suite:openshift/conformance/parallel]") + } + } + if strings.Contains(node.CodeLocation().FileName, "/origin/test/") && !strings.Contains(node.Text(), "[Suite:openshift") { + node.SetText(node.Text() + " [Suite:openshift]") + } + if strings.Contains(node.CodeLocation().FileName, "/kubernetes/test/e2e/") { + node.SetText(node.Text() + " [Suite:k8s]") + } + }) + if quiet { r = append(r, NewSimpleReporter()) ginkgo.RunSpecsWithCustomReporters(t, suite, r) @@ -210,7 +250,6 @@ func createTestingNS(baseName string, c kclientset.Interface, labels map[string] var ( excludedTests = []string{ `\[Skipped\]`, - `\[Disruptive\]`, `\[Slow\]`, `\[Flaky\]`, `\[Compatibility\]`, @@ -311,7 +350,10 @@ var ( } excludedTestsFilter = regexp.MustCompile(strings.Join(excludedTests, `|`)) - parallelConformanceTests = []string{ + // The list of tests to run for the OpenShift conformance suite. Any test + // in this group which cannot be run in parallel must be identified with the + // [Serial] tag or added to the serialTests filter. + conformanceTests = []string{ `\[Conformance\]`, `Services.*NodePort`, `ResourceQuota should`, @@ -327,7 +369,7 @@ var ( `Job should run a job to completion when tasks succeed`, `Variable Expansion`, `init containers`, - `Clean up pods on node kubelet`, + `Clean up pods on node kubelet`, // often catches issues `\[Feature\:SecurityContext\]`, `should create a LimitRange with defaults`, `Generated release_1_2 clientset`, @@ -336,46 +378,28 @@ var ( `ImageLookup`, `DNS for pods for Hostname and Subdomain Annotation`, } - parallelConformanceTestsFilter = regexp.MustCompile(strings.Join(parallelConformanceTests, `|`)) + conformanceTestsFilter = regexp.MustCompile(strings.Join(conformanceTests, `|`)) - serialConformanceTests = []string{ + // Identifies any tests that by nature must be run in isolation. Every test in this + // category will be given the [Serial] tag if it does not already have it. + serialTests = []string{ `\[Serial\]`, + `\[Disruptive\]`, `\[Feature:ManualPerformance\]`, // requires isolation - `Service endpoints latency`, // requires low latency `\[Feature:HighDensityPerformance\]`, // requires no other namespaces - `Clean up pods on node`, // schedules max pods per node + `Service endpoints latency`, // requires low latency + `Clean up pods on node`, // schedules up to max pods per node } - serialConformanceTestsFilter = regexp.MustCompile(strings.Join(serialConformanceTests, `|`)) + serialTestsFilter = regexp.MustCompile(strings.Join(serialTests, `|`)) ) // checkSyntheticInput selects tests based on synthetic skips or focuses func checkSyntheticInput() { - checkSuiteFocuses() checkSuiteSkips() } -// checkSuiteFocuses ensures Origin conformance suite synthetic labels are applied -func checkSuiteFocuses() { - if !strings.Contains(syntheticSuite, "conformance.openshift.io") { - return - } - - testName := []byte(ginkgo.CurrentGinkgoTestDescription().FullTestText) - testFocused := false - textExcluded := excludedTestsFilter.Match(testName) - if syntheticSuite == "parallel.conformance.openshift.io" { - testFocused = parallelConformanceTestsFilter.Match(testName) - textExcluded = textExcluded || serialConformanceTestsFilter.Match(testName) - } else if syntheticSuite == "serial.conformance.openshift.io" { - testFocused = serialConformanceTestsFilter.Match(testName) - } - - if !testFocused || textExcluded { - ginkgo.Skip("skipping tests not in the Origin conformance suite") - } -} - // checkSuiteSkips ensures Origin/Kubernetes synthetic skip labels are applied +// DEPRECATED: remove in a future release func checkSuiteSkips() { switch { case isOriginTest(): diff --git a/vendor/github.com/onsi/ginkgo/ginkgo_dsl.go b/vendor/github.com/onsi/ginkgo/ginkgo_dsl.go index 8fe0b70a62ff..3d1b865fb40d 100644 --- a/vendor/github.com/onsi/ginkgo/ginkgo_dsl.go +++ b/vendor/github.com/onsi/ginkgo/ginkgo_dsl.go @@ -188,6 +188,10 @@ type Benchmarker interface { RecordValueWithPrecision(name string, value float64, units string, precision int, info ...interface{}) } +func WalkTests(fn func(name string, node types.TestNode)) { + globalSuite.WalkTests(fn) +} + //RunSpecs is the entry point for the Ginkgo test runner. //You must call this within a Golang testing TestX(t *testing.T) function. // diff --git a/vendor/github.com/onsi/ginkgo/internal/leafnodes/it_node.go b/vendor/github.com/onsi/ginkgo/internal/leafnodes/it_node.go index c76fe3a4512d..20baa8adf919 100644 --- a/vendor/github.com/onsi/ginkgo/internal/leafnodes/it_node.go +++ b/vendor/github.com/onsi/ginkgo/internal/leafnodes/it_node.go @@ -33,10 +33,18 @@ func (node *ItNode) Text() string { return node.text } +func (node *ItNode) SetText(text string) { + node.text = text +} + func (node *ItNode) Flag() types.FlagType { return node.flag } +func (node *ItNode) SetFlag(flag types.FlagType) { + node.flag = flag +} + func (node *ItNode) CodeLocation() types.CodeLocation { return node.runner.codeLocation } diff --git a/vendor/github.com/onsi/ginkgo/internal/suite/suite.go b/vendor/github.com/onsi/ginkgo/internal/suite/suite.go index 698a6e568985..7cbcad180c54 100644 --- a/vendor/github.com/onsi/ginkgo/internal/suite/suite.go +++ b/vendor/github.com/onsi/ginkgo/internal/suite/suite.go @@ -181,3 +181,14 @@ func (suite *Suite) PushAfterEachNode(body interface{}, codeLocation types.CodeL } suite.currentContainer.PushSetupNode(leafnodes.NewAfterEachNode(body, codeLocation, timeout, suite.failer, suite.containerIndex)) } + +func (suite *Suite) WalkTests(fn func(testName string, test types.TestNode)) { + suite.topLevelContainer.BackPropagateProgrammaticFocus() + for _, collatedNodes := range suite.topLevelContainer.Collate() { + itNode, ok := collatedNodes.Subject.(*leafnodes.ItNode) + if !ok { + continue + } + fn(spec.New(collatedNodes.Subject, collatedNodes.Containers, false).ConcatenatedString(), itNode) + } +} diff --git a/vendor/github.com/onsi/ginkgo/types/types.go b/vendor/github.com/onsi/ginkgo/types/types.go index baf1bd1c474c..308092cffbd0 100644 --- a/vendor/github.com/onsi/ginkgo/types/types.go +++ b/vendor/github.com/onsi/ginkgo/types/types.go @@ -171,3 +171,13 @@ const ( FlagTypeFocused FlagTypePending ) + +type TestNode interface { + Type() SpecComponentType + CodeLocation() CodeLocation + + Text() string + SetText(text string) + Flag() FlagType + SetFlag(flag FlagType) +}