debian-forge/test
Christian Kellner 6a2a7d99f7 objectstore: unify commit and snapshot code paths
As a result of the previous commits that implement copy on write
semantics, `commit` can now be used to create snapshots. Whenever
an Object is committed, its tree is moved to the store and it is
being reset, i.e. a new clean workdir is created and the old one
discarded. The moved tree is then set as the base of the reset
Object. On the next call to `write` the moved tree will be copied
over and forms the basis of the Object again. Should nobody want
to write to Object after the snapshot, i.e. the `commit`, no copy
will be made.
NB: snapshots/commits will act now act as synchronization points:
if a object with the same treesum, i.e. the very same content
already exists, the move (i.e. `store_tree`) will gracefully fail
and the existing content will be set as the base for Object.
2020-02-28 16:11:49 +01:00
..
os-release test: add test for host detection 2020-02-28 16:06:30 +01:00
pipelines test/sources/files: use baseurl 2020-02-25 15:04:09 +01:00
sources_tests/org.osbuild.files sources: add org.osbuild.files source 2020-02-06 19:01:12 +01:00
stages_tests stages/rpm: adapt to use the files source 2020-02-06 19:01:12 +01:00
testing-rpms improve vagrant test and its documentation 2019-07-25 12:46:53 +02:00
.gitignore introduce testing script 2019-07-09 10:29:48 +02:00
__init__.py osbuild: add description() methods 2019-08-07 10:01:17 +02:00
osbuildtest.py osbuild: introduce sources 2019-12-23 01:12:38 +01:00
README.md improve vagrant test and its documentation 2019-07-25 12:46:53 +02:00
test_assemblers.py assembler/qemu: clarify module usage for grub2 2019-12-24 15:42:24 +01:00
test_boot.py osbuild: introduce sources 2019-12-23 01:12:38 +01:00
test_objectstore.py objectstore: unify commit and snapshot code paths 2020-02-28 16:11:49 +01:00
test_osbuild.py pipeline: pin the sources options in the pipeline object 2020-02-19 15:59:11 +01:00
test_osrelease.py test: add test for host detection 2020-02-28 16:06:30 +01:00
test_sources.py sources: add org.osbuild.files source 2020-02-06 19:01:12 +01:00
test_stageinfo.py Add STAGE_DESC, STAGE_INFO, and STAGE_OPTS to stages 2019-11-13 21:47:03 +01:00
test_stages.py stages/rpm: adapt to use the files source 2020-02-06 19:01:12 +01:00

Setup

To run the tests in vagrant virtual machine, please follow this tutorial: https://developer.fedoraproject.org/tools/vagrant/vagrant-libvirt.html

(run also sudo systemctl start libvirtd)

Using Vagrant

To start a Vagrant box by hand, run vagrant up in this directory. To stop and remove all volumes run vagrant destroy again in this directory.

Troubleshooting

In case you accidentally deleted .vagrant directory, you can use some of these commands in order to get rid of running instance:

$ virsh list # this should display test_default
$ virsh managedsave-remove test_default
$ virsh undefine test_default
# or using vagrant cli tool
$ vagrant global-status
$ vagrant destroy <id>
$ vagrant global-status --prune