ostree/tests/installed
Colin Walters 16d3359bf8 lib/sysroot: Move staged into deployment list, rework handling
Followup to: https://github.com/ostreedev/ostree/pull/1503
After starting some more work on on this in rpm-ostree, it is
actually simpler if the staged deployment just shows up in the list.

It's effectively opt-in today; down the line we may make it the default,
but I worry about breaking things that e.g. assume they can mutate
the deployment before rebooting and have `/etc` already merged.

There's not that many things in libostree that iterate over the deployment
list.  The biggest change here is around the
`ostree_sysroot_write_deployments_with_options` API.  I initially
tried hard to support a use case like "push a rollback" while retaining
the staged deployment, but everything gets very messy because that
function truly is operating on the bootloader list.

For now what I settled on is to just discard the staged deployment;
down the line we can enhance things.

Where we then have some new gymnastics is around implementing
the finalization; we need to go to some effort to pull the staged
deployment out of the list and mark it as unstaged, and then pass
it down to `write_deployments()`.

Closes: #1539
Approved by: jlebon
2018-04-18 18:59:15 +00:00
..
destructive lib/sysroot: Move staged into deployment list, rework handling 2018-04-18 18:59:15 +00:00
nondestructive fsck: Mark commits with missing or deleted object partial 2018-04-14 15:36:21 +00:00
tasks Add concept of "staged" deployment 2018-04-12 14:55:12 +00:00
README.md tests: Merge installed/ and fedora-str/ directories 2018-04-05 20:59:23 +00:00
destructive.yml Add concept of "staged" deployment 2018-04-12 14:55:12 +00:00
execute_batch.yml tests: Merge installed/ and fedora-str/ directories 2018-04-05 20:59:23 +00:00
libinsttest.sh tests: Merge installed/ and fedora-str/ directories 2018-04-05 20:59:23 +00:00
libtest-core.sh tests/installed: New installed, privileged tests using Fedora AH 2017-04-25 15:15:06 +00:00
nondestructive.yml tests/installed: Move tasks into tasks/ directory 2018-04-11 19:11:07 +00:00
playbook-run.sh tests/installed: Move auto-build logic to playbook-run.sh 2018-04-11 19:11:07 +00:00
provision.sh tests: Merge installed/ and fedora-str/ directories 2018-04-05 20:59:23 +00:00
run.sh tests/installed: Move auto-build logic to playbook-run.sh 2018-04-11 19:11:07 +00:00

README.md

This directory holds tests that use the Fedora Standard Test Interface.

The high level structure is that we take a qcow2 file, inject built RPMs into it, and then use Ansible to run tests.

See .papr.yml for canonical usage.

For local development, you should cache the qcow2 somewhere stable (outside of this git repo). Also note that ../ci/build-rpms.sh does not pick up uncommitted changes! Stated more strongly, you currently need to run build-rpms.sh after every change.

To run just a specific test, use e.g.: env TEST_SUBJECTS=/path/to/qcow2 ./playbook-run.sh -e tests=.*pull nondestructive.yml