diff options
| -rw-r--r-- | meta/lib/oeqa/oetest.py | 40 | ||||
| -rw-r--r-- | meta/lib/oeqa/sdkext/case.py | 21 | ||||
| -rw-r--r-- | meta/lib/oeqa/sdkext/context.py | 21 |
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: | |||
| 27 | except ImportError: | 27 | except ImportError: |
| 28 | pass | 28 | pass |
| 29 | from oeqa.utils.decorators import LogResults, gettag, getResults | 29 | from oeqa.utils.decorators import LogResults, gettag, getResults |
| 30 | from oeqa.utils import avoid_paths_in_environ | ||
| 31 | 30 | ||
| 32 | logger = logging.getLogger("BitBake") | 31 | logger = logging.getLogger("BitBake") |
| 33 | 32 | ||
| @@ -145,18 +144,6 @@ class OETestCalledProcessError(subprocess.CalledProcessError): | |||
| 145 | 144 | ||
| 146 | subprocess.CalledProcessError = OETestCalledProcessError | 145 | subprocess.CalledProcessError = OETestCalledProcessError |
| 147 | 146 | ||
| 148 | class 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 | |||
| 160 | def getmodule(pos=2): | 147 | def 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 | |||
| 646 | class 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 | |||
| 4 | import os | ||
| 5 | import subprocess | ||
| 6 | |||
| 7 | from oeqa.utils import avoid_paths_in_environ | ||
| 8 | from oeqa.sdk.case import OESDKTestCase | ||
| 9 | |||
| 10 | class 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 | |||
| 4 | import os | ||
| 5 | from oeqa.sdk.context import OESDKTestContext, OESDKTestContextExecutor | ||
| 6 | |||
| 7 | class OESDKExtTestContext(OESDKTestContext): | ||
| 8 | esdk_files_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "files") | ||
| 9 | |||
| 10 | class 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 | ||
