diff options
-rw-r--r-- | meta/classes/testsdk.bbclass | 18 | ||||
-rw-r--r-- | 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 a56ad5edfc..41e03d6e06 100644 --- a/meta/classes/testsdk.bbclass +++ b/meta/classes/testsdk.bbclass | |||
@@ -88,30 +88,20 @@ def testsdkext_main(d): | |||
88 | import os | 88 | import os |
89 | import oeqa.sdkext | 89 | import oeqa.sdkext |
90 | import subprocess | 90 | import subprocess |
91 | from oeqa.oetest import SDKTestContext, SDKExtTestContext | ||
92 | from bb.utils import export_proxies | 91 | from bb.utils import export_proxies |
92 | from oeqa.oetest import SDKTestContext, SDKExtTestContext | ||
93 | from oeqa.utils import avoid_paths_in_environ | ||
94 | |||
93 | 95 | ||
94 | # extensible sdk use network | 96 | # extensible sdk use network |
95 | export_proxies(d) | 97 | export_proxies(d) |
96 | 98 | ||
97 | # extensible sdk shows a warning if found bitbake in the path | 99 | # extensible sdk shows a warning if found bitbake in the path |
98 | # because can cause problems so clean it | 100 | # because can cause problems so clean it |
99 | new_path = '' | ||
100 | paths_to_avoid = ['bitbake/bin', 'poky/scripts', | 101 | paths_to_avoid = ['bitbake/bin', 'poky/scripts', |
101 | d.getVar('STAGING_DIR', True), | 102 | d.getVar('STAGING_DIR', True), |
102 | d.getVar('BASE_WORKDIR', True)] | 103 | d.getVar('BASE_WORKDIR', True)] |
103 | for p in os.environ['PATH'].split(':'): | 104 | os.environ['PATH'] = avoid_paths_in_environ(paths_to_avoid) |
104 | avoid = False | ||
105 | for pa in paths_to_avoid: | ||
106 | if pa in p: | ||
107 | avoid = True | ||
108 | break | ||
109 | if avoid: | ||
110 | continue | ||
111 | |||
112 | new_path = new_path + p + ':' | ||
113 | new_path = new_path[:-1] | ||
114 | os.environ['PATH'] = new_path | ||
115 | 105 | ||
116 | pn = d.getVar("PN", True) | 106 | pn = d.getVar("PN", True) |
117 | bb.utils.mkdirhier(d.getVar("TEST_LOG_SDKEXT_DIR", True)) | 107 | 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 2260046026..8f706f3637 100644 --- a/meta/lib/oeqa/utils/__init__.py +++ b/meta/lib/oeqa/utils/__init__.py | |||
@@ -13,3 +13,26 @@ class CommandError(Exception): | |||
13 | def __str__(self): | 13 | def __str__(self): |
14 | return "Command '%s' returned non-zero exit status %d with output: %s" % (self.cmd, self.retcode, self.output) | 14 | return "Command '%s' returned non-zero exit status %d with output: %s" % (self.cmd, self.retcode, self.output) |
15 | 15 | ||
16 | def avoid_paths_in_environ(paths): | ||
17 | """ | ||
18 | Searches for every path in os.environ['PATH'] | ||
19 | if found remove it. | ||
20 | |||
21 | Returns new PATH without avoided PATHs. | ||
22 | """ | ||
23 | import os | ||
24 | |||
25 | new_path = '' | ||
26 | for p in os.environ['PATH'].split(':'): | ||
27 | avoid = False | ||
28 | for pa in paths: | ||
29 | if pa in p: | ||
30 | avoid = True | ||
31 | break | ||
32 | if avoid: | ||
33 | continue | ||
34 | |||
35 | new_path = new_path + p + ':' | ||
36 | |||
37 | new_path = new_path[:-1] | ||
38 | return new_path | ||