From: Yoann Congal Date: Tue, 14 Apr 2026 14:22:56 +0000 (+0200) Subject: oeqa/selftest/devtool: add vulkan feature check for test needing it X-Git-Tag: yocto-6.0~95 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6bb54e8eb452f35bb9c07c48b5f296d239b854c3;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git oeqa/selftest/devtool: add vulkan feature check for test needing it When run with a distro without 'vulkan' DISTRO_FEATURES: $ oe-selftest -r devtool.DevtoolUpdateTests.test_devtool_git_submodules 2026-04-14 14:36:57,036 - oe-selftest - INFO - test_devtool_git_submodules (devtool.DevtoolUpdateTests.test_devtool_git_submodules) vulkan-samples is unavailable: vulkan-samples was skipped: using DISTRO 'nodistro', which is missing required DISTRO_FEATURES: 'vulkan' 2026-04-14 14:37:13,002 - oe-selftest - INFO - ... ERROR 2026-04-14 14:37:13,002 - oe-selftest - INFO - Traceback (most recent call last): File "/.../openembedded-core/meta/lib/oeqa/selftest/cases/devtool.py", line 1695, in test_devtool_git_submodules self.assertIn('gitsm://', src_uri, 'This test expects the %s recipe to be a git recipe with submodules' % recipe) ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/unittest/case.py", line 1171, in assertIn if member not in container: ^^^^^^^^^^^^^^^^^^^^^^^ TypeError: argument of type 'NoneType' is not iterable This is caused by vulkan-samples being skipped because it needs the vulkan DISTRO_FEATURES. Note that this is not seen in testing because nodistro has vulkan enabled by default since 2e1e7c86064 (bitbake.conf: Enable opengl ptest multiarch wayland vulkan in DISTRO_FEATURES by default, 2026-02-21) Signed-off-by: Yoann Congal Signed-off-by: Richard Purdie --- diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py index df45df2342..5ed69aee1b 100644 --- a/meta/lib/oeqa/selftest/cases/devtool.py +++ b/meta/lib/oeqa/selftest/cases/devtool.py @@ -21,6 +21,7 @@ from oeqa.selftest.case import OESelftestTestCase from oeqa.utils.commands import runCmd, Command, bitbake, get_bb_var, create_temp_layer from oeqa.utils.commands import get_bb_vars, runqemu, runqemu_check_taps, get_test_layer from oeqa.core.decorator import OETestTag +from oeqa.core.decorator.data import skipIfNotFeature from bb.utils import mkdirhier, edit_bblayers_conf oldmetapath = None @@ -1713,6 +1714,7 @@ class DevtoolUpdateTests(DevtoolBase): # Try building bitbake('%s -c patch' % testrecipe) + @skipIfNotFeature('vulkan', 'Test requires vulkan to be in DISTRO_FEATURES (operates on vulkan-samples)') def test_devtool_git_submodules(self): # This tests if we can add a patch in a git submodule and extract it properly using devtool finish # Check preconditions