From: Alexander Kanavin <[email protected]>

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 <[email protected]>
---
 meta/lib/oeqa/selftest/cases/runtime_test.py | 32 +++++++++++---------
 1 file changed, 18 insertions(+), 14 deletions(-)

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):
-- 
2.47.3

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#238069): 
https://lists.openembedded.org/g/openembedded-core/message/238069
Mute This Topic: https://lists.openembedded.org/mt/119617200/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to