oeqa/oetest: Fix compatibility SDK tests using eSDK.

When run SDK tests over eSDK we need to use SDKExtTestContext
instead of SDKTestContext because if we use SDKTestContext search
for SDK manifest and depends on the SDK manifest generation so
populate_sdk needs to be executed.

Adds a compatibility mode flag to SDKExtTestContext for search tests
over sdk module instead of sdkext module and change testsdk calls
to comply with this new param.

(From OE-Core rev: ebe743235b383b17225553d84bf8e6f80d364dcd)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Aníbal Limón
2016-02-02 17:08:56 -06:00
committed by Richard Purdie
parent 062dbd6da7
commit a619ea293a
2 changed files with 13 additions and 6 deletions

View File

@@ -5,14 +5,14 @@
TEST_LOG_DIR ?= "${WORKDIR}/testimage"
TESTSDKLOCK = "${TMPDIR}/testsdk.lock"
def run_test_context(CTestContext, d, testdir, tcname, pn):
def run_test_context(CTestContext, d, testdir, tcname, pn, *args):
import glob
import time
targets = glob.glob(d.expand(testdir + "/tc/environment-setup-*"))
for sdkenv in targets:
bb.plain("Testing %s" % sdkenv)
tc = CTestContext(d, testdir, sdkenv)
tc = CTestContext(d, testdir, sdkenv, args)
# this is a dummy load of tests
# we are doing that to find compile errors in the tests themselves
@@ -112,7 +112,7 @@ def testsdkext_main(d):
try:
bb.plain("Running SDK Compatibility tests ...")
run_test_context(SDKTestContext, d, testdir, tcname, pn)
run_test_context(SDKExtTestContext, d, testdir, tcname, pn, True)
finally:
pass

View File

@@ -376,7 +376,7 @@ class ImageTestContext(TestContext):
setattr(oeRuntimeTest, "pscmd", "ps -ef" if oeTest.hasPackage("procps") else "ps")
class SDKTestContext(TestContext):
def __init__(self, d, sdktestdir, sdkenv):
def __init__(self, d, sdktestdir, sdkenv, *args):
super(SDKTestContext, self).__init__(d)
self.sdktestdir = sdktestdir
@@ -409,9 +409,13 @@ class SDKTestContext(TestContext):
"auto").split() if t != "auto"]
class SDKExtTestContext(SDKTestContext):
def __init__(self, d, sdktestdir, sdkenv):
def __init__(self, d, sdktestdir, sdkenv, *args):
self.target_manifest = d.getVar("SDK_EXT_TARGET_MANIFEST", True)
self.host_manifest = d.getVar("SDK_EXT_HOST_MANIFEST", True)
if args:
self.cm = args[0] # Compatibility mode for run SDK tests
else:
self.cm = False
super(SDKExtTestContext, self).__init__(d, sdktestdir, sdkenv)
@@ -419,7 +423,10 @@ class SDKExtTestContext(SDKTestContext):
oeqa.sdkext.__file__)), "files")
def _get_test_namespace(self):
return "sdkext"
if self.cm:
return "sdk"
else:
return "sdkext"
def _get_test_suites(self):
return (self.d.getVar("TEST_SUITES_SDK_EXT", True) or "auto").split()