rpm-ostree/tests
Jonathan Lebon 7056e6b726 daemon: Unify pkgcache with system repo
We originally needed the pkgcache to be a separate repo due to ostree's
overzealous pruning policies. The idea was to maintain multiple commits
in each pkg branch for different SELinux policies. In practice, there's
not much use in maintaining old copies and it's just easier to always
relabel on the fly. So then, the need for a separate repo completely
melts away.

This helps simplify the mental model a bit and allows us to avoid subtle
issues like #1047. Note however that the core is still capable of
handling split repos for the `--ex-unified-core` compose use case. Once
that and the jigdo work are a bit more settled, we can have a clearer
picture of how to simplify the core further.

The tricky bit is migrating the cache. When deploying, we check if a
pkgcache repo exists and migrate its refs if so. We then leave behind a
symlink to the system repo to remain compatible with older rpm-ostrees.

Closes: #1055
Approved by: cgwalters
2017-12-01 15:41:40 +00:00
..
check Change unpacking to use a single ostree txn 2017-11-29 16:48:19 +00:00
common daemon: Unify pkgcache with system repo 2017-12-01 15:41:40 +00:00
compose-tests compose: Do relabel before downloading in --ex-unified-core 2017-11-20 15:35:21 +00:00
composedata postprocess: Use names (not ids) in synthesized tmpfiles.d files 2017-10-27 19:46:26 +00:00
ex-container-tests core: Don't try to apply non-root uid/gid when run as non-root 2017-11-17 18:59:34 +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 daemon: Add a sanitycheck(/bin/true) before we deploy a tree 2017-07-27 17:58:58 +00:00
vmcheck daemon: Unify pkgcache with system repo 2017-12-01 15:41:40 +00:00
compose Add test infra for ex container, and one test for bash 2017-10-02 18:04:24 +00:00
ex-container tests/ex-container: Disable parallelism for now 2017-11-17 18:59:34 +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.