summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross@burtonini.com>2021-09-01 17:57:03 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-09-02 12:12:08 +0100
commitb3dcbdc4d63f968966ef118d5e073349adeae22c (patch)
tree40e240ce0065a7ede8c0002396d928ec390ea358
parent75d9a77eba40d8494063f73b666cd73640be5a6f (diff)
downloadpoky-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>
-rw-r--r--meta/classes/insane.bbclass2
-rw-r--r--meta/classes/ptest.bbclass10
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 "
32ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \ 32ERROR_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
123QARECIPETEST[missing-ptest] = "package_qa_check_missing_ptest"
124def 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}