[4/4] testsuite: add a test for per_kernel support

Message ID 20250411200852.51967-5-chris.larson@siemens.com
State New
Headers show
Series Add support for per-kernel recipe variants | expand

Commit Message

chris.larson April 11, 2025, 8:08 p.m. UTC
From: Christopher Larson <chris.larson@siemens.com>

This is a build test for the per-kernel support. It will build a kernel module for
multiple kernels, and install all of the kernel modules in the test image.

Signed-off-by: Christopher Larson <chris.larson@siemens.com>
---
 testsuite/citest.py | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

Patch

diff --git a/testsuite/citest.py b/testsuite/citest.py
index a5661eac..4b32b849 100755
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -205,6 +205,28 @@  def test_cross_rpi(self):
         self.perform_build_test(targets)
 
 
+class KernelTests(CIBaseTest):
+    """
+    Tests associated with kernel builds and development.
+    :avocado: tags=kernel,full
+    """
+
+    def test_per_kernel(self):
+        """Test per-kernel recipe variants for external kernel modules."""
+
+        targets = ['mc:qemuarm64-bookworm:isar-image-ci']
+        kernel_names = self.params.get('kernel_names', default='mainline')
+        kernel_names = [k.strip() for k in kernel_names.split(',') if k.strip()]
+        modules = [f"example-module-{k}" for k in kernel_names]
+        modules.append('example-module-${KERNEL_NAME}')
+        kernel_names = ' '.join(sorted(kernel_names))
+        lines = [
+            f"KERNEL_NAMES:append = ' {kernel_names}'",
+        ]
+        self.init()
+        self.perform_build_test(targets, image_install=' '.join(modules), lines=lines)
+
+
 class WicTest(CIBaseTest):
 
     """