From 7a5dbfec068a131459d4d33525ac596f9cfd3947 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Wed, 29 Aug 2018 10:56:29 +0800 Subject: sdk/context.py: add ability to check for multilib version of target package Add a named argument 'multilib' for the hasTargetPackage function. Its default value is False. When setting to True, it will try to get the correct multilib prefix from the sdk_env, the environment setup script. We need this because we don't want unexpected run of some sdk test cases. The following steps will generate error. 1. Enable multilib for qemux86-64 require conf/multilib.conf MULTILIBS ?= "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 ?= "core2-32" 2. bitbake core-image-sato -c populate_sdk 3. bitbake core-image-sato -c testsdk The error message is like below. No package 'gtk+-3.0' found RESULTS - buildgalculator.GalculatorTest.test_galculator - Testcase -1: FAILED As we don't have lib32-gtk+3 installed, the test case should be skipped when testing against the lib32 environment setup script. Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- meta/lib/oeqa/sdk/context.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/meta/lib/oeqa/sdk/context.py b/meta/lib/oeqa/sdk/context.py index 7c091c0534..ec8972d05a 100644 --- a/meta/lib/oeqa/sdk/context.py +++ b/meta/lib/oeqa/sdk/context.py @@ -29,7 +29,13 @@ class OESDKTestContext(OETestContext): def hasHostPackage(self, pkg): return self._hasPackage(self.host_pkg_manifest, pkg) - def hasTargetPackage(self, pkg): + def hasTargetPackage(self, pkg, multilib=False): + if multilib: + # match multilib according to sdk_env + mls = self.td.get('MULTILIB_VARIANTS', '').split() + for ml in mls: + if ('ml'+ml) in self.sdk_env: + pkg = ml + '-' + pkg return self._hasPackage(self.target_pkg_manifest, pkg) class OESDKTestContextExecutor(OETestContextExecutor): -- cgit 1.2.3-korg