From 227cc78b3f461164310de33194cc9e0d006fbfef Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Wed, 29 Aug 2018 10:56:31 +0800 Subject: oeqa/sdk: fixes related to hasPackage semantics The current _hasPackage does a regex match when checking for the existence of packages. This will sometimes result in unexpected result. For example, the condition hasTargetPackage('gcc') is likely to be always true as it matches libgcc1. For most of the time, we should do exact match instead of regex match. So change _hasPackage function to do that. For the current sdk test cases, the only place that needs regex match is '^gcc-'. This is because there's no easy way to get multilib tune arch (e.g. i686) from testdata.json file. Besides, packagegroup-cross-canadian-xxx and gcc-xxx should be check in host manifest instead of the target one. So fix to use hasHostPackage. Also, as we are doing exact match, there's no need to use r'gtk\+3', just 'gtk+3' is enough. (From OE-Core rev: 595e9922cdbacf84cf35cc83f0d03cace042e302) Signed-off-by: Chen Qi Signed-off-by: Richard Purdie --- meta/lib/oeqa/sdk/cases/buildgalculator.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'meta/lib/oeqa/sdk/cases/buildgalculator.py') diff --git a/meta/lib/oeqa/sdk/cases/buildgalculator.py b/meta/lib/oeqa/sdk/cases/buildgalculator.py index 3714825b06..050d1b3b52 100644 --- a/meta/lib/oeqa/sdk/cases/buildgalculator.py +++ b/meta/lib/oeqa/sdk/cases/buildgalculator.py @@ -8,8 +8,8 @@ class GalculatorTest(OESDKTestCase): @classmethod def setUpClass(self): - if not (self.tc.hasTargetPackage(r"gtk\+3", multilib=True) or\ - self.tc.hasTargetPackage(r"libgtk-3.0", multilib=True)): + if not (self.tc.hasTargetPackage("gtk+3", multilib=True) or \ + self.tc.hasTargetPackage("libgtk-3.0", multilib=True)): raise unittest.SkipTest("GalculatorTest class: SDK don't support gtk+3") if not (self.tc.hasHostPackage("nativesdk-gettext-dev")): raise unittest.SkipTest("GalculatorTest class: SDK doesn't contain gettext") -- cgit v1.2.3-54-g00ecf