Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TRT-1834: initial version of openshift-tests-extension #2

Merged
merged 2 commits into from
Oct 2, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/framework-tests
/example-tests
230 changes: 230 additions & 0 deletions .openshift-tests-extension/openshift:framework:default.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,230 @@
[
{
"name": "[sig-testing] openshift-tests-extension should be run from the main directory",
"otherNames": null,
"labels": {
"framework": {}
},
"tags": null,
"resources": {
"isolation": {
"mode": "",
"conflict": null
},
"memory": "",
"duration": "",
"timeout": ""
},
"source": "openshift:framework:default",
"lifecycle": "blocking"
},
{
"name": "[sig-testing] openshift-tests-extension should run `make` command successfully",
"otherNames": null,
"labels": {
"framework": {}
},
"tags": null,
"resources": {
"isolation": {
"mode": "",
"conflict": null
},
"memory": "",
"duration": "",
"timeout": ""
},
"source": "openshift:framework:default",
"lifecycle": "blocking"
},
{
"name": "[sig-testing] openshift-tests-extension should have the example-tests binary",
"otherNames": null,
"labels": {
"framework": {}
},
"tags": null,
"resources": {
"isolation": {
"mode": "",
"conflict": null
},
"memory": "",
"duration": "",
"timeout": ""
},
"source": "openshift:framework:default",
"lifecycle": "blocking"
},
{
"name": "[sig-testing] example-tests info should have build metadata",
"otherNames": null,
"labels": {
"framework": {}
},
"tags": null,
"resources": {
"isolation": {
"mode": "",
"conflict": null
},
"memory": "",
"duration": "",
"timeout": ""
},
"source": "openshift:framework:default",
"lifecycle": "blocking"
},
{
"name": "[sig-testing] example-tests info should have the expected suites",
"otherNames": null,
"labels": {
"framework": {}
},
"tags": null,
"resources": {
"isolation": {
"mode": "",
"conflict": null
},
"memory": "",
"duration": "",
"timeout": ""
},
"source": "openshift:framework:default",
"lifecycle": "blocking"
},
{
"name": "[sig-testing] example-tests info should have the correct component information",
"otherNames": null,
"labels": {
"framework": {}
},
"tags": null,
"resources": {
"isolation": {
"mode": "",
"conflict": null
},
"memory": "",
"duration": "",
"timeout": ""
},
"source": "openshift:framework:default",
"lifecycle": "blocking"
},
{
"name": "[sig-testing] example-tests list should list all specs",
"otherNames": null,
"labels": {
"framework": {}
},
"tags": null,
"resources": {
"isolation": {
"mode": "",
"conflict": null
},
"memory": "",
"duration": "",
"timeout": ""
},
"source": "openshift:framework:default",
"lifecycle": "blocking"
},
{
"name": "[sig-testing] example-tests list should populate fields",
"otherNames": null,
"labels": {
"framework": {}
},
"tags": null,
"resources": {
"isolation": {
"mode": "",
"conflict": null
},
"memory": "",
"duration": "",
"timeout": ""
},
"source": "openshift:framework:default",
"lifecycle": "blocking"
},
{
"name": "[sig-testing] example-tests list should filter specs by suite",
"otherNames": null,
"labels": {
"framework": {}
},
"tags": null,
"resources": {
"isolation": {
"mode": "",
"conflict": null
},
"memory": "",
"duration": "",
"timeout": ""
},
"source": "openshift:framework:default",
"lifecycle": "blocking"
},
{
"name": "[sig-testing] example-tests run-suite should contain a test that passed",
"otherNames": null,
"labels": {
"framework": {}
},
"tags": null,
"resources": {
"isolation": {
"mode": "",
"conflict": null
},
"memory": "",
"duration": "",
"timeout": ""
},
"source": "openshift:framework:default",
"lifecycle": "blocking"
},
{
"name": "[sig-testing] example-tests run-suite should have the correct error message for the failed test",
"otherNames": null,
"labels": {
"framework": {}
},
"tags": null,
"resources": {
"isolation": {
"mode": "",
"conflict": null
},
"memory": "",
"duration": "",
"timeout": ""
},
"source": "openshift:framework:default",
"lifecycle": "blocking"
},
{
"name": "[sig-testing] example-tests run-suite fast suite should not have a slow test",
"otherNames": null,
"labels": {
"framework": {}
},
"tags": null,
"resources": {
"isolation": {
"mode": "",
"conflict": null
},
"memory": "",
"duration": "",
"timeout": ""
},
"source": "openshift:framework:default",
"lifecycle": "blocking"
}
]
106 changes: 106 additions & 0 deletions .openshift-tests-extension/openshift:payload:example-tests.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
[
{
"name": "[sig-testing] openshift-tests-extension ordered should run beforeAll once",
"otherNames": null,
"labels": {},
"tags": null,
"resources": {
"isolation": {
"mode": "",
"conflict": null
},
"memory": "",
"duration": "",
"timeout": ""
},
"source": "openshift:payload:example-tests",
"lifecycle": "blocking"
},
{
"name": "[sig-testing] openshift-tests-extension setup should support beforeEach",
"otherNames": null,
"labels": {},
"tags": null,
"resources": {
"isolation": {
"mode": "",
"conflict": null
},
"memory": "",
"duration": "",
"timeout": ""
},
"source": "openshift:payload:example-tests",
"lifecycle": "blocking"
},
{
"name": "[sig-testing] openshift-tests-extension should support passing tests",
"otherNames": null,
"labels": {},
"tags": null,
"resources": {
"isolation": {
"mode": "",
"conflict": null
},
"memory": "",
"duration": "",
"timeout": ""
},
"source": "openshift:payload:example-tests",
"lifecycle": "blocking"
},
{
"name": "[sig-testing] openshift-tests-extension should support failing tests",
"otherNames": null,
"labels": {},
"tags": null,
"resources": {
"isolation": {
"mode": "",
"conflict": null
},
"memory": "",
"duration": "",
"timeout": ""
},
"source": "openshift:payload:example-tests",
"lifecycle": "blocking"
},
{
"name": "[sig-testing] openshift-tests-extension should support panicking tests",
"otherNames": null,
"labels": {},
"tags": null,
"resources": {
"isolation": {
"mode": "",
"conflict": null
},
"memory": "",
"duration": "",
"timeout": ""
},
"source": "openshift:payload:example-tests",
"lifecycle": "blocking"
},
{
"name": "[sig-testing] openshift-tests-extension should support slow tests",
"otherNames": null,
"labels": {
"SLOW": {}
},
"tags": null,
"resources": {
"isolation": {
"mode": "",
"conflict": null
},
"memory": "",
"duration": "",
"timeout": ""
},
"source": "openshift:payload:example-tests",
"lifecycle": "blocking"
}
]
13 changes: 13 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
FROM registry.ci.openshift.org/ocp/builder:rhel-9-golang-1.22-openshift-4.17 AS builder
WORKDIR /go/src/github.com/openshift-eng/openshift-tests-extension
COPY . .
RUN make && \
mkdir -p /tmp/build && \
cp /go/src/github.com/openshift-eng/openshift-tests-extension/example-tests /tmp/build/example-tests && \
gzip /tmp/build/example-tests

