]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
oeqa/selftest: test_testimage_virgl_gtk_sdl: run only if gtk or sdl are enabled in...
authorAlexander Kanavin <alex@linutronix.de>
Tue, 2 Jun 2026 19:13:12 +0000 (21:13 +0200)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 4 Jun 2026 10:18:34 +0000 (11:18 +0100)
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>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/selftest/cases/runtime_test.py

index a3c31260368250876cda80f1aeeeb528ebcc63e7..d332dac7073add3758b479ffd1be698500cd3821 100644 (file)
@@ -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):