Skip to content

Commit af69a53

Browse files
UPSTREAM: <carry>: Add structure to allow move the orgin tests using OTE
This commit introduces a binary and supporting structure to enable the execution of OpenShift origin (olmv1) tests using the Open Test Environment (OTE). It lays the groundwork for moving origin test in openshift/origin to be executed from this repository using OTE.
1 parent 0f793bb commit af69a53

File tree

1,155 files changed

+555429
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,155 files changed

+555429
-0
lines changed

openshift/tests-extension/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
bin/

openshift/tests-extension/Dockerfile

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Builds the test bin olmv1-tests-ext from the source code.
2+
# The bin will be used in the final image (olm-operator-controller)
3+
# so it can be used by openshift-tests.
4+
# See: https://github.com/openshift/origin/blob/main/pkg/test/extensions/binary.go#L53-L62
5+
FROM registry.ci.openshift.org/ocp/builder:rhel-9-golang-1.24-openshift-4.20 AS builder
6+
7+
WORKDIR /go/src/github.com/operator-framework/operator-controller/openshift/tests-extension
8+
COPY . .
9+
10+
RUN make build && \
11+
mkdir -p /tmp/build && \
12+
cp ./bin/olmv1-tests-ext /tmp/build/olmv1-tests-ext && \
13+
gzip -f /tmp/build/olmv1-tests-ext
14+
15+
FROM registry.ci.openshift.org/ocp/4.20:base-rhel9
16+
COPY --from=builder /tmp/build/olmv1-tests-ext.gz /usr/bin/olmv1-tests-ext.gz
17+
18+
LABEL io.k8s.display-name="OLMv1 Operator Controller" \
19+
io.openshift.release.operator=true \
20+
io.openshift.tags="openshift,tests,e2e,e2e-extension"

openshift/tests-extension/Makefile

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# Get the directory where this Makefile is, so we can use it below for including
2+
# Include the same Bingo variables used by the project
3+
DIR := $(strip $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))))
4+
include $(DIR)/../../.bingo/Variables.mk
5+
6+
# Definitions for the extended tests
7+
8+
GO_PKG_NAME := github.com/openshift-eng/openshift-tests-extension
9+
10+
GIT_COMMIT := $(shell git rev-parse --short HEAD)
11+
BUILD_DATE := $(shell date -u +'%Y-%m-%dT%H:%M:%SZ')
12+
GIT_TREE_STATE := $(shell if git diff --quiet; then echo clean; else echo dirty; fi)
13+
14+
LDFLAGS := -X '$(GO_PKG_NAME)/pkg/version.CommitFromGit=$(GIT_COMMIT)' \
15+
-X '$(GO_PKG_NAME)/pkg/version.BuildDate=$(BUILD_DATE)' \
16+
-X '$(GO_PKG_NAME)/pkg/version.GitTreeState=$(GIT_TREE_STATE)'
17+
18+
#SECTION General
19+
20+
# The help target prints out all targets with their descriptions organized
21+
# beneath their categories. The categories are represented by '#SECTION' and the
22+
# target descriptions by '#HELP' or '#EXHELP'. The awk commands is responsible for reading the
23+
# entire set of makefiles included in this invocation, looking for lines of the
24+
# file as xyz: #HELP something, and then pretty-format the target and help. Then,
25+
# if there's a line with #SECTION something, that gets pretty-printed as a category.
26+
# More info on the usage of ANSI control characters for terminal formatting:
27+
# https://en.wikipedia.org/wiki/ANSI_escape_code#SGR_parameters
28+
# More info on the awk command:
29+
# http://linuxcommand.org/lc3_adv_awk.php
30+
# The extended-help target uses '#EXHELP' as the delineator.
31+
32+
.PHONY: help
33+
help: #HELP Display essential help.
34+
@awk 'BEGIN {FS = ":[^#]*#HELP"; printf "\nUsage:\n make \033[36m<target>\033[0m\n\n"} /^[a-zA-Z_0-9-]+:.*#HELP / { printf " \033[36m%-17s\033[0m %s\n", $$1, $$2 } ' $(MAKEFILE_LIST)
35+
36+
#SECTION Tests
37+
TOOLS_BIN_DIR := $(CURDIR)/bin
38+
39+
#SECTION Development
40+
.PHONY: verify #HELP To verify the code
41+
verify: tidy fmt vet lint
42+
43+
.PHONY: tidy #HELP Run go mod tidy.
44+
tidy:
45+
go mod tidy
46+
47+
.PHONY: fmt
48+
fmt: #HELP Run go fmt against code.
49+
go fmt ./...
50+
51+
.PHONY: vet
52+
vet: #HELP Run go vet against code.
53+
go vet ./...
54+
55+
.PHONY: lint
56+
lint: $(GOLANGCI_LINT) #HELP Run golangci linter.
57+
$(GOLANGCI_LINT) run
58+
59+
.PHONY: fix-lint
60+
fix-lint: $(GOLANGCI_LINT) #HELP Fix lint issues
61+
$(GOLANGCI_LINT) run --fix
62+
63+
.PHONY: build
64+
build: #HELP Build the extended tests binary
65+
# GO_COMPLIANCE_POLICY="exempt_all" must only be used for test related binaries.
66+
# It prevents various FIPS compliance policies from being applied to this compilation.
67+
# Do not set globally.
68+
@mkdir -p $(TOOLS_BIN_DIR)
69+
GO_COMPLIANCE_POLICY="exempt_all" go build -ldflags "$(LDFLAGS)" -o $(TOOLS_BIN_DIR)/olmv1-tests-ext ./cmd/...

