]> code.ossystems Code Review - openembedded-core.git/commitdiff
classes/testsdk: Move code for avoid PATHs to oeqa.utils
authorAníbal Limón <limon.anibal@gmail.com>
Sun, 21 Feb 2016 18:14:44 +0000 (12:14 -0600)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sun, 28 Feb 2016 11:32:40 +0000 (11:32 +0000)
Due to the neeed to use in other modules.

Signed-off-by: Aníbal Limón <limon.anibal@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
meta/classes/testsdk.bbclass
meta/lib/oeqa/utils/__init__.py

index a56ad5edfc7d21cac46d7827c7b037e472796c4b..41e03d6e065d831112c5bd2f51d37579522d3a31 100644 (file)
@@ -88,30 +88,20 @@ def testsdkext_main(d):
     import os
     import oeqa.sdkext
     import subprocess
-    from oeqa.oetest import SDKTestContext, SDKExtTestContext
     from bb.utils import export_proxies
+    from oeqa.oetest import SDKTestContext, SDKExtTestContext
+    from oeqa.utils import avoid_paths_in_environ
+
 
     # extensible sdk use network
     export_proxies(d)
 
     # extensible sdk shows a warning if found bitbake in the path
     # because can cause problems so clean it
-    new_path = ''
     paths_to_avoid = ['bitbake/bin', 'poky/scripts',
                        d.getVar('STAGING_DIR', True),
                        d.getVar('BASE_WORKDIR', True)]
-    for p in os.environ['PATH'].split(':'):
-       avoid = False
-       for pa in paths_to_avoid:
-           if pa in p:
-              avoid = True
-              break
-       if avoid:
-           continue
-
-       new_path = new_path + p + ':'
-    new_path = new_path[:-1]
-    os.environ['PATH'] = new_path
+    os.environ['PATH'] = avoid_paths_in_environ(paths_to_avoid)
 
     pn = d.getVar("PN", True)
     bb.utils.mkdirhier(d.getVar("TEST_LOG_SDKEXT_DIR", True))
index 2260046026fb3db78065ff6f0262a4bb784f4815..8f706f363741787c7554e787f7397473d53c80a4 100644 (file)
@@ -13,3 +13,26 @@ class CommandError(Exception):
     def __str__(self):
         return "Command '%s' returned non-zero exit status %d with output: %s" % (self.cmd, self.retcode, self.output)
 
+def avoid_paths_in_environ(paths):
+    """
+        Searches for every path in os.environ['PATH']
+        if found remove it.
+
+        Returns new PATH without avoided PATHs.
+    """
+    import os
+
+    new_path = ''
+    for p in os.environ['PATH'].split(':'):
+       avoid = False
+       for pa in paths:
+           if pa in p:
+              avoid = True
+              break
+       if avoid:
+           continue
+
+       new_path = new_path + p + ':'
+
+    new_path = new_path[:-1]
+    return new_path