Skip to content

Commit 4dada5e

Browse files
Merge pull request #2229 from jsafrane/fix-ext-init
NO-JIRA: Initialize testContext before enumerating tests
2 parents abc29e3 + 52938ee commit 4dada5e

File tree

1 file changed

+17
-8
lines changed

1 file changed

+17
-8
lines changed

openshift-hack/cmd/k8s-tests-ext/k8s-tests.go

+17-8
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@ import (
1818
v "github.com/openshift-eng/openshift-tests-extension/pkg/version"
1919

2020
"k8s.io/client-go/pkg/version"
21+
"k8s.io/client-go/tools/clientcmd"
2122
utilflag "k8s.io/component-base/cli/flag"
2223
"k8s.io/component-base/logs"
24+
"k8s.io/klog/v2"
2325
"k8s.io/kubernetes/openshift-hack/e2e/annotate/generated"
2426
"k8s.io/kubernetes/test/utils/image"
2527

@@ -49,6 +51,20 @@ func main() {
4951
kubeTestsExtension := e.NewExtension("openshift", "payload", "hyperkube")
5052
extensionRegistry.Register(kubeTestsExtension)
5153

54+
providerJSON := os.Getenv("TEST_PROVIDER")
55+
if providerJSON == "" {
56+
klog.Fatal("TEST_PROVIDER must be set (example: export TEST_PROVIDER='{\"type\":\"local\"}')")
57+
}
58+
59+
// Initialization for kube ginkgo test framework needs to run before all tests are discovered.
60+
// Some tests use the testContext to generate e2e tests.
61+
if err := initializeTestFramework(providerJSON); err != nil {
62+
if clientcmd.IsEmptyConfig(err) {
63+
klog.Fatalf("Failed to initialize Kubernetes client. Is KUBECONFIG set? Full error: %v", err)
64+
}
65+
klog.Fatalf("Failed to initialize test framework: %v", err)
66+
}
67+
5268
// Carve up the kube tests into our openshift suites...
5369
kubeTestsExtension.AddSuite(e.Suite{
5470
Name: "kubernetes/conformance/parallel",
@@ -79,16 +95,9 @@ func main() {
7995
// Build our specs from ginkgo
8096
specs, err := g.BuildExtensionTestSpecsFromOpenShiftGinkgoSuite()
8197
if err != nil {
82-
panic(err)
98+
klog.Fatalf("Failed to build test specs: %v", err)
8399
}
84100

85-
// Initialization for kube ginkgo test framework needs to run before all tests execute
86-
specs.AddBeforeAll(func() {
87-
if err := initializeTestFramework(os.Getenv("TEST_PROVIDER")); err != nil {
88-
panic(err)
89-
}
90-
})
91-
92101
// Annotations get appended to test names, these are additions to upstream
93102
// tests for controlling skips, suite membership, etc.
94103
//

0 commit comments

Comments
 (0)