diff mbox

[3/4] insane: add QAPKGTEST, a package-wide equivilant to QAPATHTEST

Message ID 1480031065-19435-3-git-send-email-ross.burton@intel.com
State Accepted
Commit acc3cc26099c77e4eeb44c75bc7167ab58ef1147
Headers show

Commit Message

Ross Burton Nov. 24, 2016, 11:44 p.m. UTC
QAPATHTEST defines a function that is executed for every file in every package.
For tests which just need to look at the datastore this is massive overkill.

Add QAPKGTEST, which is invoked for each package in the recipe.

Signed-off-by: Ross Burton <ross.burton@intel.com>

---
 meta/classes/insane.bbclass | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

-- 
2.8.1

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
diff mbox

Patch

diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index 0ba4cae..407ccee 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -822,6 +822,23 @@  def package_qa_check_staged(path,d):
 
     return sane
 
+# Run all package-wide warnfuncs and errorfuncs
+def package_qa_package(warnfuncs, errorfuncs, skip, package, d):
+    warnings = {}
+    errors = {}
+
+    for func in warnfuncs:
+        func(package, d, warnings)
+    for func in errorfuncs:
+        func(package, d, errors)
+
+    for w in warnings:
+        package_qa_handle_error(w, warnings[w], d)
+    for e in errors:
+        package_qa_handle_error(e, errors[e], d)
+
+    return len(errors) == 0
+
 # Walk over all files in a directory and call func
 def package_qa_walk(warnfuncs, errorfuncs, skip, package, d):
     import oe.qa
@@ -1162,6 +1179,9 @@  python do_package_qa () {
         warn_checks, error_checks = parse_test_matrix("QAPATHTEST")
         package_qa_walk(warn_checks, error_checks, skip, package, d)
 
+        warn_checks, error_checks = parse_test_matrix("QAPKGTEST")
+        package_qa_package(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)