classes/testsdk: Move the removal of bitbake PATH to eSDK context only

The removal of bitbake and scripts PATH is only needed by eSDK tests
so move to eSDK context only.

This also it's a support for eSDK update test because it needs to
execute oe-publish-sdk from scripts.

(From OE-Core rev: 4ae0c84568f39661722cbceba8ddab22cffe5003)

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:
Aníbal Limón 2016-02-21 12:31:50 -06:00 committed by Richard Purdie
parent eb1f8b9427
commit 2a410b225a
2 changed files with 15 additions and 6 deletions

View File

@ -96,11 +96,10 @@ def testsdkext_main(d):
# 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
paths_to_avoid = ['bitbake/bin', 'poky/scripts',
d.getVar('STAGING_DIR', True),
d.getVar('BASE_WORKDIR', True)]
# extensible sdk can be contaminated if native programs are
# in PATH, i.e. use perl-native instead of eSDK one.
paths_to_avoid = [d.getVar('STAGING_DIR', True),
d.getVar('BASE_WORKDIR', True)]
os.environ['PATH'] = avoid_paths_in_environ(paths_to_avoid)
pn = d.getVar("PN", True)

View File

@ -21,6 +21,7 @@ import logging
import oeqa.runtime
import oeqa.sdkext
from oeqa.utils.decorators import LogResults, gettag, getResults
from oeqa.utils import avoid_paths_in_environ
logger = logging.getLogger("BitBake")
@ -128,7 +129,16 @@ class oeSDKTest(oeTest):
return subprocess.check_output(". %s > /dev/null; %s;" % (self.tc.sdkenv, cmd), shell=True)
class oeSDKExtTest(oeSDKTest):
pass
def _run(self, cmd):
# extensible sdk shows a warning if found bitbake in the path
# because can cause contamination, i.e. use devtool from
# poky/scripts instead of eSDK one.
env = os.environ.copy()
paths_to_avoid = ['bitbake/bin', 'poky/scripts']
env['PATH'] = avoid_paths_in_environ(paths_to_avoid)
return subprocess.check_output(". %s > /dev/null;"\
" %s;" % (self.tc.sdkenv, cmd), shell=True, env=env)
def getmodule(pos=2):
# stack returns a list of tuples containg frame information