runexported: Make it compatible with host dump
Currently it is not possible to run a exported test, but this patch will allow to use the HosDumper class when running a exported test, otherwise the HostDumper class will break runexpored test. [YOCTO #8118] (From OE-Core rev: 25814dbdd12db0499e4d81876873158e1b8a4fcc) Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
53ab41a5f6
commit
a2b0d04235
|
@ -173,9 +173,10 @@ def exportTests(d,tc):
|
|||
savedata = {}
|
||||
savedata["d"] = {}
|
||||
savedata["target"] = {}
|
||||
savedata["host_dumper"] = {}
|
||||
for key in tc.__dict__:
|
||||
# special cases
|
||||
if key != "d" and key != "target":
|
||||
if key != "d" and key != "target" and key != "host_dumper":
|
||||
savedata[key] = getattr(tc, key)
|
||||
savedata["target"]["ip"] = tc.target.ip or d.getVar("TEST_TARGET_IP", True)
|
||||
savedata["target"]["server_ip"] = tc.target.server_ip or d.getVar("TEST_SERVER_IP", True)
|
||||
|
@ -189,6 +190,9 @@ def exportTests(d,tc):
|
|||
# we don't care about those anyway
|
||||
pass
|
||||
|
||||
savedata["host_dumper"]["parent_dir"] = tc.host_dumper.parent_dir
|
||||
savedata["host_dumper"]["cmds"] = tc.host_dumper.cmds
|
||||
|
||||
with open(os.path.join(exportpath, "testdata.json"), "w") as f:
|
||||
json.dump(savedata, f, skipkeys=True, indent=4, sort_keys=True)
|
||||
|
||||
|
|
|
@ -13,7 +13,6 @@ import inspect
|
|||
import subprocess
|
||||
import bb
|
||||
from oeqa.utils.decorators import LogResults
|
||||
from oeqa.targetcontrol import QemuTarget
|
||||
from sys import exc_info, exc_clear
|
||||
|
||||
def loadTests(tc, type="runtime"):
|
||||
|
@ -124,7 +123,7 @@ class oeRuntimeTest(oeTest):
|
|||
if not exc_info() == (None, None, None):
|
||||
exc_clear()
|
||||
#Only dump for QemuTarget
|
||||
if (isinstance(self.target, QemuTarget)):
|
||||
if (type(self.target).__name__ == "QemuTarget"):
|
||||
self.tc.host_dumper.create_dir(self._testMethodName)
|
||||
self.tc.host_dumper.dump_host()
|
||||
self.target.target_dumper.dump_target(
|
||||
|
|
|
@ -32,6 +32,7 @@ sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "oeqa"))
|
|||
|
||||
from oeqa.oetest import runTests
|
||||
from oeqa.utils.sshcontrol import SSHControl
|
||||
from oeqa.utils.dump import get_host_dumper
|
||||
|
||||
# this isn't pretty but we need a fake target object
|
||||
# for running the tests externally as we don't care
|
||||
|
@ -118,11 +119,16 @@ def main():
|
|||
for key in loaded["target"].keys():
|
||||
setattr(target, key, loaded["target"][key])
|
||||
|
||||
host_dumper = get_host_dumper(d)
|
||||
host_dumper.parent_dir = loaded["host_dumper"]["parent_dir"]
|
||||
host_dumper.cmds = loaded["host_dumper"]["cmds"]
|
||||
|
||||
tc = TestContext()
|
||||
setattr(tc, "d", d)
|
||||
setattr(tc, "target", target)
|
||||
setattr(tc, "host_dumper", host_dumper)
|
||||
for key in loaded.keys():
|
||||
if key != "d" and key != "target":
|
||||
if key != "d" and key != "target" and key != "host_dumper":
|
||||
setattr(tc, key, loaded[key])
|
||||
|
||||
target.exportStart()
|
||||
|
|
Loading…
Reference in New Issue