oeqa/sdk/context: fix multilib handling bug in hasTargetPackage

hasTargetPackage has some logic to automatically multilibify package
names if needed (for example, so that gtk+3 becomes lib32-gtk+3).

Due to a logic bug if multilib was True but there were no multilibs
configured then this prepended "-" to the package name, which won't
exist.  This resulted in tests being skipped as the dependent packages
are not installed.

Solve this by only prepending to the package name if requested and if a
multilib environment has been detected.

(From OE-Core rev: 2abb146dd81f677176923ebb3188f5b7c034ed68)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton 2025-05-10 09:43:37 +01:00 committed by Richard Purdie
parent 79b6409ef7
commit 16ca89f0bb

View File

@ -47,7 +47,7 @@ class OESDKTestContext(OETestContext):
return self._hasPackage(self.host_pkg_manifest, pkg, regex=regex)
def hasTargetPackage(self, pkg, multilib=False, regex=False):
if multilib:
if multilib and self.multilib:
pkg = self.multilib + '-' + pkg
return self._hasPackage(self.target_pkg_manifest, pkg, regex=regex)