[PATCH 0/2] Modernize set of targets we built in the testsuite

2 views
Skip to first unread message

Felix Moessbauer

unread,
Sep 11, 2026, 11:57:12 AM (10 days ago) Sep 11
to isar-...@googlegroups.com, Felix Moessbauer
Our testsuite has become a bit outdated, testing mostly legacy or EOL
targets. We now modernize the set of build targets to actually test
what is used most.

All changes have been CI tested.

Best regards,
Felix Moessbauer

Felix Moessbauer (2):
testsuite: ensure WicTest actually builds a wic image
testsuite: modernize set of build targets

testsuite/cibase.py | 12 +++++--
testsuite/citest.py | 84 ++++++++++++++++++++++++---------------------
2 files changed, 53 insertions(+), 43 deletions(-)

--
2.55.0

Felix Moessbauer

unread,
Sep 11, 2026, 11:57:12 AM (10 days ago) Sep 11
to isar-...@googlegroups.com, Felix Moessbauer
For many tests we currently only test bookworm targets. Move all these
targets over to trixie.

Signed-off-by: Felix Moessbauer <felix.mo...@siemens.com>
---
testsuite/citest.py | 84 ++++++++++++++++++++++++---------------------
1 file changed, 44 insertions(+), 40 deletions(-)

diff --git a/testsuite/citest.py b/testsuite/citest.py
index f011b13c..171ba83b 100644
--- a/testsuite/citest.py
+++ b/testsuite/citest.py
@@ -49,7 +49,7 @@ class EnvTest(CIBaseTest):

def test_build(self):
targets = [
- 'mc:qemuamd64-bookworm:prebuilt-deb',
+ 'mc:qemuamd64-trixie:prebuilt-deb',
]

self.init()
@@ -66,10 +66,10 @@ class DevTest(CIBaseTest):

def test_dev(self):
targets = [
- 'mc:qemuamd64-bookworm:isar-image-ci',
- 'mc:qemuarm-bookworm:isar-image-base',
- 'mc:qemuarm-bookworm:isar-image-base:do_populate_sdk',
- 'mc:qemuarm64-bookworm:isar-image-base',
+ 'mc:qemuamd64-trixie:isar-image-ci',
+ 'mc:qemuarm-trixie:isar-image-base',
+ 'mc:qemuarm-trixie:isar-image-base:do_populate_sdk',
+ 'mc:qemuarm64-trixie:isar-image-base',
]

self.init()
@@ -79,22 +79,22 @@ class DevTest(CIBaseTest):
lines=['SDK_FORMATS = "tar.zst"'],
)

- def test_dev_run_arm_bookworm(self):
+ def test_dev_run_arm_trixie(self):
self.init()
- self.vm_start('arm', 'bookworm', skip_modulecheck=True)
+ self.vm_start('arm', 'trixie', skip_modulecheck=True)

def test_dev_apps(self):
targets = [
- 'mc:qemuamd64-bookworm:isar-image-ci',
- 'mc:qemuarm64-bookworm:isar-image-base',
+ 'mc:qemuamd64-trixie:isar-image-ci',
+ 'mc:qemuarm64-trixie:isar-image-base',
]

self.init()
self.perform_build_test(targets)

- def test_dev_run_arm64_bookworm(self):
+ def test_dev_run_arm64_trixie(self):
self.init()
- self.vm_start('arm64', 'bookworm')
+ self.vm_start('arm64', 'trixie')

def test_dev_rebuild(self):
self.init()
@@ -107,13 +107,13 @@ class DevTest(CIBaseTest):
file.write('do_fetch:append() {\n\n}')

try:
- self.perform_build_test('mc:qemuamd64-bookworm:isar-image-ci')
+ self.perform_build_test('mc:qemuamd64-trixie:isar-image-ci')
finally:
self.restorefile(dpkgbase_file)

- def test_dev_run_amd64_bookworm(self):
+ def test_dev_run_amd64_trixie(self):
self.init()
- self.vm_start('amd64', 'bookworm', image='isar-image-ci')
+ self.vm_start('amd64', 'trixie', image='isar-image-ci')


