aboutsummaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorzjh <junhuix.zhang@intel.com>2015-07-03 17:32:35 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-07-09 17:58:50 +0100
commitc270148b3f0e87bbaafbcffbca4ee7b965be6569 (patch)
treee9a51751f600b41b42c055fcb73fc7434132bb4f /meta
parent2c3fe7351edd954230b14443f82914a3f70e8a40 (diff)
downloadopenembedded-core-contrib-c270148b3f0e87bbaafbcffbca4ee7b965be6569.tar.gz
testimage: Add support for test suites manifest files
Allow the list of TEST_SUITES to be read from a list of manifest files in the TEST_SUITES_MANIFEST variable. [YOCTO #7848] Signed-off-by: zjh <junhuix.zhang@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/testimage.bbclass26
1 files changed, 24 insertions, 2 deletions
diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
index 1e3bb066d4..2b655b49fa 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -72,15 +72,37 @@ do_testsdk[nostamp] = "1"
do_testsdk[depends] += "${TESTIMAGEDEPENDS}"
do_testsdk[lockfiles] += "${TESTIMAGELOCK}"
+# get testcase list from specified file
+# if path is a relative path, then relative to build/conf/
+def read_testlist(d, fpath):
+ if not os.path.isabs(fpath):
+ builddir = d.getVar("TOPDIR", True)
+ fpath = os.path.join(builddir, "conf", fpath)
+ if not os.path.exists(fpath):
+ bb.fatal("No such manifest file: ", fpath)
+ tcs = []
+ for line in open(fpath).readlines():
+ line = line.strip()
+ if line and not line.startswith("#"):
+ tcs.append(line)
+ return " ".join(tcs)
+
def get_tests_list(d, type="runtime"):
- testsuites = d.getVar("TEST_SUITES", True).split()
+ testsuites = []
+ testslist = []
+ manifests = d.getVar("TEST_SUITES_MANIFEST", True)
+ if manifests is not None:
+ manifests = manifests.split()
+ for manifest in manifests:
+ testsuites.extend(read_testlist(d, manifest).split())
+ else:
+ testsuites = d.getVar("TEST_SUITES", True).split()
if type == "sdk":
testsuites = (d.getVar("TEST_SUITES_SDK", True) or "auto").split()
bbpath = d.getVar("BBPATH", True).split(':')
# This relies on lib/ under each directory in BBPATH being added to sys.path
# (as done by default in base.bbclass)
- testslist = []
for testname in testsuites:
if testname != "auto":
if testname.startswith("oeqa."):