summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAníbal Limón <anibal.limon@linux.intel.com>2016-12-05 11:43:21 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-01-23 12:03:56 +0000
commitf8beaf94e943a8b20d146be47a756af312ef107c (patch)
tree39add69db3a1c9856fa30fd5185531c486b8914f
parent07ee2fa0008a50da87fd840aea5e8bb6051c68fa (diff)
downloadopenembedded-core-f8beaf94e943a8b20d146be47a756af312ef107c.tar.gz
oeqa/utils/dump: Move get_host_dumper to OERuntimeTestContextExecutor class
To avoid getVar calls inside a utils module, also moves get_host_dumper import inside testexport isn't needed. [YOCTO #10231] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
-rw-r--r--meta/classes/testexport.bbclass1
-rw-r--r--meta/classes/testimage.bbclass5
-rw-r--r--meta/lib/oeqa/runtime/context.py18
-rw-r--r--meta/lib/oeqa/utils/dump.py11
4 files changed, 22 insertions, 13 deletions
diff --git a/meta/classes/testexport.bbclass b/meta/classes/testexport.bbclass
index 00cf24e735..5398b3c767 100644
--- a/meta/classes/testexport.bbclass
+++ b/meta/classes/testexport.bbclass
@@ -163,7 +163,6 @@ def exportTests(d,tc):
def testexport_main(d):
from oeqa.oetest import ExportTestContext
from oeqa.targetcontrol import get_target_controller
- from oeqa.utils.dump import get_host_dumper
test_create_extract_dirs(d)
export_dir = d.getVar("TEST_EXPORT_DIR")
diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
index 6fed408613..62ecaef502 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -128,8 +128,8 @@ def testimage_main(d):
import signal
from oeqa.oetest import ImageTestContext
from oeqa.targetcontrol import get_target_controller
- from oeqa.utils.dump import get_host_dumper
from bb.utils import export_proxies
+ from oeqa.utils.dump import HostDumper
pn = d.getVar("PN")
bb.utils.mkdirhier(d.getVar("TEST_LOG_DIR"))
@@ -139,7 +139,8 @@ def testimage_main(d):
export_proxies(d)
# we need the host dumper in test context
- host_dumper = get_host_dumper(d)
+ host_dumper = HostDumper(d.getVar("testimage_dump_host", True),
+ d.getVar("TESTIMAGE_DUMP_DIR", True))
# the robot dance
target = get_target_controller(d)
diff --git a/meta/lib/oeqa/runtime/context.py b/meta/lib/oeqa/runtime/context.py
index ec378bb016..ab7caa62c1 100644
--- a/meta/lib/oeqa/runtime/context.py
+++ b/meta/lib/oeqa/runtime/context.py
@@ -5,6 +5,8 @@ import os
from oeqa.core.context import OETestContext, OETestContextExecutor
from oeqa.core.target.ssh import OESSHTarget
+from oeqa.utils.dump import HostDumper
+
from oeqa.runtime.loader import OERuntimeTestLoader
class OERuntimeTestContext(OETestContext):
@@ -12,10 +14,11 @@ class OERuntimeTestContext(OETestContext):
runtime_files_dir = os.path.join(
os.path.dirname(os.path.abspath(__file__)), "files")
- def __init__(self, td, logger, target, image_packages):
+ def __init__(self, td, logger, target, host_dumper, image_packages):
super(OERuntimeTestContext, self).__init__(td, logger)
self.target = target
self.image_packages = image_packages
+ self.host_dumper = host_dumper
self._set_target_cmds()
def _set_target_cmds(self):
@@ -39,6 +42,7 @@ class OERuntimeTestContextExecutor(OETestContextExecutor):
default_target_type = 'simpleremote'
default_server_ip = '192.168.7.1'
default_target_ip = '192.168.7.2'
+ default_host_dumper_dir = '/tmp/oe-saved-tests'
def register_commands(self, logger, subparsers):
super(OERuntimeTestContextExecutor, self).register_commands(logger, subparsers)
@@ -58,6 +62,11 @@ class OERuntimeTestContextExecutor(OETestContextExecutor):
help="IP address of device under test, default: %s" \
% self.default_server_ip)
+ runtime_group.add_argument('--host-dumper-dir', action='store',
+ default=self.default_host_dumper_dir,
+ help="Directory where host status is dumped, if tests fails, default: %s" \
+ % self.default_host_dumper_dir)
+
runtime_group.add_argument('--packages-manifest', action='store',
help="Package manifest of the image under test")
@@ -90,6 +99,10 @@ class OERuntimeTestContextExecutor(OETestContextExecutor):
return image_packages
+ @staticmethod
+ def getHostDumper(cmds, directory):
+ return HostDumper(cmds, directory)
+
def _process_args(self, logger, args):
if not args.packages_manifest:
raise TypeError('Manifest file not provided')
@@ -98,6 +111,9 @@ class OERuntimeTestContextExecutor(OETestContextExecutor):
self.tc_kwargs['init']['target'] = \
OERuntimeTestContextExecutor.getTarget(args.target_type)
+ self.tc_kwargs['init']['host_dumper'] = \
+ OERuntimeTestContextExecutor.getHostDumper(None,
+ args.host_dumper_dir)
self.tc_kwargs['init']['image_packages'] = \
OERuntimeTestContextExecutor.readPackagesManifest(
args.packages_manifest)
diff --git a/meta/lib/oeqa/utils/dump.py b/meta/lib/oeqa/utils/dump.py
index 44037a989d..5a7edc1a86 100644
--- a/meta/lib/oeqa/utils/dump.py
+++ b/meta/lib/oeqa/utils/dump.py
@@ -5,12 +5,6 @@ import datetime
import itertools
from .commands import runCmd
-def get_host_dumper(d):
- cmds = d.getVar("testimage_dump_host")
- parent_dir = d.getVar("TESTIMAGE_DUMP_DIR")
- return HostDumper(cmds, parent_dir)
-
-
class BaseDumper(object):
""" Base class to dump commands from host/target """
@@ -77,13 +71,12 @@ class HostDumper(BaseDumper):
result = runCmd(cmd, ignore_status=True)
self._write_dump(cmd.split()[0], result.output)
-
class TargetDumper(BaseDumper):
""" Class to get dumps from target, it only works with QemuRunner """
- def __init__(self, cmds, parent_dir, qemurunner):
+ def __init__(self, cmds, parent_dir, runner):
super(TargetDumper, self).__init__(cmds, parent_dir)
- self.runner = qemurunner
+ self.runner = runner
def dump_target(self, dump_dir=""):
if dump_dir: