rpm-ostree/tests
Colin Walters cd2307ccc2 tests: Add case for running rpm -q in a %post
On traditional rpm systems this can hang because the outer
process may have an rpmdb lock, and the inner one wants
to acquire a lock.  Here we're sandboxing the `%post` script
and it's targeting a separate temporary filesystem compared to
the booted one (so there's no double locking).  Plus we don't
create the rpmdb in the target until all scripts have run.

Inspired by https://twitter.com/_msw_/status/1335981558717587473
2020-12-07 15:09:44 -05:00
..
check tests/jsonutil: update invalid specifier 2020-12-07 07:58:18 -05:00
common Add testutils generate-synthetic-upgrade 2020-08-18 17:23:15 +02:00
compose compose: Use static enablement for ostree systemd services 2020-12-02 22:40:31 +01:00
gpghome daemon: start with one commit only when resolving versions 2016-12-24 12:28:48 +00:00
kolainst Remove coreos-rootfs command 2020-11-12 18:59:49 +01:00
manual tests: Bump to Python 3 only 2019-05-08 19:02:32 +00:00
utils tests: Add hidden testutils subcommand 2019-12-13 19:18:30 +01:00
vmcheck tests: Add case for running rpm -q in a %post 2020-12-07 15:09:44 -05:00
compose.sh tests/compose: Drop FCOS postprocess scripts 2020-10-14 03:44:19 +02:00
README.md tests: Add ./tests/compose 2016-12-06 19:05:05 +00:00
runkola tests/runkola: New script 2020-04-30 21:50:41 +02:00
vmcheck.sh tests/compose: Target FCOS 31, move off of PAPR 2020-01-08 16:42:54 +01:00

Tests are divided into three groups:

  • Tests in the check directory are non-destructive and uninstalled. Some of the tests require root privileges. Use make check to run these.

  • The composecheck tests currently require uid 0 capabilities - the default in Docker, or you can run them via a user namespace. They are non-destructive, but are installed.

    To use them, you might do a make && sudo make install inside a Docker container.

    Then invoke ./tests/compose. Alternatively of course, you can simply run the tests on a host system or in an existing container, without doing a build.

    Note: This is intentionally not a Makefile target because it doesn't require building and doesn't use uninstalled binaries.

  • Tests in the vmcheck directory are oriented around using Vagrant. Use make vmcheck to run them. See also HACKING.md in the top directory.

The common directory contains files used by multiple tests. The utils directory contains helper utilities required to run the tests.