[3/6] testsuite: make prebuilt container a feature test

Message ID 20251217140827.166531-4-felix.moessbauer@siemens.com
State Under Review
Headers show
Series [1/6] testsuite: move targets with custom kernel to separate test | expand

Commit Message

Felix Moessbauer Dec. 17, 2025, 2:08 p.m. UTC
This reworks how we handle feature tests: Instead of binding a feature
to a target via appends in isar-image-ci, we implement the feature by
using the test setup function. By that, we have fine grained control over
where to test a feature and can avoid testing the same feature over and
over again. This leads to a much cleaner architecture and faster test
execution.

We start implementing this approach with the prebuilt container test.

Signed-off-by: Felix Moessbauer <felix.moessbauer@siemens.com>
---
 meta-test/recipes-core/images/isar-image-ci.bb |  2 --
 testsuite/citest.py                            | 17 +++++++++++++++++
 2 files changed, 17 insertions(+), 2 deletions(-)

Patch

diff --git a/meta-test/recipes-core/images/isar-image-ci.bb b/meta-test/recipes-core/images/isar-image-ci.bb
index 7f2b404d..58aa5738 100644
--- a/meta-test/recipes-core/images/isar-image-ci.bb
+++ b/meta-test/recipes-core/images/isar-image-ci.bb
@@ -16,7 +16,6 @@  IMAGE_INSTALL += "sshd-regen-keys"
 
 # qemuamd64-bookworm
 WKS_FILE:qemuamd64:debian-bookworm ?= "multipart-efi.wks"
-IMAGE_INSTALL:append:qemuamd64:debian-bookworm = " prebuilt-docker-img prebuilt-podman-img"
 
 # qemuamd64-bullseye
 IMAGE_FSTYPES:append:qemuamd64:debian-bullseye ?= " cpio.zst tar.zst"
@@ -52,4 +51,3 @@  IMAGER_INSTALL:append:qemuarm:debian-bookworm ?= " ${SYSTEMD_BOOTLOADER_INSTALL}
 # qemuarm64-bookworm
 IMAGE_FSTYPES:append:qemuarm64:debian-bookworm ?= " wic.xz"
 IMAGER_INSTALL:append:qemuarm64:debian-bookworm ?= " ${GRUB_BOOTLOADER_INSTALL}"
-IMAGE_INSTALL:append:qemuarm64:debian-bookworm = " prebuilt-docker-img prebuilt-podman-img"
diff --git a/testsuite/citest.py b/testsuite/citest.py
index cba3c008..601eca92 100755
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -265,6 +265,23 @@  class CrossTest(CIBaseTest):
         self.init()
         self.perform_build_test(targets, lines=lines)
 
+class PrebuiltTest(CIBaseTest):
+    """
+    Tests associated with prebuilt artifacts (containers, debs).
+    :avocado: tags=prebuilt,fast
+    """
+
+    def test_prebuilt_containers(self):
+        targets = [
+            'mc:qemuamd64-bookworm:isar-image-ci',
+            'mc:qemuarm64-bookworm:isar-image-ci',
+        ]
+
+        self.init()
+        # perform imaging as well, as needed by VmBootTestFull
+        self.perform_build_test(targets, image_install="prebuilt-docker-img prebuilt-podman-img")
+
+
 class KernelTests(CIBaseTest):
     """
     Tests associated with kernel builds and development.