FROM registry.ci.openshift.org/ocp/4.17:tools
COPY --from=builder /tmp/build/example-tests.gz /usr/bin/example-tests.gz
LABEL io.k8s.display-name="OpenShift Tests Extension" \
io.openshift.release.operator=true \
io.openshift.tags="openshift,tests,e2e,e2e-extension"
37 changes: 37 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
GO_PKG_NAME := github.com/openshift-eng/openshift-tests-extension

GIT_COMMIT := $(shell git rev-parse --short HEAD)
BUILD_DATE := $(shell date -u +'%Y-%m-%dT%H:%M:%SZ')
GIT_TREE_STATE := $(shell if git diff --quiet; then echo clean; else echo dirty; fi)

LDFLAGS := -X '$(GO_PKG_NAME)/pkg/version.CommitFromGit=$(GIT_COMMIT)' \
-X '$(GO_PKG_NAME)/pkg/version.BuildDate=$(BUILD_DATE)' \
-X '$(GO_PKG_NAME)/pkg/version.GitTreeState=$(GIT_TREE_STATE)'

.PHONY: verify test lint clean unit integration example-tests framework-tests

all: unit build integration

verify: lint

build: example-tests framework-tests

example-tests:
go build -ldflags "$(LDFLAGS)" ./cmd/example-tests/...

framework-tests:
go build -ldflags "$(LDFLAGS)" ./cmd/framework-tests/...

test: unit integration

unit:
go test ./...

integration: build
./framework-tests run-suite framework

lint:
./hack/go-lint.sh run ./...

clean:
rm -f example-tests framework-tests
Loading