diff options
| author | Chen Qi <Qi.Chen@windriver.com> | 2018-08-29 10:56:29 +0800 | 
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-08-30 16:16:06 +0100 | 
| commit | 163764ad4760a5fabf65640df5f968be98ad13d2 (patch) | |
| tree | b43453112c658dd736aace4e8934f4d10ad313b2 /meta/lib | |
| parent | 42acb0ebde4e88bcdf34a541b700f19d8607abb0 (diff) | |
| download | openembedded-core-163764ad4760a5fabf65640df5f968be98ad13d2.tar.gz openembedded-core-163764ad4760a5fabf65640df5f968be98ad13d2.tar.bz2 openembedded-core-163764ad4760a5fabf65640df5f968be98ad13d2.zip | |
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 <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib')
| -rw-r--r-- | meta/lib/oeqa/sdk/context.py | 8 | 
1 files changed, 7 insertions, 1 deletions
| 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): | 
