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.

(From OE-Core rev: bd2096c89a4a00927a52d07145aad528dc86b81c)

Signed-off-by: Peter Marko <peter.marko@siemens.com>
Cc: Ross Burton <ross.burton@arm.com>
Cc: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Peter Marko
2025-07-31 21:27:19 +02:00
committed by Richard Purdie
parent 1987d7943e
commit 2239c2c91a

View File

@@ -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)))