]> code.ossystems Code Review - openembedded-core.git/commit
yocto-check-layer: add ability to perform tests from a global bbclass
authorDenys Dmytriyenko <denis@denix.org>
Tue, 1 Feb 2022 03:16:42 +0000 (22:16 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 7 Feb 2022 10:09:08 +0000 (10:09 +0000)
commited4e0e90c663ede8f2e2595a9630bb2d7064b23a
tree3a4972e300f233388effeb3cac4dbdd34f68be3d
parentac1c7e1dffd9e5b86e0ec5d8666721b25f26fa4d
yocto-check-layer: add ability to perform tests from a global bbclass

This is useful when needing to test layer's recipes, where this special
bbclass can define a global python function that gets called on each
recipe parsing during "bitbake -S none world" signature dump and be able
to fail layer's check accordingly.

First test being added is to detect recipes skipping "installed-vs-shipped"
QA check. As "installed-vs-shipped" is a packaging QA check, it happens very
late in the build process and failing it could mean some potential issues
with packaging, especially when recipe uses BBCLASSEXTEND="nativesdk" and
resulting package is used in an SDK.

In OE-Core failing this QA check leads to an error, but other layers can
suppress it or change it to a warning. Detecting weird packaging problems
with SDKs is quite difficult and time consuming. Also, waiting for the
actual "installed-vs-shipped" packaging QA check to fail means that all
recipes in the layer under test have to run through all standard tasks in
the build chain, equivalent to a multi-hour world-build.

Hence yocto-check-layer takes a shortcut and only detects a mere attempt
at skipping "installed-vs-shipped" QA check in the INSANE_SKIP list during
initial parsing when dumping the signature information for the layer.

Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/yocto-check-layer.bbclass [new file with mode: 0644]
scripts/lib/checklayer/__init__.py
scripts/lib/checklayer/cases/common.py