rpm-ostree/tests
Colin Walters 60aa9a4a33 daemon: Automatically reload sysroot before txn
In this PR: https://github.com/projectatomic/rpm-ostree/pull/1309
I was hitting race conditions running `ostree admin pin` then
`rpm-ostree cleanup` as it was possible that the daemon hadn't handled
the inotify on the sysroot and reloaded the deployment state before
the txn request came in.

Close this race by doing an implicit `reload` before starting a txn.
This is a pretty efficient operation because for the sysroot we're
just doing a `stat()` and comparing mtime.

Implementation wise, change the external API to drop the "did change"
boolean as nothing outside of the `sysroot.c` file used it.

A followup to this would be changing the `status` CLI to call a
(new) DBus API like `RequestReload` that at least did the sysroot
reload if the daemon was otherwise idle or so?  And it'd be available
to unprivileged users.

Closes: #1311
Approved by: cgwalters
2018-03-23 21:50:33 +00:00
..
check tests/vmcheck: add coverage for --check and --preview 2018-03-05 22:42:26 +00:00
common vmcheck: Add vm_shell_inline 2018-03-14 21:49:16 +00:00
compose-tests rojig-rename: (almost) Everything else 2018-03-01 22:35:46 +00:00
composedata rojig-rename: (almost) Everything else 2018-03-01 22:35:46 +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 Check and display pending security advisories 2018-02-15 15:30:26 +00:00
vmcheck daemon: Automatically reload sysroot before txn 2018-03-23 21:50:33 +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.