diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-08-28 18:37:56 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2024-08-29 21:58:19 +0100 |
commit | e7e2019180b5c78defaa72c924d2bd5fd2a0d61c (patch) | |
tree | f668d0f3d77e09434a8e9517f0a84f0a1b488c82 | |
parent | 94ca45972781610cb8f6ee70e7da7632e0cb55a9 (diff) | |
download | poky-e7e2019180b5c78defaa72c924d2bd5fd2a0d61c.tar.gz |
insane: Further simplify code
Now handle_error is used, we can further simplify the QA test execution
as we don't need seperate function lists for warnings and errors.
(From OE-Core rev: 6896c9fcfc57f007c0ce15f7804e79b6b88f5ded)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | meta/classes-global/insane.bbclass | 41 |
1 files changed, 14 insertions, 27 deletions
diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass index bdc7f2b703..73fd2951f4 100644 --- a/meta/classes-global/insane.bbclass +++ b/meta/classes-global/insane.bbclass | |||
@@ -782,21 +782,12 @@ def qa_check_staged(path,d): | |||
782 | if not skip_shebang_size: | 782 | if not skip_shebang_size: |
783 | package_qa_check_shebang_size(path, "", d, None) | 783 | package_qa_check_shebang_size(path, "", d, None) |
784 | 784 | ||
785 | |||
786 | |||
787 | # Run all recipe-wide warnfuncs and errorfuncs | ||
788 | def package_qa_recipe(warnfuncs, errorfuncs, pn, d): | ||
789 | for func in warnfuncs: | ||
790 | func(pn, d) | ||
791 | for func in errorfuncs: | ||
792 | func(pn, d) | ||
793 | |||
794 | def prepopulate_objdump_p(elf, d): | 785 | def prepopulate_objdump_p(elf, d): |
795 | output = elf.run_objdump("-p", d) | 786 | output = elf.run_objdump("-p", d) |
796 | return (elf.name, output) | 787 | return (elf.name, output) |
797 | 788 | ||
798 | # Walk over all files in a directory and call func | 789 | # Walk over all files in a directory and call func |
799 | def package_qa_walk(warnfuncs, errorfuncs, package, d): | 790 | def package_qa_walk(checkfuncs, package, d): |
800 | elves = {} | 791 | elves = {} |
801 | for path in pkgfiles[package]: | 792 | for path in pkgfiles[package]: |
802 | elf = None | 793 | elf = None |
@@ -817,9 +808,7 @@ def package_qa_walk(warnfuncs, errorfuncs, package, d): | |||
817 | for path in pkgfiles[package]: | 808 | for path in pkgfiles[package]: |
818 | if path in elves: | 809 | if path in elves: |
819 | elves[path].open() | 810 | elves[path].open() |
820 | for func in warnfuncs: | 811 | for func in checkfuncs: |
821 | func(path, package, d, elves.get(path)) | ||
822 | for func in errorfuncs: | ||
823 | func(path, package, d, elves.get(path)) | 812 | func(path, package, d, elves.get(path)) |
824 | if path in elves: | 813 | if path in elves: |
825 | elves[path].close() | 814 | elves[path].close() |
@@ -1007,7 +996,7 @@ def package_qa_check_unlisted_pkg_lics(package, d): | |||
1007 | "listed in LICENSE" % (package, ' '.join(unlisted)), d) | 996 | "listed in LICENSE" % (package, ' '.join(unlisted)), d) |
1008 | obsolete = set(oe.license.obsolete_license_list()) & package_lics - recipe_lics_set | 997 | obsolete = set(oe.license.obsolete_license_list()) & package_lics - recipe_lics_set |
1009 | if obsolete: | 998 | if obsolete: |
1010 | oe.qa.handle_error(messages, "obsolete-license", | 999 | oe.qa.handle_error("obsolete-license", |
1011 | "LICENSE:%s includes obsolete licenses %s" % (package, ' '.join(obsolete)), d) | 1000 | "LICENSE:%s includes obsolete licenses %s" % (package, ' '.join(obsolete)), d) |
1012 | 1001 | ||
1013 | QAPKGTEST[empty-dirs] = "package_qa_check_empty_dirs" | 1002 | QAPKGTEST[empty-dirs] = "package_qa_check_empty_dirs" |
@@ -1152,20 +1141,19 @@ python do_package_qa () { | |||
1152 | def parse_test_matrix(matrix_name): | 1141 | def parse_test_matrix(matrix_name): |
1153 | testmatrix = d.getVarFlags(matrix_name) or {} | 1142 | testmatrix = d.getVarFlags(matrix_name) or {} |
1154 | g = globals() | 1143 | g = globals() |
1155 | warnchecks = [] | 1144 | checks = [] |
1156 | for w in (d.getVar("WARN_QA") or "").split(): | 1145 | for w in (d.getVar("WARN_QA") or "").split(): |
1157 | if w in skip: | 1146 | if w in skip: |
1158 | continue | 1147 | continue |
1159 | if w in testmatrix and testmatrix[w] in g: | 1148 | if w in testmatrix and testmatrix[w] in g: |
1160 | warnchecks.append(g[testmatrix[w]]) | 1149 | checks.append(g[testmatrix[w]]) |
1161 | 1150 | ||
1162 | errorchecks = [] | ||
1163 | for e in (d.getVar("ERROR_QA") or "").split(): | 1151 | for e in (d.getVar("ERROR_QA") or "").split(): |
1164 | if e in skip: | 1152 | if e in skip: |
1165 | continue | 1153 | continue |
1166 | if e in testmatrix and testmatrix[e] in g: | 1154 | if e in testmatrix and testmatrix[e] in g: |
1167 | errorchecks.append(g[testmatrix[e]]) | 1155 | checks.append(g[testmatrix[e]]) |
1168 | return warnchecks, errorchecks | 1156 | return checks |
1169 | 1157 | ||
1170 | for package in packages: | 1158 | for package in packages: |
1171 | skip = set((d.getVar('INSANE_SKIP') or "").split() + | 1159 | skip = set((d.getVar('INSANE_SKIP') or "").split() + |
@@ -1179,20 +1167,19 @@ python do_package_qa () { | |||
1179 | oe.qa.handle_error("pkgname", | 1167 | oe.qa.handle_error("pkgname", |
1180 | "%s doesn't match the [a-z0-9.+-]+ regex" % package, d) | 1168 | "%s doesn't match the [a-z0-9.+-]+ regex" % package, d) |
1181 | 1169 | ||
1182 | warn_checks, error_checks = parse_test_matrix("QAPATHTEST") | 1170 | checks = parse_test_matrix("QAPATHTEST") |
1183 | package_qa_walk(warn_checks, error_checks, package, d) | 1171 | package_qa_walk(checks, package, d) |
1184 | 1172 | ||
1185 | warn_checks, error_checks = parse_test_matrix("QAPKGTEST") | 1173 | checks = parse_test_matrix("QAPKGTEST") |
1186 | for func in warn_checks: | 1174 | for func in checks: |
1187 | func(package, d) | ||
1188 | for func in error_checks: | ||
1189 | func(package, d) | 1175 | func(package, d) |
1190 | 1176 | ||
1191 | package_qa_check_rdepends(package, pkgdest, skip, taskdeps, packages, d) | 1177 | package_qa_check_rdepends(package, pkgdest, skip, taskdeps, packages, d) |
1192 | package_qa_check_deps(package, pkgdest, d) | 1178 | package_qa_check_deps(package, pkgdest, d) |
1193 | 1179 | ||
1194 | warn_checks, error_checks = parse_test_matrix("QARECIPETEST") | 1180 | checks = parse_test_matrix("QARECIPETEST") |
1195 | package_qa_recipe(warn_checks, error_checks, pn, d) | 1181 | for func in checks: |
1182 | func(pn, d) | ||
1196 | 1183 | ||
1197 | if 'libdir' in d.getVar("ALL_QA").split(): | 1184 | if 'libdir' in d.getVar("ALL_QA").split(): |
1198 | package_qa_check_libdir(d) | 1185 | package_qa_check_libdir(d) |