debian-forge/test
Christian Kellner 4b790ac284 objectstore: use a context also for Object.write
Reading from an `Object` via `read` already uses a context manager
to manage the read-only bind mount and also maintain a count of
currently active readers. With this an attempt to start a new
`write` operation while readers were active can be detected and
an exception is throw. Since `write` was not introducing a context
the inverted situation, i.e. reads while a write is ongoing, was
not possible to detect.
This commit therefore introduces a context also for `.write` so
that we can enforce the policy to have either many readers but no
writers, or just one writer and no readers.
A bind mount is also used for write (in read-write mode) to hide
the internal path of the tree.
2020-02-29 01:14:24 +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: no auto commit of the last stage 2020-02-28 16:11:49 +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: use a context also for Object.write 2020-02-29 01:14:24 +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