]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
oeqa/sdk/context: Improve multilib handling
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 1 Feb 2025 08:05:14 +0000 (08:05 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 1 Feb 2025 13:20:33 +0000 (13:20 +0000)
Rather than hiding the multilib logic in the package tests, move the
multilib setting to the init function of the class so the logic is
clearer.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/sdk/context.py

index 77e6a98f3916ce7e7bd01fb894520fc1dfba00ec..d968cfa2be941789d8b0cd265307c6cababf2322 100644 (file)
@@ -23,6 +23,13 @@ class OESDKTestContext(OETestContext):
         self.target_pkg_manifest = target_pkg_manifest
         self.host_pkg_manifest = host_pkg_manifest
 
+        # match multilib according to sdk_env
+        self.multilib = ""
+        multilibs = self.td.get('MULTILIB_VARIANTS', '').split()
+        for ml in multilibs:
+            if ml in os.path.basename(self.sdk_env):
+                self.multilib = ml
+
     def _hasPackage(self, manifest, pkg, regex=False):
         if regex:
             # do regex match
@@ -41,13 +48,7 @@ class OESDKTestContext(OETestContext):
 
     def hasTargetPackage(self, pkg, multilib=False, regex=False):
         if multilib:
-            stripped_sdk_env = os.path.basename(self.sdk_env)
-            if stripped_sdk_env.startswith('environment-setup-'):
-                # match multilib according to sdk_env
-                mls = self.td.get('MULTILIB_VARIANTS', '').split()
-                for ml in mls:
-                    if ('ml'+ml) in stripped_sdk_env:
-                        pkg = ml + '-' + pkg
+            pkg = self.multilib + '-' + pkg
         return self._hasPackage(self.target_pkg_manifest, pkg, regex=regex)
 
 class OESDKTestContextExecutor(OETestContextExecutor):