1 |
commit: 621a6852099848474ed2c0880eae52ebd85f1703 |
2 |
Author: Brian Dolbec <dolsen <AT> gentoo <DOT> org> |
3 |
AuthorDate: Tue May 3 17:38:19 2016 +0000 |
4 |
Commit: Brian Dolbec <dolsen <AT> gentoo <DOT> org> |
5 |
CommitDate: Tue May 3 17:38:19 2016 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=621a6852 |
7 |
|
8 |
repoman/modules/.../pkgmetadata.py: Improve whole document validation |
9 |
|
10 |
Change to using assertValid() and add the error causing validation to fail to the qa tracker |
11 |
error. |
12 |
|
13 |
pym/repoman/modules/scan/metadata/pkgmetadata.py | 10 ++++++++-- |
14 |
1 file changed, 8 insertions(+), 2 deletions(-) |
15 |
|
16 |
diff --git a/pym/repoman/modules/scan/metadata/pkgmetadata.py b/pym/repoman/modules/scan/metadata/pkgmetadata.py |
17 |
index b231370..7390b5b 100644 |
18 |
--- a/pym/repoman/modules/scan/metadata/pkgmetadata.py |
19 |
+++ b/pym/repoman/modules/scan/metadata/pkgmetadata.py |
20 |
@@ -202,8 +202,14 @@ class PkgMetadata(ScanBase, USEFlagChecks): |
21 |
# Only carry out if in package directory or check forced |
22 |
if not metadata_bad: |
23 |
validator = etree.XMLSchema(file=self.metadata_xsd) |
24 |
- if not validator.validate(_metadata_xml): |
25 |
- self.qatracker.add_error("metadata.bad", xpkg + "/metadata.xml") |
26 |
+ try: |
27 |
+ validator.assertValid(_metadata_xml) |
28 |
+ except etree.DocumentInvalid as error: |
29 |
+ self.qatracker.add_error( |
30 |
+ "metadata.bad", |
31 |
+ xpkg + "/metadata.xml: %s" |
32 |
+ % (str(error)) |
33 |
+ ) |
34 |
del metadata_bad |
35 |
self.muselist = frozenset(self.musedict) |
36 |
return False |