diff options
Diffstat (limited to 'meta/lib/oeqa/sdk/context.py')
-rw-r--r-- | meta/lib/oeqa/sdk/context.py | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/meta/lib/oeqa/sdk/context.py b/meta/lib/oeqa/sdk/context.py index ec8972d05a..adc4166fd2 100644 --- a/meta/lib/oeqa/sdk/context.py +++ b/meta/lib/oeqa/sdk/context.py | |||
@@ -20,23 +20,30 @@ class OESDKTestContext(OETestContext): | |||
20 | self.target_pkg_manifest = target_pkg_manifest | 20 | self.target_pkg_manifest = target_pkg_manifest |
21 | self.host_pkg_manifest = host_pkg_manifest | 21 | self.host_pkg_manifest = host_pkg_manifest |
22 | 22 | ||
23 | def _hasPackage(self, manifest, pkg): | 23 | def _hasPackage(self, manifest, pkg, regex=False): |
24 | for host_pkg in manifest.keys(): | 24 | if regex: |
25 | if re.search(pkg, host_pkg): | 25 | # do regex match |
26 | pat = re.compile(pkg) | ||
27 | for p in manifest.keys(): | ||
28 | if pat.search(p): | ||
29 | return True | ||
30 | else: | ||
31 | # do exact match | ||
32 | if pkg in manifest.keys(): | ||
26 | return True | 33 | return True |
27 | return False | 34 | return False |
28 | 35 | ||
29 | def hasHostPackage(self, pkg): | 36 | def hasHostPackage(self, pkg, regex=False): |
30 | return self._hasPackage(self.host_pkg_manifest, pkg) | 37 | return self._hasPackage(self.host_pkg_manifest, pkg, regex=regex) |
31 | 38 | ||
32 | def hasTargetPackage(self, pkg, multilib=False): | 39 | def hasTargetPackage(self, pkg, multilib=False, regex=False): |
33 | if multilib: | 40 | if multilib: |
34 | # match multilib according to sdk_env | 41 | # match multilib according to sdk_env |
35 | mls = self.td.get('MULTILIB_VARIANTS', '').split() | 42 | mls = self.td.get('MULTILIB_VARIANTS', '').split() |
36 | for ml in mls: | 43 | for ml in mls: |
37 | if ('ml'+ml) in self.sdk_env: | 44 | if ('ml'+ml) in self.sdk_env: |
38 | pkg = ml + '-' + pkg | 45 | pkg = ml + '-' + pkg |
39 | return self._hasPackage(self.target_pkg_manifest, pkg) | 46 | return self._hasPackage(self.target_pkg_manifest, pkg, regex=regex) |
40 | 47 | ||
41 | class OESDKTestContextExecutor(OETestContextExecutor): | 48 | class OESDKTestContextExecutor(OETestContextExecutor): |
42 | _context_class = OESDKTestContext | 49 | _context_class = OESDKTestContext |