The intention is that the compose struct fully specifies the test case, and pipeline and image-info specifies the expected outputs. Lastly, the boot struct specifies how to boot-test the image. The checksum does not fit into this scheme, as it is computed from the compose by querying rpmmd, and it is then passed as an input to distro.Pipeline in order to compute the pipeline. Introduce a new struct, rpmmd, which will eventually contain all the data returned from rpmmd.Depsolve and later passed to distro.Pipeline. For now it only contains the checksum. This is not a functional change. Signed-off-by: Tom Gundersen <teg@jklm.no> |
||
|---|---|---|
| .. | ||
| cases | ||
| cloud-init | ||
| keyring | ||
| f27-build-from-ubuntu1804.json | ||
| README.md | ||
| run | ||
osbuild-composer testing information
Integration testing
This will consume the osbuild-composer API surface via the composer-cli
command line interface. Implementation is under cmd/osbuild-tests/.
The easiest way to get started with integration testing from a git checkout is:
dnf -y install rpm-builddnf -y builddep golang-github-osbuild-composer.specmake rpmto build the software under testdnf install output/x86_64/golang-github-osbuild-composer-*.rpm- this will install both osbuild-composer, its -debuginfo, -debugsource and -tests packagessystemctl start osbuild-composer/usr/libexec/tests/osbuild-composer/osbuild-teststo execute the test suite. It is best that you use a fresh system for installing and running the tests!
NOTE:
The easiest way to start osbuild-composer is via systemd because it takes care of setting up the UNIX socket for the API server.
If you are working on a pull request that adds more integration tests (without modifying osbuild-composer itself) then you can execute the test suite from the local directory without installing it:
make build- will build everything undercmd/./osbuild-tests- will execute the freshly built integration test suite