From a9eb22e3d30b9bfd06eea55556894c256be3a4b0 Mon Sep 17 00:00:00 2001 From: Mariano Lopez Date: Mon, 2 May 2016 13:19:14 +0000 Subject: oeqa/oetest.py: Add class ExportTestContext Adding the class is needed to separate the exported test from the test image; both test run under different conditions, i.e. an exported test doesn't require to change the signal handling. This change adds clasess ExportTestContext and ImageTestContext, both of them inherits from RuntimeTestContext. Also refactors RuntimeTestContext class, to keep the code common in this class. (From OE-Core rev: ef9618a6e7f99e485cc6b59484d11807475c7823) Signed-off-by: Mariano Lopez Signed-off-by: Richard Purdie --- meta/lib/oeqa/oetest.py | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py index 3ed5bb8c2b..bef9ac4961 100644 --- a/meta/lib/oeqa/oetest.py +++ b/meta/lib/oeqa/oetest.py @@ -331,14 +331,13 @@ class TestContext(object): return runner.run(self.suite) -class ImageTestContext(TestContext): - def __init__(self, d, target, host_dumper): - super(ImageTestContext, self).__init__(d) +class RuntimeTestContext(TestContext): + def __init__(self, d, target): + super(RuntimeTestContext, self).__init__(d) self.tagexp = d.getVar("TEST_SUITES_TAGS", True) self.target = target - self.host_dumper = host_dumper manifest = os.path.join(d.getVar("DEPLOY_DIR_IMAGE", True), d.getVar("IMAGE_LINK_NAME", True) + ".manifest") @@ -352,15 +351,6 @@ class ImageTestContext(TestContext): else: self.pkgmanifest = "" - self.sigterm = False - self.origsigtermhandler = signal.getsignal(signal.SIGTERM) - signal.signal(signal.SIGTERM, self._sigterm_exception) - - def _sigterm_exception(self, signum, stackframe): - bb.warn("TestImage received SIGTERM, shutting down...") - self.sigterm = True - self.target.stop() - def _get_test_namespace(self): return "runtime" @@ -382,9 +372,29 @@ class ImageTestContext(TestContext): return [t for t in self.d.getVar("TEST_SUITES", True).split() if t != "auto"] def loadTests(self): - super(ImageTestContext, self).loadTests() + super(RuntimeTestContext, self).loadTests() setattr(oeRuntimeTest, "pscmd", "ps -ef" if oeTest.hasPackage("procps") else "ps") +class ImageTestContext(RuntimeTestContext): + def __init__(self, d, target, host_dumper): + super(ImageTestContext, self).__init__(d, target) + + self.host_dumper = host_dumper + + self.sigterm = False + self.origsigtermhandler = signal.getsignal(signal.SIGTERM) + signal.signal(signal.SIGTERM, self._sigterm_exception) + + def _sigterm_exception(self, signum, stackframe): + bb.warn("TestImage received SIGTERM, shutting down...") + self.sigterm = True + self.target.stop() + +class ExportTestContext(RuntimeTestContext): + def __init__(self, d, target): + super(ExportTestContext, self).__init__(d, target) + self.sigterm = None + class SDKTestContext(TestContext): def __init__(self, d, sdktestdir, sdkenv, tcname, *args): super(SDKTestContext, self).__init__(d) -- cgit v1.2.3-54-g00ecf