@@ -4,17 +4,17 @@
# SPDX-License-Identifier: MIT
#
-#
-# This class is used by yocto-check-layer script to ensure that packages
-# from Yocto Project Compatible layers don't skip required QA checks listed
-# in CHECKLAYER_REQUIRED_TESTS defined by insane.bbclass
+# This class is used by the yocto-check-layer script for additional
+# per-recipe tests.
#
# It adds an anonymous python function with extra processing to all recipes,
# globally inheriting this class isn't advisable - yocto-check-layer script
# handles that during its signature dump
-#
-python () {
+
+# Ensure that recipes don't skip required QA checks as listed
+# in CHECKLAYER_REQUIRED_TESTS, defined by insane.bbclass
+def check_insane_skip(d):
required_tests = set((d.getVar('CHECKLAYER_REQUIRED_TESTS') or '').split())
packages = set((d.getVar('PACKAGES') or '').split())
for package in packages:
@@ -25,4 +25,8 @@ python () {
oe.qa.write_error(" ".join(skip_required), 'Package %s is skipping required QA tests.' % package, d)
bb.error("QA Issue: %s [%s]" % ('Package %s is skipping required QA tests.' % package, " ".join(skip_required)))
d.setVar("QA_ERRORS_FOUND", "True")
+
+
+python () {
+ check_insane_skip(d)
}
Rearrange the class so that the check is a separate function, to make it neater to add further tests in the future. Signed-off-by: Ross Burton <ross.burton@arm.com> --- meta/classes-global/yocto-check-layer.bbclass | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-)