openshift/tests-extension/cmd/main.go

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
/*
2+
This command is used to run the OLMv1 tests extension for OpenShift.
3+
It registers the OLMv1 tests with the OpenShift Tests Extension framework
4+
and provides a command-line interface to execute them.
5+
6+
For further information, please refer to the documentation at:
7+
https://github.com/openshift-eng/openshift-tests-extension/blob/main/cmd/example-tests/main.go
8+
*/
9+
package main
10+
11+
import (
12+
"fmt"
13+
"os"
14+
"strings"
15+
16+
"github.com/openshift-eng/openshift-tests-extension/pkg/cmd"
17+
e "github.com/openshift-eng/openshift-tests-extension/pkg/extension"
18+
et "github.com/openshift-eng/openshift-tests-extension/pkg/extension/extensiontests"
19+
g "github.com/openshift-eng/openshift-tests-extension/pkg/ginkgo"
20+
"github.com/spf13/cobra"
21+
22+
// The import below is necessary to ensure that the OLMv1 tests are registered with the extension.
23+
_ "github/operator-framework-operator-controller/openshift/tests-extension/test"
24+
)
25+
26+
func main() {
27+
registry := e.NewRegistry()
28+
ext := e.NewExtension("openshift", "payload", "olmv1")
29+
30+
// Register the OLMv1 test suites with OpenShift Tests Extension.
31+
// These suites determine how test cases are grouped and executed in various jobs.
32+
//
33+
// Definitions of labels:
34+
// - [Serial]: test must run in isolation, one at a time. Typically used for disruptive cases (e.g., kill nodes).
35+
// - [Slow]: test takes a long time to execute (i.e. >5 min.). Cannot be included in fast/parallel suites.
36+
//
37+
// IMPORTANT:
38+
// Even though a suite is marked "parallel", all tests run serially when using the *external binary*
39+
// (`run-suite`, `run-test`) because it executes within a single process and Ginkgo
40+
// cannot parallelize within a single process.
41+
// See: https://github.com/openshift-eng/openshift-tests-extension/blob/main/pkg/ginkgo/util.go#L50
42+
//
43+
// For actual parallel test execution (e.g., in CI), use `openshift-tests`, which launches one process per test:
44+
// https://github.com/openshift/origin/blob/main/pkg/test/ginkgo/test_runner.go#L294
45+
46+
// Suite: olmv1/parallel
47+
// ---------------------------------------------------------------
48+
// Contains fast, parallel-safe test cases only.
49+
// Excludes any tests labeled [Serial] or [Slow].
50+
// Note: Tests with [Serial] and [Slow] cannot run with openshift/conformance/parallel.
51+
ext.AddSuite(e.Suite{
52+
Name: "olmv1/parallel",
53+
Parents: []string{"openshift/conformance/parallel"},
54+
Qualifiers: []string{
55+
`!(name.contains("[Serial]") || name.contains("[Slow]"))`,
56+
},
57+
})
58+
59+
// Suite: olmv1/serial
60+
// ---------------------------------------------------------------
61+
// Contains tests explicitly labeled [Serial].
62+
// These tests are typically disruptive and must run one at a time.
63+
ext.AddSuite(e.Suite{
64+
Name: "olmv1/serial",
65+
Parents: []string{"openshift/conformance/serial"},
66+
Qualifiers: []string{
67+
`name.contains("[Serial]")`,
68+
},
69+
})
70+
71+
// Suite: olmv1/slow
72+
// // ---------------------------------------------------------------
73+
// Contains tests labeled [Slow], which take significant time to run.
74+
// These are not allowed in fast/parallel suites, and should run in optional/slow jobs.
75+
ext.AddSuite(e.Suite{
76+
Name: "olmv1/slow",
77+
Parents: []string{"openshift/optional/slow"},
78+
Qualifiers: []string{
79+
`name.contains("[Slow]")`,
80+
},
81+
})
82+
83+
// Suite: olmv1/all
84+
// ---------------------------------------------------------------
85+
// All tests in one suite: includes [Serial], [Slow], [Disruptive], etc.
86+
ext.AddSuite(e.Suite{
87+
Name: "olmv1/all",
88+
Parents: []string{"openshift/conformance/serial"},
89+
})
90+
91+
specs, err := g.BuildExtensionTestSpecsFromOpenShiftGinkgoSuite()
92+
if err != nil {
93+
panic(fmt.Sprintf("couldn't build extension test specs from ginkgo: %+v", err.Error()))
94+
}
95+
96+
// Ensure `[Disruptive]` tests are always also marked `[Serial]`.
97+
// This prevents them from running in parallel suites, which could cause flaky failures
98+
// due to disruptive behavior.
99+
specs = specs.Walk(func(spec *et.ExtensionTestSpec) {
100+
if strings.Contains(spec.Name, "[Disruptive]") && !strings.Contains(spec.Name, "[Serial]") {
101+
spec.Name = strings.ReplaceAll(
102+
spec.Name,
103+
"[Disruptive]",
104+
"[Serial][Disruptive]",
105+
)
106+
}
107+
})
108+
109+
// TODO: Init test framework for cluster-aware cases
110+
// --------------------------------------------------
111+
// The external binary doesn't currently init the test framework (e.g., kubeconfig, REST client).
112+
// That's fine for now since our tests don't access the cluster.
113+
// However, any test that does will fail when run with this binary.
114+
//
115+
// openshift-tests handles this via:
116+
// - SuiteWithKubeTestInitializationPreSuite()
117+
// -> calls DecodeProvider() and InitializeTestFramework()
118+
//
119+
// We'll need to add similar logic when we start add the tests here.
120+
//
121+
// References:
122+
// - https://github.com/openshift/origin/blob/main/pkg/cmd/openshift-tests/run/flags.go#L53
123+
// - https://github.com/openshift/origin/blob/main/pkg/clioptions/clusterdiscovery/provider.go#L100
124+
125+
ext.AddSpecs(specs)
126+
registry.Register(ext)
127+
128+
root := &cobra.Command{
129+
Long: "OLMv1 Tests Extension",
130+
}
131+
132+
root.AddCommand(cmd.DefaultExtensionCommands(registry)...)
133+
134+
if err := func() error {
135+
return root.Execute()
136+
}(); err != nil {
137+
os.Exit(1)
138+
}
139+
}

