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(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/