rpm-ostree/tests
Jonathan Lebon 4686e15b94 core: handle shared files and multilib
Not all files from an RPM are necessarily removed during pkg erasure.
For example, files which are shared between pkgs shouldn't be deleted.
Similarly, not all files in an RPM are necessarily copied during pkg
installs. This is the case for multilib handling, which is a mess in its
own right. But such is the cost of trying to replace major parts of a
long-standing foundational project like RPM.

This patch adds some smarts to the way we do overlays and overrides to
handle these cases by calculating beforehand which files we *should't*
checkout/delete.

Closes: #1217
Closes: #1145

Closes: #1227
Approved by: cgwalters
2018-02-08 21:58:55 +00:00
..
check Add support for rebase rojig:// 2018-02-02 20:18:58 +00:00
common lib/package: fix package diffs for multilib 2018-02-06 21:30:48 +00:00
compose-tests Fix "releasever" option, test it by default 2018-01-23 15:18:52 +00:00
composedata Fix "releasever" option, test it by default 2018-01-23 15:18:52 +00:00
ex-container-tests Fix "releasever" option, test it by default 2018-01-23 15:18:52 +00:00
gpghome daemon: start with one commit only when resolving versions 2016-12-24 12:28:48 +00:00
manual db: Remove query parameter to diff 2015-04-23 16:30:18 -04:00
utils Initial support for automatic updates 2018-01-27 23:52:43 +00:00
vmcheck core: handle shared files and multilib 2018-02-08 21:58:55 +00:00
compose tests/compose: Various fixes 2018-01-10 15:16:18 +00:00
ex-container Fix "releasever" option, test it by default 2018-01-23 15:18:52 +00:00
README.md tests: Add ./tests/compose 2016-12-06 19:05:05 +00: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.