rpm-ostree/tests
Colin Walters e34f17fc3e core: Don't rm-rf directories when doing overrides
It's very normal for base packages to own directories with
dependent packages installing files there.  Doing an rm-rf
for directories was just wrong.  Concretely this fixes
an `override replace ./systemd-*.rpm`.

librpm is also pretty conservative here (for good reason)
and just ignores `ENOTEMPTY`, so let's match that.

I opted to split things up so we remove not-directories
in a first pass, then remove all directories we can in the
second.  This should maximize our chances of removing what we can
in a scenario where e.g. two co-dependent packages install files
to a directory one of them owns.

Closes: https://github.com/projectatomic/rpm-ostree/issues/1340

Closes: #1341
Approved by: jlebon
2018-04-20 16:07:44 +00:00
..
check tests: Split unit test-basic.sh into introspection + upgrade-rebase 2018-04-17 13:08:24 +00:00
common tests: Move ostree-update creation functions into libvm.sh 2018-04-16 17:53:20 +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 core: Don't rm-rf directories when doing overrides 2018-04-20 16:07:44 +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.