rpm-ostree/tests
Colin Walters 9c004e1833 Change unpacking to use a single ostree txn
Right now each ostree txn incurs a `syncfs()`; see
https://github.com/ostreedev/ostree/issues/1184
And before this patch, we were doing a txn per package import.

We can really do better in libostree - we'll fix that, but in the short term
let's use a bigger txn for every package. However, the obvious change here of
simply hoisting up the txn is that on failure for imports, we'd discard all
downloaded packages.  We fix that by changing the auto txn API to have
a `commit_on_failure` boolean, and use it in cases where we're doing
imports.

This is prep work for jigdo, where we'll be using the import path all the time.
My bigger plan is to do multithreaded imports.

Closes: #1116
Approved by: jlebon
2017-11-29 16:48:19 +00:00
..
check Change unpacking to use a single ostree txn 2017-11-29 16:48:19 +00:00
common libvm: factor out helpers to start httpd 2017-10-13 15:00:25 +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
utils daemon: Add a sanitycheck(/bin/true) before we deploy a tree 2017-07-27 17:58:58 +00:00
vmcheck tests: Use ostree commit --consume 2017-11-29 15:07:25 +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.