Added test to validate all domain XML files against schema

This commit is contained in:
Daniel P. Berrange 2008-08-01 10:53:41 +00:00
parent cf11bb2249
commit 1b554381d1
4 changed files with 43 additions and 2 deletions

View File

@ -1,3 +1,10 @@
Fri Aug 1 11:50:00 BST 2008 Daniel P. Berrange <berrange@redhat.com>
* docs/libvirt.rng: Add missing xenfv machine type
* tests/Makefile.am, tests/domainschematest: Added test
case to validate all domain XML files in tests/ directory
against RNG schema
Fri Aug 1 10:38:00 BST 2008 Richard W.M. Jones <rjones@redhat.com>
Improve error messages when XML is not well-formed.

View File

@ -141,6 +141,7 @@
</attribute>
<attribute name='machine'>
<choice>
<value>xenfv</value>
<value>pc</value>
<value>isapc</value>
</choice>

View File

@ -37,13 +37,14 @@ EXTRA_DIST = \
test-lib.sh \
xmlrpcserver.py \
qemuxml2argvdata \
nodeinfodata
nodeinfodata \
domainschematest
noinst_PROGRAMS = xmlrpctest xml2sexprtest sexpr2xmltest virshtest conftest \
reconnect xmconfigtest xencapstest qemuxml2argvtest qemuxml2xmltest \
nodeinfotest statstest qparamtest
test_scripts =
test_scripts = domainschematest
if WITH_LIBVIRTD
test_scripts += \
test_conf.sh \

32
tests/domainschematest Normal file
View File

@ -0,0 +1,32 @@
#!/bin/sh
test -z "$srcdir" && srcdir=`pwd`
DOMAINDIRS="qemuxml2argvdata sexpr2xmldata xmconfigdata xml2sexprdata"
n=0
f=0
for dir in $DOMAINDIRS
do
XML=`find $dir -name '*.xml'`
for xml in $XML
do
n=`expr $n + 1`
printf "%4d) %-60s " $n $xml
result=`xmllint --relaxng $srcdir/../docs/libvirt.rng --noout $xml 2>&1`
ret=$?
if test $ret = 0; then
echo "OK"
else
echo "FAILED"
echo $result
f=`expr $f + 1`
fi
done
done
echo "Validated $n files, $f failed"
ret=0
test $f != 0 && ret=255
exit $ret