From 1b554381d19d97e3c4d094374aba6001abd777f6 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Fri, 1 Aug 2008 10:53:41 +0000 Subject: [PATCH] Added test to validate all domain XML files against schema --- ChangeLog | 7 +++++++ docs/libvirt.rng | 1 + tests/Makefile.am | 5 +++-- tests/domainschematest | 32 ++++++++++++++++++++++++++++++++ 4 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 tests/domainschematest diff --git a/ChangeLog b/ChangeLog index 9c73ea799c..771a17233f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Fri Aug 1 11:50:00 BST 2008 Daniel P. Berrange + + * 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 Improve error messages when XML is not well-formed. diff --git a/docs/libvirt.rng b/docs/libvirt.rng index 9a0e24f3af..045a9c2b7f 100644 --- a/docs/libvirt.rng +++ b/docs/libvirt.rng @@ -141,6 +141,7 @@ + xenfv pc isapc diff --git a/tests/Makefile.am b/tests/Makefile.am index 11cf3be900..02b7970f9c 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -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 index 0000000000..39244008ca --- /dev/null +++ b/tests/domainschematest @@ -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 -- GitLab