From c270148b3f0e87bbaafbcffbca4ee7b965be6569 Mon Sep 17 00:00:00 2001 From: zjh Date: Fri, 3 Jul 2015 17:32:35 +0800 Subject: 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 Signed-off-by: Richard Purdie --- meta/classes/testimage.bbclass | 26 ++++++++++++++++++++++++-- 1 file 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."): -- cgit 1.2.3-korg