openshift/tests-extension/go.mod

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
module github/operator-framework-operator-controller/openshift/tests-extension
2+
3+
go 1.24.3
4+
5+
require (
6+
github.com/onsi/ginkgo/v2 v2.21.0
7+
github.com/onsi/gomega v1.35.1
8+
github.com/openshift-eng/openshift-tests-extension v0.0.0-20250522124649-4ffcd156ec7c
9+
github.com/spf13/cobra v1.8.1
10+
)
11+
12+
require (
13+
github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df // indirect
14+
github.com/go-logr/logr v1.4.2 // indirect
15+
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
16+
github.com/google/cel-go v0.17.8 // indirect
17+
github.com/google/go-cmp v0.6.0 // indirect
18+
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db // indirect
19+
github.com/inconshreveable/mousetrap v1.1.0 // indirect
20+
github.com/pkg/errors v0.9.1 // indirect
21+
github.com/spf13/pflag v1.0.5 // indirect
22+
github.com/stoewer/go-strcase v1.2.0 // indirect
23+
golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc // indirect
24+
golang.org/x/net v0.30.0 // indirect
25+
golang.org/x/sys v0.26.0 // indirect
26+
golang.org/x/text v0.19.0 // indirect
27+
golang.org/x/tools v0.26.0 // indirect
28+
google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7 // indirect
29+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240924160255-9d4c2d233b61 // indirect
30+
google.golang.org/protobuf v1.35.1 // indirect
31+
gopkg.in/yaml.v3 v3.0.1 // indirect
32+
)
33+
34+
// This replace replace is required for we use the OCP fork of Ginkgo.
35+
replace github.com/onsi/ginkgo/v2 => github.com/openshift/onsi-ginkgo/v2 v2.6.1-0.20241205171354-8006f302fd12

