diff options
author | zjh <junhuix.zhang@intel.com> | 2015-07-03 17:32:35 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-07-09 17:58:50 +0100 |
commit | c270148b3f0e87bbaafbcffbca4ee7b965be6569 (patch) | |
tree | e9a51751f600b41b42c055fcb73fc7434132bb4f /meta | |
parent | 2c3fe7351edd954230b14443f82914a3f70e8a40 (diff) | |
download | openembedded-core-c270148b3f0e87bbaafbcffbca4ee7b965be6569.tar.gz openembedded-core-c270148b3f0e87bbaafbcffbca4ee7b965be6569.tar.bz2 openembedded-core-c270148b3f0e87bbaafbcffbca4ee7b965be6569.zip |
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.bbclass | 26 |
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."): |