From d27ca36e2a3d3ba60870aa73f17a6e22737b0c13 Mon Sep 17 00:00:00 2001 From: Mariano Lopez Date: Mon, 11 Apr 2016 06:55:35 +0000 Subject: oeqa/runexported.py: Fix exported test With the changes introduced to test the eSDK the runexported test failed during the execution. This change fix runexported test in the least invasive way, because of the release cycle. (From OE-Core rev: da0abb9679cb1fd639859a2fdbd82101d0a81259) Signed-off-by: Mariano Lopez Signed-off-by: Richard Purdie --- meta/lib/oeqa/oetest.py | 6 +++++- meta/lib/oeqa/runexported.py | 19 ++++++++++--------- meta/lib/oeqa/utils/commands.py | 6 +++++- 3 files changed, 20 insertions(+), 11 deletions(-) diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py index fc1e8b514d..8eb84ed65d 100644 --- a/meta/lib/oeqa/oetest.py +++ b/meta/lib/oeqa/oetest.py @@ -19,7 +19,11 @@ except ImportError: import logging import oeqa.runtime -import oeqa.sdkext +# Exported test doesn't require sdkext +try: + import oeqa.sdkext +except ImportError: + pass from oeqa.utils.decorators import LogResults, gettag, getResults from oeqa.utils import avoid_paths_in_environ diff --git a/meta/lib/oeqa/runexported.py b/meta/lib/oeqa/runexported.py index e9a29126c8..cc89e13c06 100755 --- a/meta/lib/oeqa/runexported.py +++ b/meta/lib/oeqa/runexported.py @@ -30,7 +30,7 @@ except ImportError: sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "oeqa"))) -from oeqa.oetest import runTests +from oeqa.oetest import TestContext from oeqa.utils.sshcontrol import SSHControl from oeqa.utils.dump import get_host_dumper @@ -49,7 +49,7 @@ class FakeTarget(object): def exportStart(self): self.sshlog = os.path.join(self.testdir, "ssh_target_log.%s" % self.datetime) sshloglink = os.path.join(self.testdir, "ssh_target_log") - if os.path.exists(sshloglink): + if os.path.lexists(sshloglink): os.remove(sshloglink) os.symlink(self.sshlog, sshloglink) print("SSH log file: %s" % self.sshlog) @@ -69,10 +69,9 @@ class MyDataDict(dict): def getVar(self, key, unused = None): return self.get(key, "") -class TestContext(object): - def __init__(self): - self.d = None - self.target = None +class ExportTestContext(TestContext): + def __init__(self, d): + self.d = d def main(): @@ -121,7 +120,9 @@ def main(): host_dumper.parent_dir = loaded["host_dumper"]["parent_dir"] host_dumper.cmds = loaded["host_dumper"]["cmds"] - tc = TestContext() + target.exportStart() + tc = ExportTestContext(d) + setattr(tc, "d", d) setattr(tc, "target", target) setattr(tc, "host_dumper", host_dumper) @@ -129,8 +130,8 @@ def main(): if key != "d" and key != "target" and key != "host_dumper": setattr(tc, key, loaded[key]) - target.exportStart() - runTests(tc) + tc.loadTests() + tc.runTests() return 0 diff --git a/meta/lib/oeqa/utils/commands.py b/meta/lib/oeqa/utils/commands.py index 32e001c6b5..48f6441290 100644 --- a/meta/lib/oeqa/utils/commands.py +++ b/meta/lib/oeqa/utils/commands.py @@ -18,7 +18,11 @@ from oeqa.utils import CommandError from oeqa.utils import ftools import re import contextlib -import bb +# Export test doesn't require bb +try: + import bb +except ImportError: + pass class Command(object): def __init__(self, command, bg=False, timeout=None, data=None, **options): -- cgit v1.2.3-54-g00ecf