|
1 |
| -To run these tests, you need at least these dependencies on the host: |
| 1 | +To run these tests, you need either of: |
2 | 2 |
|
3 |
| -1. [bwrap](https://github.com/containers/bubblewrap/) |
4 |
| -1. [gdb](https://www.gnu.org/software/gdb/) |
5 |
| -1. [gnupg](https://www.gnupg.org/) >= 2.0 |
| 3 | +1. [podman](https://github.com/containers/podman) |
| 4 | +1. [docker](https://github.com/docker) |
| 5 | + |
| 6 | +Optionally, the following is also recommended (see below): |
| 7 | + |
| 8 | +1. [buildah](https://github.com/containers/buildah) |
| 9 | + |
| 10 | +The test suite runs in a Podman/Docker container and supports two modes: |
| 11 | + |
| 12 | +1. *Native* - Exercises the local build of RPM against a minimal image of the |
| 13 | + host Linux distribution. Currently, only Fedora Linux is supported. This |
| 14 | + mode is optimized for local RPM development and requires Podman and Buildah. |
| 15 | +1. *Non-native* - Performs a fresh build of RPM (including cmake configuration) |
| 16 | + from the local checkout as part of a Fedora-based image. This mode is |
| 17 | + optimized for portability (CI environment) and works with both Podman and |
| 18 | + Docker. |
| 19 | + |
| 20 | +The mode is selected automatically by cmake based on the host distribution and |
| 21 | +the container tools installed, with the native mode being preferred whenever |
| 22 | +possible. |
6 | 23 |
|
7 | 24 | Then run the command
|
8 | 25 |
|
@@ -32,16 +49,21 @@ For all available options, see the output of the command:
|
32 | 49 | By default, tests are executed in parallel using all available cores, pass
|
33 | 50 | a specific -jN value to limit.
|
34 | 51 |
|
35 |
| -To drop into an Autotest-like shell, run: |
| 52 | +To drop into an interactive Autotest-like shell, run: |
36 | 53 |
|
37 | 54 | make atshell
|
38 | 55 |
|
39 |
| -See the printed help for details on how to use it. |
| 56 | +This is like a singular, empty `RPMTEST_CHECK()` with a shell running in it and |
| 57 | +a writable tree available at the path stored in `$RPMTEST`. From this shell, |
| 58 | +you can run the same commands as a normal test would, such as `runroot rpm`. |
| 59 | +This can be used to quickly prototype (or debug) a test. |
40 | 60 |
|
41 |
| -You can also run a containerized shell with your RPM checkout: |
| 61 | +You can also drop straight into the `$RPMTEST` container like so: |
42 | 62 |
|
43 | 63 | make shell
|
44 | 64 |
|
45 |
| -To factory-reset the container, run: |
| 65 | +This is just a shorthand for `make atshell` followed by `runroot_other bash`. |
| 66 | + |
| 67 | +To factory-reset the `$RPMTEST` container, run: |
46 | 68 |
|
47 | 69 | make reset
|
0 commit comments