debian-forge/test
Tom Gundersen 7817ae5e8b sources: add org.osbuild.files source
This source adds support for downloaded files. The files are
indexed by their content hash, and the only option is their URL.

The main usecase for this will be downloading rpms. Allowing depsolving
to be done outside of osbuild, network access to be restricted and
downloaded rpms to be reused between runs.

Each source is now passed two additional arguments, a cache directory
and an output directory. Both are in the source's namespace, and
the source is responsible for managing them. Each directory may
contain contents from previous runs, but neither is ever guaranteed
to do so.

Downloaded contents may be saved to the cache and resued between
runs, and the requested content should be written to the output dir.
If secrets are used, the source must only ever write contents to
the output that corresponds to the available secrets (rather than
contents from the cache from previous runs).

Each stage is passed an additional argument, a sources directory.
The directory is read-only, and contains a subdirectory named after
each used source, which will contain the requseted contents when
the `Get()` call returns (if the source uses this functionality).

Based on a patch by Lars Karlitski.

Signed-off-by: Tom Gundersen <teg@jklm.no>
2020-02-06 19:01:12 +01:00
..
pipelines osbuild: introduce sources 2019-12-23 01:12:38 +01:00
sources_tests/org.osbuild.files sources: add org.osbuild.files source 2020-02-06 19:01:12 +01:00
stages_tests test: add simple check for kernel-cmdline stage 2020-01-13 20:05:10 +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 tests: check duplicate objects are supported 2020-02-06 16:10:35 +01:00
test_osbuild.py test: verify all stage options are valid json 2020-01-28 13:10:14 +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 osbuild: introduce sources 2019-12-23 01:12:38 +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