Merge pull request #18582 from Luap99/make-ginkgo-filter

Makefile: add ginkgo FOCUS/FOCUS_FILE options
This commit is contained in:
OpenShift Merge Robot 2023-05-16 10:36:29 -04:00 committed by GitHub
commit 5d07b1c59b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 11 deletions

View File

@ -561,7 +561,9 @@ test: localunit localintegration remoteintegration localsystem remotesystem ##
.PHONY: ginkgo-run .PHONY: ginkgo-run
ginkgo-run: .install.ginkgo ginkgo-run: .install.ginkgo
$(GINKGO) version $(GINKGO) version
$(GINKGO) -vv $(TESTFLAGS) --tags "$(TAGS) remote" $(GINKGOTIMEOUT) --flake-attempts 3 --trace --no-color $(GINKGO_JSON) $(if $(findstring y,$(GINKGO_PARALLEL)),-p,) $(GINKGOWHAT) $(HACK) $(GINKGO) -vv $(TESTFLAGS) --tags "$(TAGS) remote" $(GINKGOTIMEOUT) --flake-attempts 3 --trace --no-color \
$(GINKGO_JSON) $(if $(findstring y,$(GINKGO_PARALLEL)),-p,) $(if $(FOCUS),--focus "$(FOCUS)",) \
$(if $(FOCUS_FILE),--focus-file "$(FOCUS_FILE)",) $(GINKGOWHAT) $(HACK)
.PHONY: ginkgo .PHONY: ginkgo
ginkgo: ginkgo:

View File

@ -95,10 +95,13 @@ The following environment variables are supported by the test setup:
You can run a single file of integration tests using the go test command: You can run a single file of integration tests using the go test command:
``` ```
go test -v test/e2e/libpod_suite_test.go test/e2e/common_test.go test/e2e/config.go test/e2e/config_amd64.go test/e2e/your_test.go make localintegration FOCUS_FILE=your_test.go
``` ```
If you want to run the tests with the podman-remote client, make sure to replace `test/e2e/libpod_suite_test.go` with `test/e2e/libpod_suite_remote_test.go`. `FOCUS_FILE` file maps to ginkgo's `--focus-file` option, see the ginkgo
[docs](https://onsi.github.io/ginkgo/#location-based-filtering) for the accepted syntax.
For remote tests use the `remoteintegration` Makefile target instead.
### Running a single integration test ### Running a single integration test
Before running the test suite, you have to declare which test you want run in the test Before running the test suite, you have to declare which test you want run in the test
@ -112,18 +115,17 @@ It("podman inspect bogus pod", func() {
``` ```
To mark this as the test you want run, you simply change the *It* description to *FIt*. Please note how To mark this as the test you want run, you simply change the *It* description to *FIt*. Please note how
both the `F` and `I` are capitalized. both the `F` and `I` are capitalized. Also see the ginkgo [docs](https://onsi.github.io/ginkgo/#focused-specs).
You can run a single integration test using the same command we used to run all the tests in a single
file.
```
go test -v test/e2e/libpod_suite_test.go test/e2e/common_test.go test/e2e/config.go test/e2e/config_amd64.go test/e2e/your_test.go
```
*Note*: Be sure you remove the `F` from the tests before committing your changes or you will skip all tests *Note*: Be sure you remove the `F` from the tests before committing your changes or you will skip all tests
in that file except the one with the `FIt` denotation. in that file except the one with the `FIt` denotation.
Alternatively you can use the `FOCUS` option which maps to `--focus`, again see the ginkgo
[docs](https://onsi.github.io/ginkgo/#description-based-filtering) for more info about the syntax.
```
make localintegration FOCUS="podman inspect bogus pod"
```
# System tests # System tests
System tests are used for testing the *podman* CLI in the context of a complete system. It System tests are used for testing the *podman* CLI in the context of a complete system. It
requires that *podman*, all dependencies, and configurations are in place. The intention of requires that *podman*, all dependencies, and configurations are in place. The intention of