class CompatTest(CIBaseTest):
@@ -144,7 +144,7 @@ class RepositoryTest(CIBaseTest):
def test_repository_nopriority(self):
"""Test that packages without a Priority field can be added to the repo."""
targets = [
- 'mc:qemuamd64-bookworm:isar-image-ci',
+ 'mc:qemuamd64-trixie:isar-image-ci',
]

self.init()
@@ -216,7 +216,7 @@ class CcacheTest(CIBaseTest):
"""

def test_ccache_rebuild(self):
- targets = ['mc:qemuamd64-bullseye:hello-isar']
+ targets = ['mc:qemuamd64-trixie:hello-isar']
self.init()
self.perform_ccache_test(targets)

@@ -448,8 +448,8 @@ class CrossTest(CIBaseTest):
'mc:qemuarm-bookworm:kselftest',
'mc:qemuarm64-bookworm:kselftest',
'mc:qemuarm64-focal:kselftest',
- 'mc:nanopi-neo-efi-bookworm:kselftest',
- 'mc:phyboard-mira-bookworm:kselftest',
+ 'mc:nanopi-neo-efi-trixie:kselftest',
+ 'mc:phyboard-mira-trixie:kselftest',
]

self.init()
@@ -459,6 +459,7 @@ class CrossTest(CIBaseTest):
targets = [
'mc:rpi-arm-v7-bullseye:isar-image-base',
'mc:rpi-arm64-v8-efi-bookworm:isar-image-base',
+ 'mc:rpi-arm64-v8-efi-trixie:isar-image-base',
]

self.init()
@@ -466,7 +467,7 @@ class CrossTest(CIBaseTest):

def test_cross_dependencies(self):
targets = [
- 'mc:qemuarm64-bookworm:isar-image-ci',
+ 'mc:qemuarm64-trixie:isar-image-ci',
]

lines = [f"IMAGER_BUILD_DEPS:append = ' test-all-depnocross-native'"]
@@ -579,29 +580,32 @@ class PrebuiltTest(CIBaseTest):

def test_prebuilt_containers(self):
targets = [
- 'mc:qemuamd64-bookworm:isar-image-ci',
- 'mc:qemuarm64-bookworm:isar-image-ci',
+ 'mc:qemuamd64-trixie:isar-image-ci',
+ 'mc:qemuarm64-trixie:isar-image-ci',
]

self.init()
self.perform_build_test(
targets,
- image_install="prebuilt-docker-img prebuilt-podman-img")
+ image_install="prebuilt-docker-img prebuilt-podman-img",
+ # for container execution in non-host namespace, we need nftables
+ lines=['IMAGE_PREINSTALL += "nftables"']
+ )

- def test_run_amd64_bookworm_prebuilt_containers(self):
+ def test_run_amd64_trixie_prebuilt_containers(self):
"""
:avocado: tags=startvm
"""
self.init()
- self.vm_start('amd64', 'bookworm', image='isar-image-ci',
+ self.vm_start('amd64', 'trixie', image='isar-image-ci',
script='test_prebuilt_containers.sh')

- def test_run_arm64_bookworm_prebuilt_containers(self):
+ def test_run_arm64_trixie_prebuilt_containers(self):
"""
:avocado: tags=startvm
"""
self.init()
- self.vm_start('arm64', 'bookworm', image='isar-image-ci',
+ self.vm_start('arm64', 'trixie', image='isar-image-ci',
script='test_prebuilt_containers.sh')


@@ -626,7 +630,7 @@ class KernelTests(CIBaseTest):
def test_per_kernel(self):
"""Test per-kernel recipe variants for external kernel modules."""

- targets = ['mc:qemuarm64-bookworm:isar-image-ci']
+ targets = ['mc:qemuarm64-trixie:isar-image-ci']
kernel_names = self.params.get('kernel_names', default='mainline-arm64')
kernel_names = [k.strip() for k in kernel_names.split(',') if k.strip()]
modules = [f"example-module-{k}" for k in kernel_names]
@@ -703,7 +707,7 @@ class InitRdBaseTest(CIBaseTest):

def dracut_in_image(self, targets):
machine = 'qemuamd64'
- distro = 'bookworm'
+ distro = 'trixie'
image = 'isar-image-ci'
self.init()
self.perform_build_test(
@@ -725,7 +729,7 @@ class InitRdBaseTest(CIBaseTest):
)

def build_image_with_dependent_initrd(self, image, initrd,
- distro="debian-bookworm",
+ distro="debian-trixie",
machine="qemuamd64",
lines='',
bb_should_fail=False):
@@ -763,25 +767,25 @@ class InitRdTest(InitRdBaseTest):

def test_dracut_in_image(self):
"""Test switch to dracut in an image recipe."""
- self.dracut_in_image(['mc:qemuamd64-bookworm:isar-image-ci'])
+ self.dracut_in_image(['mc:qemuamd64-trixie:isar-image-ci'])

def test_dracut_build_initrd(self):
""" Test build of an initrd image that uses dracut."""
self.init()
- self.perform_build_test(['mc:qemuamd64-bookworm:isar-dracut'])
+ self.perform_build_test(['mc:qemuamd64-trixie:isar-dracut'])

def test_dracut_build_failure(self):
""" Check if the build fails if dracut fails to generate an initrd."""
lines = InitRdBaseTest.DRACUT_CONF
lines.append("ROOTFS_INITRAMFS_GENERATOR_CMDLINE:append = ' --unknown-option'")
self.init()
- self.perform_build_test('mc:qemuamd64-bookworm:isar-image-ci',
+ self.perform_build_test('mc:qemuamd64-trixie:isar-image-ci',
should_fail=True, lines=lines)

def test_var_initrd_image(self):
""" Check if deprecated INITRD_IMAGE variable may be used. """
initrd = 'isar-initramfs'
- distro = 'debian-bookworm'
+ distro = 'debian-trixie'
machine = 'qemuamd64'

lines = [
@@ -811,7 +815,7 @@ class InitRdTest(InitRdBaseTest):
# by specifying an invalid recipe name: bitbake should fail.
lines = [
"IMAGE_INITRD = 'not-a-valid-initrd-recipe'",
- f"INITRD_IMAGE = '{initrd}-debian-bookworm-qemuamd64-initrd.img'"
+ f"INITRD_IMAGE = '{initrd}-debian-trixie-qemuamd64-initrd.img'"
]
self.build_image_with_dependent_initrd('isar-image-ci', initrd, lines=lines,
bb_should_fail=True)
@@ -860,7 +864,7 @@ class WicTest(CIBaseTest):
"""

