classes/testsdk: Move code for avoid PATHs to oeqa.utils
Due to the neeed to use in other modules. (From OE-Core rev: a25aef2bdefae54c8b3eb2bd4afec5a86110ddc7) Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
55d4849e80
commit
eb1f8b9427
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue