659fb0b23a
This way we handle filenames with spaces in `/var` in general, like `/var/app/foo bar`, but *also* the special `/opt/foo bar` translation bits. I saw this bug and thought "oh that'd be easy". But hoo boy did it take me down a rat's nest. The first thing was verifying that `systemd-tmpfiles` supports any kind of quotation/escaping; it does. The next thing was figuring out *exactly* what the syntax for that is and how it works, as it's obviously not widely used. Writing tests for this ended up being a painful exercise because of the multiple levels of shell script, e.g. our `build_rpm` shell script ends up being inlined into RPM specs, which then interprets again...and not to mention the usual annoying issues with `ssh` eating quotes. Anyways, all that and: Closes: https://github.com/coreos/rpm-ostree/issues/2029 |
||
---|---|---|
.. | ||
check | ||
common | ||
compose | ||
ex-container-tests | ||
gpghome | ||
manual | ||
utils | ||
vmcheck | ||
compose.sh | ||
ex-container | ||
README.md | ||
vmcheck.sh |
Tests are divided into three groups:
-
Tests in the
check
directory are non-destructive and uninstalled. Some of the tests require root privileges. Usemake 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. Usemake vmcheck
to run them. See alsoHACKING.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.