From bd2096c89a4a00927a52d07145aad528dc86b81c Mon Sep 17 00:00:00 2001 From: Peter Marko Date: Thu, 31 Jul 2025 21:27:19 +0200 Subject: [PATCH] oeqa: do not fail when sdk package is not available Prior to commits: * 11277efd057685558a744e98082b5709e849dd2a * d0e8b83d05957b1f22d08582e364afa4b522801e the tests were skipped if package was not available. Now the code calls function ensure_host_package which says "try to sdk-install missing dependencies", however in fact for sdkext it causes a failure if the installation is not available. Since maturin is not installed in any image, it cannot be installed unless it's downloaded from sstate-cache mirror populated by a world build. These builds are however now not done for powerpc and mips. IT also does not work in local builds without sstate-cache mirror. Fix this by skipping the test if the package cannot be installed to match the original behavior before those commits. Signed-off-by: Peter Marko Cc: Ross Burton Cc: Khem Raj Signed-off-by: Mathieu Dubois-Briand Signed-off-by: Richard Purdie --- meta/lib/oeqa/sdk/case.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta/lib/oeqa/sdk/case.py b/meta/lib/oeqa/sdk/case.py index 1fd3b3b569..03cfde88ff 100644 --- a/meta/lib/oeqa/sdk/case.py +++ b/meta/lib/oeqa/sdk/case.py @@ -44,7 +44,10 @@ class OESDKTestCase(OETestCase): if isinstance(self.tc, OESDKExtTestContext): recipe = (recipe or packages[0]) + "-native" print("Trying to install %s..." % recipe) - self._run('devtool sdk-install %s' % recipe) + try: + self._run('devtool sdk-install %s' % recipe) + except subprocess.CalledProcessError: + raise unittest.SkipTest("Test %s needs one of %s" % (self.id(), ", ".join(packages))) else: raise unittest.SkipTest("Test %s needs one of %s" % (self.id(), ", ".join(packages))) -- 2.47.2