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))
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