diff options
| author | Ross Burton <ross@burtonini.com> | 2021-09-01 17:57:03 +0100 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-09-02 12:12:08 +0100 |
| commit | b3dcbdc4d63f968966ef118d5e073349adeae22c (patch) | |
| tree | 40e240ce0065a7ede8c0002396d928ec390ea358 /meta/classes | |
| parent | 75d9a77eba40d8494063f73b666cd73640be5a6f (diff) | |
| download | poky-b3dcbdc4d63f968966ef118d5e073349adeae22c.tar.gz | |
ptest: allow the ptest-packagelists.inc warning to be disabled
ptest.bbclass has a sanity check that all recipes in oe-core which
inherit ptest are also listed in the ptest-packagelists.inc file, and
the build fails if this is not the case.
Whilst this is a laudable goal, it is over-zealous as if the recipe has
a bbappend in another layer which inherits ptest, the build will fail.
By changing the combination of anonymous Python and bb.error() to a
recipe-scope QA test, this can be handled with the other sanity checks
and bbappends can skip the test if desired.
(From OE-Core rev: abe45c8c0a6da56a278796654d0520250dfd2a97)
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
| -rw-r--r-- | meta/classes/insane.bbclass | 2 | ||||
| -rw-r--r-- | meta/classes/ptest.bbclass | 10 |
2 files changed, 7 insertions, 5 deletions
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index b84e6035ed..20d4e4d746 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass | |||
| @@ -27,7 +27,7 @@ WARN_QA ?= " libdir xorg-driver-abi \ | |||
| 27 | infodir build-deps src-uri-bad symlink-to-sysroot multilib \ | 27 | infodir build-deps src-uri-bad symlink-to-sysroot multilib \ |
| 28 | invalid-packageconfig host-user-contaminated uppercase-pn patch-fuzz \ | 28 | invalid-packageconfig host-user-contaminated uppercase-pn patch-fuzz \ |
| 29 | mime mime-xdg unlisted-pkg-lics unhandled-features-check \ | 29 | mime mime-xdg unlisted-pkg-lics unhandled-features-check \ |
| 30 | missing-update-alternatives native-last \ | 30 | missing-update-alternatives native-last missing-ptest \ |
| 31 | " | 31 | " |
| 32 | ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \ | 32 | ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \ |
| 33 | perms dep-cmp pkgvarcheck perm-config perm-line perm-link \ | 33 | perms dep-cmp pkgvarcheck perm-config perm-line perm-link \ |
diff --git a/meta/classes/ptest.bbclass b/meta/classes/ptest.bbclass index 200446e52b..77614ae860 100644 --- a/meta/classes/ptest.bbclass +++ b/meta/classes/ptest.bbclass | |||
| @@ -118,13 +118,15 @@ python () { | |||
| 118 | if not(d.getVar('PTEST_ENABLED') == "1"): | 118 | if not(d.getVar('PTEST_ENABLED') == "1"): |
| 119 | for i in ['do_configure_ptest_base', 'do_compile_ptest_base', 'do_install_ptest_base']: | 119 | for i in ['do_configure_ptest_base', 'do_compile_ptest_base', 'do_install_ptest_base']: |
| 120 | bb.build.deltask(i, d) | 120 | bb.build.deltask(i, d) |
| 121 | } | ||
| 121 | 122 | ||
| 123 | QARECIPETEST[missing-ptest] = "package_qa_check_missing_ptest" | ||
| 124 | def package_qa_check_missing_ptest(pn, d, messages): | ||
| 122 | # This checks that ptest package is actually included | 125 | # This checks that ptest package is actually included |
| 123 | # in standard oe-core ptest images - only for oe-core recipes | 126 | # in standard oe-core ptest images - only for oe-core recipes |
| 124 | if not 'meta/recipes' in d.getVar('FILE') or not(d.getVar('PTEST_ENABLED') == "1"): | 127 | if not 'meta/recipes' in d.getVar('FILE') or not(d.getVar('PTEST_ENABLED') == "1"): |
| 125 | return | 128 | return |
| 126 | 129 | ||
| 127 | enabled_ptests = " ".join([d.getVar('PTESTS_FAST'),d.getVar('PTESTS_SLOW'), d.getVar('PTESTS_PROBLEMS')]).split() | 130 | enabled_ptests = " ".join([d.getVar('PTESTS_FAST'), d.getVar('PTESTS_SLOW'), d.getVar('PTESTS_PROBLEMS')]).split() |
| 128 | if (d.getVar('PN') + "-ptest").replace(d.getVar('MLPREFIX'), '') not in enabled_ptests: | 131 | if (pn + "-ptest").replace(d.getVar('MLPREFIX'), '') not in enabled_ptests: |
| 129 | bb.error("Recipe %s supports ptests but is not included in oe-core's conf/distro/include/ptest-packagelists.inc" % d.getVar("PN")) | 132 | package_qa_handle_error("missing-ptest", "supports ptests but is not included in oe-core's ptest-packagelists.inc", d) |
| 130 | } | ||
