From 39a7be470cc5477a96a4d53194291bf4c7b07185 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Thu, 8 Oct 2009 18:06:59 -0400 Subject: [PATCH] tests: Break out duplicate schema verification functionality. All schema tests have identical functionality, so avoid the duplication. --- tests/Makefile.am | 1 + tests/capabilityschematest | 34 ++++---------------------------- tests/domainschematest | 33 ++++--------------------------- tests/interfaceschematest | 31 +++-------------------------- tests/networkschematest | 30 +++------------------------- tests/nodedevschematest | 31 +++-------------------------- tests/schematestutils.sh | 39 +++++++++++++++++++++++++++++++++++++ tests/storagepoolschematest | 31 +++-------------------------- tests/storagevolschematest | 30 +++------------------------- 9 files changed, 63 insertions(+), 197 deletions(-) create mode 100644 tests/schematestutils.sh diff --git a/tests/Makefile.am b/tests/Makefile.am index 7882e52211..b67df5dc32 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -52,6 +52,7 @@ EXTRA_DIST = \ test-lib.sh \ qemuxml2argvdata \ nodeinfodata \ + schematestutils.sh \ capabilityschematest \ capabilityschemadata \ networkschematest \ diff --git a/tests/capabilityschematest b/tests/capabilityschematest index a166724b71..651e23efe6 100755 --- a/tests/capabilityschematest +++ b/tests/capabilityschematest @@ -1,34 +1,8 @@ #!/bin/sh -test -z "$srcdir" && srcdir=`pwd` -test -z "$abs_srcdir" && abs_srcdir=`pwd` +source ./schematestutils.sh -DOMAINDIRS="capabilityschemadata xencapsdata" +DIRS="capabilityschemadata xencapsdata" +SCHEMA="capability.rng" - -n=0 -f=0 -for dir in $DOMAINDIRS -do - XML=`find $abs_srcdir/$dir -name '*.xml'` || exit 1 - - for xml in $XML - do - n=`expr $n + 1` - printf "%4d) %.60s " $n $(basename $(dirname $xml))"/"$(basename $xml) - result=`xmllint --relaxng $srcdir/../docs/schemas/capability.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 +check_schema "$DIRS" "$SCHEMA" diff --git a/tests/domainschematest b/tests/domainschematest index 0a7d4a1860..bd58a30437 100755 --- a/tests/domainschematest +++ b/tests/domainschematest @@ -1,33 +1,8 @@ #!/bin/sh -test -z "$srcdir" && srcdir=`pwd` -test -z "$abs_srcdir" && abs_srcdir=`pwd` +source ./schematestutils.sh -DOMAINDIRS="domainschemadata qemuxml2argvdata sexpr2xmldata xmconfigdata xml2sexprdata" +DIRS="domainschemadata qemuxml2argvdata sexpr2xmldata xmconfigdata xml2sexprdata" +SCHEMA="domain.rng" -n=0 -f=0 -for dir in $DOMAINDIRS -do - XML=`find $abs_srcdir/$dir -name '*.xml'` || exit 1 - - for xml in $XML - do - n=`expr $n + 1` - printf "%4d) %.60s " $n $(basename $(dirname $xml))"/"$(basename $xml) - result=`xmllint --relaxng $srcdir/../docs/schemas/domain.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 +check_schema "$DIRS" "$SCHEMA" diff --git a/tests/interfaceschematest b/tests/interfaceschematest index 3e4105c008..e7bd4e51da 100755 --- a/tests/interfaceschematest +++ b/tests/interfaceschematest @@ -1,33 +1,8 @@ #!/bin/sh -test -z "$srcdir" && srcdir=`pwd` -test -z "$abs_srcdir" && abs_srcdir=`pwd` +source ./schematestutils.sh DIRS="interfaceschemadata" +SCHEMA="interface.rng" -n=0 -f=0 -for dir in $DIRS -do - XML=`find $abs_srcdir/$dir -name '*.xml'` || exit 1 - - for xml in $XML - do - n=`expr $n + 1` - printf "%4d) %.60s " $n $(basename $(dirname $xml))"/"$(basename $xml) - result=`xmllint --relaxng $srcdir/../docs/schemas/interface.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 +check_schema "$DIRS" "$SCHEMA" diff --git a/tests/networkschematest b/tests/networkschematest index 3fc0f272af..8bb24cd091 100755 --- a/tests/networkschematest +++ b/tests/networkschematest @@ -1,33 +1,9 @@ #!/bin/sh -test -z "$srcdir" && srcdir=`pwd` -test -z "$abs_srcdir" && abs_srcdir=`pwd` +source ./schematestutils.sh DIRS="../src/network networkschemadata" +SCHEMA="network.rng" -n=0 -f=0 -for dir in $DIRS -do - XML=`find $abs_srcdir/$dir -name '*.xml'` || exit 1 +check_schema "$DIRS" "$SCHEMA" - for xml in $XML - do - n=`expr $n + 1` - printf "%4d) %.60s " $n $(basename $(dirname $xml))"/"$(basename $xml) - result=`xmllint --relaxng $srcdir/../docs/schemas/network.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 diff --git a/tests/nodedevschematest b/tests/nodedevschematest index 23e9e57071..e676660c58 100755 --- a/tests/nodedevschematest +++ b/tests/nodedevschematest @@ -1,33 +1,8 @@ #!/bin/sh -test -z "$srcdir" && srcdir=`pwd` -test -z "$abs_srcdir" && abs_srcdir=`pwd` +source ./schematestutils.sh DIRS="nodedevschemadata" +SCHEMA="nodedev.rng" -n=0 -f=0 -for dir in $DIRS -do - XML=`find $abs_srcdir/$dir -name '*.xml'` || exit 1 - - for xml in $XML - do - n=`expr $n + 1` - printf "%4d) %.60s " $n $(basename $(dirname $xml))"/"$(basename $xml) - result=`xmllint --relaxng $srcdir/../docs/schemas/nodedev.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 +check_schema "$DIRS" "$SCHEMA" diff --git a/tests/schematestutils.sh b/tests/schematestutils.sh new file mode 100644 index 0000000000..4b5f26658b --- /dev/null +++ b/tests/schematestutils.sh @@ -0,0 +1,39 @@ +#!/bin/sh + +test -z "$srcdir" && srcdir=`pwd` +test -z "$abs_srcdir" && abs_srcdir=`pwd` + +function check_schema { + +DIRS=$1 +SCHEMA="$srcdir/../docs/schemas/$2" + +n=0 +f=0 +for dir in $DIRS +do + XML=`find $abs_srcdir/$dir -name '*.xml'` || exit 1 + + for xml in $XML + do + n=`expr $n + 1` + printf "%4d) %.60s " $n $(basename $(dirname $xml))"/"$(basename $xml) + cmd="xmllint --relaxng $SCHEMA --noout $xml" + result=`$cmd 2>&1` + ret=$? + if test $ret = 0; then + echo "OK" + else + echo "FAILED" + echo -e "$cmd\n$result" + f=`expr $f + 1` + fi + done +done +echo "Validated $n files, $f failed" + +ret=0 +test $f != 0 && ret=255 +exit $ret + +} diff --git a/tests/storagepoolschematest b/tests/storagepoolschematest index f6a973dae2..d04b83b96d 100755 --- a/tests/storagepoolschematest +++ b/tests/storagepoolschematest @@ -1,33 +1,8 @@ #!/bin/sh -test -z "$srcdir" && srcdir=`pwd` -test -z "$abs_srcdir" && abs_srcdir=`pwd` +source ./schematestutils.sh DIRS="storagepoolschemadata" +SCHEMA="storagepool.rng" -n=0 -f=0 -for dir in $DIRS -do - XML=`find $abs_srcdir/$dir -name '*.xml'` || exit 1 - - for xml in $XML - do - n=`expr $n + 1` - printf "%4d) %.60s " $n $(basename $(dirname $xml))"/"$(basename $xml) - result=`xmllint --relaxng $srcdir/../docs/schemas/storagepool.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 +check_schema "$DIRS" "$SCHEMA" diff --git a/tests/storagevolschematest b/tests/storagevolschematest index 7865102a13..8b5559aaec 100755 --- a/tests/storagevolschematest +++ b/tests/storagevolschematest @@ -1,33 +1,9 @@ #!/bin/sh -test -z "$srcdir" && srcdir=`pwd` -test -z "$abs_srcdir" && abs_srcdir=`pwd` +source ./schematestutils.sh DIRS="storagevolschemadata" +SCHEMA="storagevol.rng" -n=0 -f=0 -for dir in $DIRS -do - XML=`find $abs_srcdir/$dir -name '*.xml'` || exit 1 +check_schema "$DIRS" "$SCHEMA" - for xml in $XML - do - n=`expr $n + 1` - printf "%4d) %.60s " $n $(basename $(dirname $xml))"/"$(basename $xml) - result=`xmllint --relaxng $srcdir/../docs/schemas/storagevol.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