test: update README for system test

Clarify that system test specifc configuration must be done via config
files and not via ad hoc environment variables like in test/e2e.

Also not that we only run the tests with crun so other runtimes may not
work but we accept patches to make them work with runc, e.g. Suse folks
currently run them with runc and contribute patches for them.

Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This commit is contained in:
Paul Holzinger
2025-04-08 15:36:40 +02:00
parent 4e65ed5b72
commit 85caf3fbb5

View File

@ -91,6 +91,8 @@ The following environment variables are supported by the test setup:
- `PODMAN_DB`: the database backend `sqlite` (default) or `boltdb`. - `PODMAN_DB`: the database backend `sqlite` (default) or `boltdb`.
- `PODMAN_TEST_IMAGE_CACHE_DIR`: path were the container images should be cached, defaults to `/tmp`. - `PODMAN_TEST_IMAGE_CACHE_DIR`: path were the container images should be cached, defaults to `/tmp`.
Note: These variables are used by the integration tests (test/e2e) only not the system tests (test/system).
### Running a single file of integration tests ### Running a single file of integration tests
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:
@ -143,7 +145,16 @@ System tests are used for testing the *podman* CLI in the context of a complete
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
system testing is to match as closely as possible with real-world user/developer use-cases system testing is to match as closely as possible with real-world user/developer use-cases
and environments. The orchestration of the environments and tests is left to external and environments. The orchestration of the environments and tests is left to external
tooling. tooling. To test a specific oci runtime it should be set in containers.conf.
(Note, upstream only tests with crun, there is no guarantee that tests will pass with another
runtime. We will accept patches to make the tests work with runc, e.g. mostly error message
checks, but not other runtimes due to the high maintenance overhead.)
Only the following env vars are supported:
- `PODMAN`: path to the podman binary, defaults to `podman` in $PATH.
- `QUADLET`: path to the quadlet binary, defaults to `/usr/libexec/podman/quadlet`.
- `PODMAN_TESTING`: path to the podman-testing binary, defaults to `../../bin/podman-testing` from the system test directory.
Note, the binary is used for testing purposes only and is not expected to be shipped to end users.
System tests use Bash Automated Testing System (`bats`) as a testing framework. System tests use Bash Automated Testing System (`bats`) as a testing framework.
Install it via your package manager or get latest stable version Install it via your package manager or get latest stable version