diff options
author | Ross Burton <ross.burton@intel.com> | 2016-11-24 18:02:40 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-11-30 15:47:13 +0000 |
commit | 3caccd3f6079b7e284d32e1eb0217107425e7bf8 (patch) | |
tree | a53e28f6bd697a50dcf589e75c2c339f35654117 | |
parent | cc545044cba51317bee32e3bf674723e422e3a8a (diff) | |
download | openembedded-core-3caccd3f6079b7e284d32e1eb0217107425e7bf8.tar.gz openembedded-core-3caccd3f6079b7e284d32e1eb0217107425e7bf8.tar.bz2 openembedded-core-3caccd3f6079b7e284d32e1eb0217107425e7bf8.zip |
insane: factor out the test matrix processing
Pull the test matrix processing out as a function so it can be reused.
Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r-- | meta/classes/insane.bbclass | 46 |
1 files changed, 25 insertions, 21 deletions
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 9f3065fdc7..0ba4cae23e 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -1116,7 +1116,6 @@ python do_package_qa () { if not packages: return - testmatrix = d.getVarFlags("QAPATHTEST") import re # The package name matches the [a-z0-9.+-]+ regular expression pkgname_pattern = re.compile("^[a-z0-9.+-]+$") @@ -1126,28 +1125,33 @@ python do_package_qa () { for dep in taskdepdata: taskdeps.add(taskdepdata[dep][0]) - g = globals() for package in packages: + def parse_test_matrix(matrix_name): + testmatrix = d.getVarFlags(matrix_name) or {} + g = globals() + warnchecks = [] + for w in (d.getVar("WARN_QA", True) or "").split(): + if w in skip: + continue + if w in testmatrix and testmatrix[w] in g: + warnchecks.append(g[testmatrix[w]]) + if w == 'unsafe-references-in-binaries': + oe.utils.write_ld_so_conf(d) + + errorchecks = [] + for e in (d.getVar("ERROR_QA", True) or "").split(): + if e in skip: + continue + if e in testmatrix and testmatrix[e] in g: + errorchecks.append(g[testmatrix[e]]) + if e == 'unsafe-references-in-binaries': + oe.utils.write_ld_so_conf(d) + return warnchecks, errorchecks + skip = (d.getVar('INSANE_SKIP_' + package, True) or "").split() if skip: bb.note("Package %s skipping QA tests: %s" % (package, str(skip))) - warnchecks = [] - for w in (d.getVar("WARN_QA", True) or "").split(): - if w in skip: - continue - if w in testmatrix and testmatrix[w] in g: - warnchecks.append(g[testmatrix[w]]) - if w == 'unsafe-references-in-binaries': - oe.utils.write_ld_so_conf(d) - - errorchecks = [] - for e in (d.getVar("ERROR_QA", True) or "").split(): - if e in skip: - continue - if e in testmatrix and testmatrix[e] in g: - errorchecks.append(g[testmatrix[e]]) - if e == 'unsafe-references-in-binaries': - oe.utils.write_ld_so_conf(d) + bb.note("Checking Package: %s" % package) # Check package name @@ -1155,8 +1159,8 @@ python do_package_qa () { package_qa_handle_error("pkgname", "%s doesn't match the [a-z0-9.+-]+ regex" % package, d) - path = "%s/%s" % (pkgdest, package) - package_qa_walk(warnchecks, errorchecks, skip, package, d) + warn_checks, error_checks = parse_test_matrix("QAPATHTEST") + package_qa_walk(warn_checks, error_checks, skip, package, d) package_qa_check_rdepends(package, pkgdest, skip, taskdeps, packages, d) package_qa_check_deps(package, pkgdest, skip, d) |