From f3781544a5c077610498a6b7dc5244ee4c5bc6df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?An=C3=ADbal=20Lim=C3=B3n?= Date: Sun, 31 Jan 2016 08:45:47 -0600 Subject: testsdkext: Add skeleton for support Extensible SDK tests. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit oeqa/sdkext: Add module and __init__.py will contain eSDK tests. classes/testsdk: Add support for run eSDK tests. oeqa/oetest: Create oeSDKExtTest for now only inherit oeSDKTest, modified SDKExtTestContext now inherit SDKTestContext and set sdkext filesdir for store data fixtures. Signed-off-by: Aníbal Limón Signed-off-by: Ross Burton --- meta/classes/testsdk.bbclass | 10 +++++++++- meta/lib/oeqa/oetest.py | 12 +++++++++++- meta/lib/oeqa/sdkext/__init__.py | 3 +++ 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 meta/lib/oeqa/sdkext/__init__.py (limited to 'meta') diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass index a0c50fe4a9..417510ce3d 100644 --- a/meta/classes/testsdk.bbclass +++ b/meta/classes/testsdk.bbclass @@ -114,7 +114,15 @@ def testsdkext_main(d): bb.plain("Running SDK Compatibility tests ...") run_test_context(SDKTestContext, d, testdir, tcname, pn) finally: - bb.utils.remove(testdir, True) + pass + + try: + bb.plain("Running Extensible SDK tests ...") + run_test_context(SDKExtTestContext, d, testdir, tcname, pn) + finally: + pass + + bb.utils.remove(testdir, True) testsdkext_main[vardepsexclude] =+ "BB_ORIGENV" diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py index 47ea3b259f..620617c4fb 100644 --- a/meta/lib/oeqa/oetest.py +++ b/meta/lib/oeqa/oetest.py @@ -19,6 +19,7 @@ except ImportError: import logging import oeqa.runtime +import oeqa.sdkext from oeqa.utils.decorators import LogResults, gettag, getResults logger = logging.getLogger("BitBake") @@ -126,6 +127,9 @@ class oeSDKTest(oeTest): def _run(self, cmd): return subprocess.check_output(". %s > /dev/null; %s;" % (self.tc.sdkenv, cmd), shell=True) +class oeSDKExtTest(oeSDKTest): + pass + def getmodule(pos=2): # stack returns a list of tuples containg frame information # First element of the list the is current frame, caller is 1 @@ -400,7 +404,13 @@ class SDKTestContext(TestContext): return [t for t in (self.d.getVar("TEST_SUITES_SDK", True) or \ "auto").split() if t != "auto"] -class SDKExtTestContext(TestContext): +class SDKExtTestContext(SDKTestContext): + def __init__(self, d, sdktestdir, sdkenv): + super(SDKExtTestContext, self).__init__(d, sdktestdir, sdkenv) + + self.sdkextfilesdir = os.path.join(os.path.dirname(os.path.abspath( + oeqa.sdkext.__file__)), "files") + def _get_test_namespace(self): return "sdkext" diff --git a/meta/lib/oeqa/sdkext/__init__.py b/meta/lib/oeqa/sdkext/__init__.py new file mode 100644 index 0000000000..4cf3fa76b6 --- /dev/null +++ b/meta/lib/oeqa/sdkext/__init__.py @@ -0,0 +1,3 @@ +# Enable other layers to have tests in the same named directory +from pkgutil import extend_path +__path__ = extend_path(__path__, __name__) -- cgit v1.2.3