aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAníbal Limón <limon.anibal@gmail.com>2016-02-21 12:31:50 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-02-28 11:32:40 +0000
commit4ae0c84568f39661722cbceba8ddab22cffe5003 (patch)
tree5605fe2f832248ef4665de82acdd647efe09f502
parenta25aef2bdefae54c8b3eb2bd4afec5a86110ddc7 (diff)
downloadopenembedded-core-contrib-4ae0c84568f39661722cbceba8ddab22cffe5003.tar.gz
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. Signed-off-by: Aníbal Limón <limon.anibal@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r--meta/classes/testsdk.bbclass9
-rw-r--r--meta/lib/oeqa/oetest.py12
2 files changed, 15 insertions, 6 deletions
diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass
index 41e03d6e06..157077e18e 100644
--- a/meta/classes/testsdk.bbclass
+++ b/meta/classes/testsdk.bbclass
@@ -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)
diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py
index 3e2ea0f874..3809ed722b 100644
--- a/meta/lib/oeqa/oetest.py
+++ b/meta/lib/oeqa/oetest.py
@@ -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