[OE-core] [oe-core][PATCH 1/1] testsdk: add ability to search for multilib packages
Joe Slater
jslater at windriver.com
Tue Dec 19 19:07:28 UTC 2017
We search for packages related to the sdk environment
being used for a test.
Signed-off-by: Joe Slater <jslater at windriver.com>
---
meta/lib/oeqa/sdk/cases/buildgalculator.py | 7 ++++---
meta/lib/oeqa/sdk/context.py | 15 +++++++++++++--
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/meta/lib/oeqa/sdk/cases/buildgalculator.py b/meta/lib/oeqa/sdk/cases/buildgalculator.py
index 780afcc..8518b15 100644
--- a/meta/lib/oeqa/sdk/cases/buildgalculator.py
+++ b/meta/lib/oeqa/sdk/cases/buildgalculator.py
@@ -8,9 +8,10 @@ class GalculatorTest(OESDKTestCase):
@classmethod
def setUpClass(self):
- if not (self.tc.hasTargetPackage("gtk\+3") or\
- self.tc.hasTargetPackage("libgtk-3.0")):
- raise unittest.SkipTest("GalculatorTest class: SDK don't support gtk+3")
+ # search for the multilib package per sdk_env
+ if not (self.tc.hasPrefixedTargetPackage("gtk\+3") or
+ self.tc.hasPrefixedTargetPackage("libgtk-3.0")):
+ raise unittest.SkipTest("GalculatorTest class: SDK doesn't support gtk+3")
def test_galculator(self):
dl_dir = self.td.get('DL_DIR', None)
diff --git a/meta/lib/oeqa/sdk/context.py b/meta/lib/oeqa/sdk/context.py
index b3d7c75..291be1e 100644
--- a/meta/lib/oeqa/sdk/context.py
+++ b/meta/lib/oeqa/sdk/context.py
@@ -22,8 +22,9 @@ class OESDKTestContext(OETestContextThreaded):
self.host_pkg_manifest = host_pkg_manifest
def _hasPackage(self, manifest, pkg):
- for host_pkg in manifest.keys():
- if re.search(pkg, host_pkg):
+ pat = re.compile(pkg)
+ for s in manifest.keys():
+ if pat.search(s):
return True
return False
@@ -33,6 +34,16 @@ class OESDKTestContext(OETestContextThreaded):
def hasTargetPackage(self, pkg):
return self._hasPackage(self.target_pkg_manifest, pkg)
+ def hasPrefixedTargetPackage(self, pkg):
+ # extract multilib from environment script name
+ try:
+ p = re.match(".*(lib.?[36][24]-)linux-?", self.sdk_env).group(1) + pkg
+ except:
+ p = pkg
+
+ # bb.warn("Searching for multilib pkg %s" % (p))
+ return self.hasTargetPackage(p)
+
class OESDKTestContextExecutor(OETestContextExecutor):
_context_class = OESDKTestContext
--
2.7.4
More information about the Openembedded-core
mailing list