debian-forge/test/run/test_ostree.py
Christian Kellner 4a7efa087e test/ostree: add installer test
Extend the current ostree container test case to use the new
bootiso manifest to build a bootable iso. This is done in the
existing container test case in order to share the build root
and ostree commit results and speed up testing. In the future,
the test infrastructure should be extended so that the cache
can be optionally shared between test cases.
2021-02-19 14:42:32 +00:00

42 lines
1.6 KiB
Python

#
# Runtime / Integration Tests for ostree pipelines
#
import os
import tempfile
import unittest
from .. import test
@unittest.skipUnless(test.TestBase.have_test_data(), "no test-data access")
@unittest.skipUnless(test.TestBase.can_bind_mount(), "root-only")
class TestOSTree(test.TestBase):
def setUp(self):
self.osbuild = test.OSBuild(self)
def test_ostree(self):
with self.osbuild as osb:
with tempfile.TemporaryDirectory(dir="/var/tmp") as temp_dir:
# Build a container
manifest = os.path.join(self.locate_test_data(),
"manifests/fedora-ostree-container.json")
osb.compile_file(manifest,
output_dir=temp_dir,
checkpoints=["build", "ostree-tree", "ostree-commit"],
exports=["container"])
oci_archive = os.path.join(temp_dir, "container", "fedora-container.tar")
self.assertTrue(os.path.exists(oci_archive))
# build a bootable ISO
manifest = os.path.join(self.locate_test_data(),
"manifests/fedora-ostree-bootiso.json")
osb.compile_file(manifest,
output_dir=temp_dir,
checkpoints=["build", "ostree-tree", "ostree-commit"],
exports=["bootiso"])
bootiso = os.path.join(temp_dir, "bootiso", "fedora-ostree-boot.iso")
self.assertTrue(os.path.exists(bootiso))