diff mbox series

[2/2] selftes: test_testimage_virgl_gtk_sdl: run only if gtk or sdl are enabled in base config

Message ID 20260602191312.3257535-2-alex.kanavin@gmail.com
State New
Headers show
Series [1/2] qemu: disable SDL UI frontend | expand

Commit Message

Alexander Kanavin June 2, 2026, 7:13 p.m. UTC
From: Alexander Kanavin <alex@linutronix.de>

The test was forcibly enabling both gtk and sdl in qemu and then running the test.

This changes the logic to skip the test if neither is enabled,
and run gtk and/or sdl tests only if either is already enabled
in the base config that was in place before running the selftest.

Together with disabling sdl support in qemu by default this effectively
skips the test on the yocto autobuilder, resolving the selftest
failures seen with qemu 11.0.

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/lib/oeqa/selftest/cases/runtime_test.py | 32 +++++++++++---------
 1 file changed, 18 insertions(+), 14 deletions(-)
diff mbox series

Patch

diff --git a/meta/lib/oeqa/selftest/cases/runtime_test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py
index a3c3126036..d332dac707 100644
--- a/meta/lib/oeqa/selftest/cases/runtime_test.py
+++ b/meta/lib/oeqa/selftest/cases/runtime_test.py
@@ -249,25 +249,29 @@  TEST_RUNQEMUPARAMS += " slirp"
         qemu_packageconfig = get_bb_var('PACKAGECONFIG', 'qemu-system-native')
         qemu_distrofeatures = get_bb_var('DISTRO_FEATURES', 'qemu-system-native')
         features = 'IMAGE_CLASSES += "testimage"\n'
-        if 'gtk+' not in qemu_packageconfig:
-            features += 'PACKAGECONFIG:append:pn-qemu-system-native = " gtk+"\n'
-        if 'sdl' not in qemu_packageconfig:
-            features += 'PACKAGECONFIG:append:pn-qemu-system-native = " sdl"\n'
+
+        if 'gtk+' not in qemu_packageconfig and 'sdl' not in qemu_packageconfig:
+            self.skipTest("Neither gtk+ nor sdl enabled in qemu-system-native; the test requires at least one")
+
         if 'opengl' not in qemu_distrofeatures:
             features += 'DISTRO_FEATURES:append = " opengl"\n'
         features += 'TEST_SUITES = "ping ssh virgl"\n'
         features += 'IMAGE_FEATURES:append = " ssh-server-dropbear"\n'
         features += 'IMAGE_INSTALL:append = " kmscube"\n'
-        features_gtk = features + 'TEST_RUNQEMUPARAMS += " gtk gl"\n'
-        self.write_config(features_gtk)
-        with mock.patch.dict(os.environ, {"DISPLAY": display}):
-            bitbake('core-image-minimal')
-            bitbake('-c testimage core-image-minimal')
-        features_sdl = features + 'TEST_RUNQEMUPARAMS += " sdl gl"\n'
-        self.write_config(features_sdl)
-        with mock.patch.dict(os.environ, {"DISPLAY": display}):
-            bitbake('core-image-minimal')
-            bitbake('-c testimage core-image-minimal')
+
+        if 'gtk+' in qemu_packageconfig:
+            features_gtk = features + 'TEST_RUNQEMUPARAMS += " gtk gl"\n'
+            self.write_config(features_gtk)
+            with mock.patch.dict(os.environ, {"DISPLAY": display}):
+                bitbake('core-image-minimal')
+                bitbake('-c testimage core-image-minimal')
+
+        if 'sdl' in qemu_packageconfig:
+            features_sdl = features + 'TEST_RUNQEMUPARAMS += " sdl gl"\n'
+            self.write_config(features_sdl)
+            with mock.patch.dict(os.environ, {"DISPLAY": display}):
+                bitbake('core-image-minimal')
+                bitbake('-c testimage core-image-minimal')
 
     @skipIfNotMachine("qemux86-64", "test needs qemux86-64")
     def test_testimage_virgl_headless(self):