
On Thu, Mar 31, 2011 at 11:15:34AM -0600, Eric Blake wrote:
On 03/31/2011 07:58 AM, Daniel P. Berrange wrote:
- We run xmllint, but failures in xmllint validation are not causing a build failure
We already have code in place to call 'exit 1' on xmllint failure (but not in all places). However, in my testing, it was xsltproc that is not throwing an error:
$ /usr/bin/xsltproc --stringparam pagename $name --nonet --html ../docs/site.xsl formatdomain.html.in > formatdomain.html.tmp formatdomain.html.in:356: HTML parser error : Unexpected end tag : vcpu required attributes, the attribute <code>vcpu</vcpu> specifies vcpu id, ^ $ echo $? 0
it's because we are using --html, instructing libxml2 underneath to use teh HTML parser to load the .html.in . And the HTML parser is just reporting errors, not failing on them (as 99% of the HTML around is just buggy).
That looks like a bug in xsltproc (here from Fedora libxslt-1.1.26-3.fc14.x86_64), since the man page states that $? should be 6 when there is an error in the document.
Well except for HTML input, remove the --html and see, maybe we could do that in the Makefile and insist on the .html.in being well formed in the first place.
I can work around it by sniffing for non-empty stderr; that will look yucky in the makefile, but is probably worth doing.
Doesn't sound that great honnestly, try dropping --html instead and see how it goes Daniel -- Daniel Veillard | libxml Gnome XML XSLT toolkit http://xmlsoft.org/ daniel@veillard.com | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/