]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Added test to validate all domain XML files against schema
authorDaniel P. Berrange <berrange@redhat.com>
Fri, 1 Aug 2008 10:53:41 +0000 (10:53 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Fri, 1 Aug 2008 10:53:41 +0000 (10:53 +0000)
ChangeLog
docs/libvirt.rng
tests/Makefile.am
tests/domainschematest [new file with mode: 0644]

index 9c73ea799c5ddd0d00eb8e69b2a98d58dbd68939..771a17233f2ac1304032bb0ce52789c329d87a91 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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.
index 9a0e24f3afa91ef2fbd0ae671fbcbe33d453ef03..045a9c2b7f6fc868ecd6627ef3c6b07aaa321de0 100644 (file)
       </attribute>
       <attribute name='machine'>
        <choice>
+         <value>xenfv</value>
          <value>pc</value>
          <value>isapc</value>
        </choice>
index 11cf3be900c6166b6f3cb67477c17d7400feff48..02b7970f9c849ef682ed732ef40a49441b594da3 100644 (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 \
diff --git a/tests/domainschematest b/tests/domainschematest
new file mode 100644 (file)
index 0000000..3924400
--- /dev/null
@@ -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