[OE-core] [PATCHv2 1/4] classes/testsdk: Move code for avoid PATHs to oeqa.utils
Aníbal Limón
anibal.limon at linux.intel.com
Mon Feb 22 18:31:30 UTC 2016
From: Aníbal Limón <limon.anibal at gmail.com>
Due to the neeed to use in other modules.
Signed-off-by: Aníbal Limón <limon.anibal at gmail.com>
---
meta/classes/testsdk.bbclass | 18 ++++--------------
meta/lib/oeqa/utils/__init__.py | 23 +++++++++++++++++++++++
2 files changed, 27 insertions(+), 14 deletions(-)
diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass
index a56ad5e..41e03d6 100644
--- a/meta/classes/testsdk.bbclass
+++ b/meta/classes/testsdk.bbclass
@@ -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))
diff --git a/meta/lib/oeqa/utils/__init__.py b/meta/lib/oeqa/utils/__init__.py
index 2260046..8f706f3 100644
--- a/meta/lib/oeqa/utils/__init__.py
+++ b/meta/lib/oeqa/utils/__init__.py
@@ -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
--
2.1.4
More information about the Openembedded-core
mailing list