openshift/tests-extension/go.sum

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df h1:7RFfzj4SSt6nnvCPbCqijJi1nWCd+TqAT3bYCStRC18=
2+
github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df/go.mod h1:pSwJ0fSY5KhvocuWSx4fz3BA8OrA1bQn+K1Eli3BRwM=
3+
github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
4+
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
5+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
6+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
7+
github.com/go-logr/logr v1.4.2 h1:6pFjapn8bFcIbiKo3XT4j/BhANplGihG6tvd+8rYgrY=
8+
github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY=
9+
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
10+
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
11+
github.com/google/cel-go v0.17.8 h1:j9m730pMZt1Fc4oKhCLUHfjj6527LuhYcYw0Rl8gqto=
12+
github.com/google/cel-go v0.17.8/go.mod h1:HXZKzB0LXqer5lHHgfWAnlYwJaQBDKMjxjulNQzhwhY=
13+
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
14+
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
15+
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db h1:097atOisP2aRj7vFgYQBbFN4U4JNXUNYpxael3UzMyo=
16+
github.com/google/pprof v0.0.0-20241029153458-d1b30febd7db/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144=
17+
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
18+
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
19+
github.com/onsi/gomega v1.35.1 h1:Cwbd75ZBPxFSuZ6T+rN/WCb/gOc6YgFBXLlZLhC7Ds4=
20+
github.com/onsi/gomega v1.35.1/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog=
21+
github.com/openshift-eng/openshift-tests-extension v0.0.0-20250522124649-4ffcd156ec7c h1:R5dI2oOF2RtS1sKtLrhW9KMg0ydzF0XM2Q//ma55nWI=
22+
github.com/openshift-eng/openshift-tests-extension v0.0.0-20250522124649-4ffcd156ec7c/go.mod h1:6gkP5f2HL0meusT0Aim8icAspcD1cG055xxBZ9yC68M=
23+
github.com/openshift/onsi-ginkgo/v2 v2.6.1-0.20241205171354-8006f302fd12 h1:AKx/w1qpS8We43bsRgf8Nll3CGlDHpr/WAXvuedTNZI=
24+
github.com/openshift/onsi-ginkgo/v2 v2.6.1-0.20241205171354-8006f302fd12/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo=
25+
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
26+
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
27+
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
28+
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
29+
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
30+
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
31+
github.com/spf13/cobra v1.8.1 h1:e5/vxKd/rZsfSJMUX1agtjeTDf+qv1/JdBF8gg5k9ZM=
32+
github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y=
33+
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
34+
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
35+
github.com/stoewer/go-strcase v1.2.0 h1:Z2iHWqGXH00XYgqDmNgQbIBxf3wrNq0F3feEy0ainaU=
36+
github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8=
37+
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
38+
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
39+
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
40+
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
41+
golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc h1:mCRnTeVUjcrhlRmO0VK8a6k6Rrf6TF9htwo2pJVSjIU=
42+
golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w=
43+
golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4=
44+
golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU=
45+
golang.org/x/sys v0.26.0 h1:KHjCJyddX0LoSTb3J+vWpupP9p0oznkqVk/IfjymZbo=
46+
golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
47+
golang.org/x/text v0.19.0 h1:kTxAhCbGbxhK0IwgSKiMO5awPoDQ0RpfiVYBfK860YM=
48+
golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY=
49+
golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ=
50+
golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0=
51+
google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7 h1:YcyjlL1PRr2Q17/I0dPk2JmYS5CDXfcdb2Z3YRioEbw=
52+
google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7/go.mod h1:OCdP9MfskevB/rbYvHTsXTtKC+3bHWajPdoKgjcYkfo=
53+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240924160255-9d4c2d233b61 h1:N9BgCIAUvn/M+p4NJccWPWb3BWh88+zyL0ll9HgbEeM=
54+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240924160255-9d4c2d233b61/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU=
55+
google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA=
56+
google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
57+
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
58+
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
59+
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
60+
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
61+
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package test
2+
3+
import (
4+
"context"
5+
6+
//nolint:staticcheck // ST1001: dot-imports are acceptable here for readability in test code
7+
. "github.com/onsi/ginkgo/v2"
8+
//nolint:staticcheck // ST1001: dot-imports are acceptable here for readability in test code
9+
. "github.com/onsi/gomega"
10+
)
11+
12+
var _ = Describe("[sig-olmv1] OLMv1", func() {
13+
It("should pass a trivial sanity check", func(ctx context.Context) {
14+
Expect(len("test")).To(BeNumerically(">", 0))
15+
})
16+
})

openshift/tests-extension/vendor/github.com/antlr/antlr4/runtime/Go/antlr/v4/LICENSE

Lines changed: 26 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)