def test_wic_nodeploy_partitions(self):
- targets = ['mc:qemuarm64-bookworm:isar-image-ci']
+ targets = ['mc:qemuarm64-trixie:isar-image-ci']

self.init()
self.move_in_build_dir('tmp', 'tmp_before_wic')
@@ -871,7 +875,7 @@ class WicTest(CIBaseTest):
)

def test_wic_deploy_partitions(self):
- targets = ['mc:qemuarm64-bookworm:isar-image-ci']
+ targets = ['mc:qemuarm64-trixie:isar-image-ci']

self.init()
# reuse artifacts
@@ -895,8 +899,8 @@ class DtbDeployTest(CIBaseTest):
Cover case: Same machine, different distros
"""
targets = [
- 'mc:phyboard-mira-bullseye:isar-image-base',
'mc:phyboard-mira-bookworm:isar-image-base',
+ 'mc:phyboard-mira-trixie:isar-image-base',
]

self.init()
@@ -912,7 +916,7 @@ class DtbDeployTest(CIBaseTest):
"""
targets = [
'mc:phyboard-mira-bookworm:isar-image-base',
- 'mc:phyboard-mira-bookworm:isar-image-ci',
+ 'mc:phyboard-mira-trixie:isar-image-ci',
]

self.init()
@@ -1530,8 +1534,8 @@ class SourceTest(CIBaseTest):

def test_source(self):
targets = [
- 'mc:qemuamd64-bookworm:libhello',
- 'mc:qemuarm64-bookworm:libhello',
+ 'mc:qemuamd64-trixie:libhello',
+ 'mc:qemuarm64-trixie:libhello',
]

self.init()
--
2.55.0

Zhihang Wei

unread,
Sep 18, 2026, 10:42:17 AM (3 days ago) Sep 18
to Felix Moessbauer, isar-...@googlegroups.com
Applied to next, thanks.

Zhihang
Reply all
Reply to author
Forward
0 new messages