diff mbox series

[1/2] classes/yocto-check-layer: refactor to be extended easily

Message ID 20250501140234.4113519-1-ross.burton@arm.com
State New
Headers show
Series [1/2] classes/yocto-check-layer: refactor to be extended easily | expand

Commit Message

Ross Burton May 1, 2025, 2:02 p.m. UTC
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(-)
diff mbox series

Patch

diff --git a/meta/classes-global/yocto-check-layer.bbclass b/meta/classes-global/yocto-check-layer.bbclass
index 1cdab49661b..92a392af9c3 100644
--- a/meta/classes-global/yocto-check-layer.bbclass
+++ b/meta/classes-global/yocto-check-layer.bbclass
@@ -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)
 }