summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/lib/oeqa/oetest.py40
-rw-r--r--meta/lib/oeqa/sdkext/case.py21
-rw-r--r--meta/lib/oeqa/sdkext/context.py21
3 files changed, 42 insertions, 40 deletions
diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py
index d7c358844f..503f6fc10f 100644
--- a/meta/lib/oeqa/oetest.py
+++ b/meta/lib/oeqa/oetest.py
@@ -27,7 +27,6 @@ try:
27except ImportError: 27except ImportError:
28 pass 28 pass
29from oeqa.utils.decorators import LogResults, gettag, getResults 29from oeqa.utils.decorators import LogResults, gettag, getResults
30from oeqa.utils import avoid_paths_in_environ
31 30
32logger = logging.getLogger("BitBake") 31logger = logging.getLogger("BitBake")
33 32
@@ -145,18 +144,6 @@ class OETestCalledProcessError(subprocess.CalledProcessError):
145 144
146subprocess.CalledProcessError = OETestCalledProcessError 145subprocess.CalledProcessError = OETestCalledProcessError
147 146
148class oeSDKExtTest(oeSDKTest):
149 def _run(self, cmd):
150 # extensible sdk shows a warning if found bitbake in the path
151 # because can cause contamination, i.e. use devtool from
152 # poky/scripts instead of eSDK one.
153 env = os.environ.copy()
154 paths_to_avoid = ['bitbake/bin', 'poky/scripts']
155 env['PATH'] = avoid_paths_in_environ(paths_to_avoid)
156
157 return subprocess.check_output(". %s > /dev/null;"\
158 " %s;" % (self.tc.sdkenv, cmd), stderr=subprocess.STDOUT, shell=True, env=env).decode("utf-8")
159
160def getmodule(pos=2): 147def getmodule(pos=2):
161 # stack returns a list of tuples containg frame information 148 # stack returns a list of tuples containg frame information
162 # First element of the list the is current frame, caller is 1 149 # First element of the list the is current frame, caller is 1
@@ -642,30 +629,3 @@ class ExportTestContext(RuntimeTestContext):
642 extracted_dir = self.d.getVar("TEST_EXPORT_EXTRACTED_DIR") 629 extracted_dir = self.d.getVar("TEST_EXPORT_EXTRACTED_DIR")
643 pkg_dir = os.path.join(export_dir, extracted_dir) 630 pkg_dir = os.path.join(export_dir, extracted_dir)
644 super(ExportTestContext, self).install_uninstall_packages(test_id, pkg_dir, install) 631 super(ExportTestContext, self).install_uninstall_packages(test_id, pkg_dir, install)
645
646class SDKExtTestContext(SDKTestContext):
647 def __init__(self, d, sdktestdir, sdkenv, tcname, *args):
648 self.target_manifest = d.getVar("SDK_EXT_TARGET_MANIFEST")
649 self.host_manifest = d.getVar("SDK_EXT_HOST_MANIFEST")
650 if args:
651 self.cm = args[0] # Compatibility mode for run SDK tests
652 else:
653 self.cm = False
654
655 super(SDKExtTestContext, self).__init__(d, sdktestdir, sdkenv, tcname)
656
657 self.sdkextfilesdir = os.path.join(os.path.dirname(os.path.abspath(
658 oeqa.sdkext.__file__)), "files")
659
660 def _get_test_namespace(self):
661 if self.cm:
662 return "sdk"
663 else:
664 return "sdkext"
665
666 def _get_test_suites(self):
667 return (self.d.getVar("TEST_SUITES_SDK_EXT") or "auto").split()
668
669 def _get_test_suites_required(self):
670 return [t for t in (self.d.getVar("TEST_SUITES_SDK_EXT") or \
671 "auto").split() if t != "auto"]
diff --git a/meta/lib/oeqa/sdkext/case.py b/meta/lib/oeqa/sdkext/case.py
new file mode 100644
index 0000000000..6f708aa4ca
--- /dev/null
+++ b/meta/lib/oeqa/sdkext/case.py
@@ -0,0 +1,21 @@
1# Copyright (C) 2016 Intel Corporation
2# Released under the MIT license (see COPYING.MIT)
3
4import os
5import subprocess
6
7from oeqa.utils import avoid_paths_in_environ
8from oeqa.sdk.case import OESDKTestCase
9
10class OESDKExtTestCase(OESDKTestCase):
11 def _run(self, cmd):
12 # extensible sdk shows a warning if found bitbake in the path
13 # because can cause contamination, i.e. use devtool from
14 # poky/scripts instead of eSDK one.
15 env = os.environ.copy()
16 paths_to_avoid = ['bitbake/bin', 'poky/scripts']
17 env['PATH'] = avoid_paths_in_environ(paths_to_avoid)
18
19 return subprocess.check_output(". %s > /dev/null;"\
20 " %s;" % (self.tc.sdk_env, cmd), stderr=subprocess.STDOUT,
21 shell=True, env=env).decode("utf-8")
diff --git a/meta/lib/oeqa/sdkext/context.py b/meta/lib/oeqa/sdkext/context.py
new file mode 100644
index 0000000000..8dbcd807b4
--- /dev/null
+++ b/meta/lib/oeqa/sdkext/context.py
@@ -0,0 +1,21 @@
1# Copyright (C) 2016 Intel Corporation
2# Released under the MIT license (see COPYING.MIT)
3
4import os
5from oeqa.sdk.context import OESDKTestContext, OESDKTestContextExecutor
6
7class OESDKExtTestContext(OESDKTestContext):
8 esdk_files_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "files")
9
10class OESDKExtTestContextExecutor(OESDKTestContextExecutor):
11 _context_class = OESDKExtTestContext
12
13 name = 'esdk'
14 help = 'esdk test component'
15 description = 'executes esdk tests'
16
17 default_cases = [OESDKTestContextExecutor.default_cases[0],
18 os.path.join(os.path.abspath(os.path.dirname(__file__)), 'cases')]
19 default_test_data = None
20
21_executor_class = OESDKExtTestContextExecutor