libvirt/tests/schematestutils.sh
Jim Meyering ca7db6cb80 tests: shell script portability and clean-up
* tests/test-lib.sh: "echo -n" is not portable.  Use printf instead.
Remove unnecessary uses of "eval-in-subshell" (subshell is sufficient).
Remove uses of tests' -a operator; it is not portable.
Instead, use "test cond && test cond2".
* tests/schematestutils.sh: Replace use of test's -a.
2010-03-24 09:23:01 +01:00

40 lines
612 B
Bash

#!/bin/sh
check_schema () {
DIRS=$1
SCHEMA="$abs_srcdir/../docs/schemas/$2"
test_intro $this_test
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`
cmd="xmllint --relaxng $SCHEMA --noout $xml"
result=`$cmd 2>&1`
ret=$?
test_result $n $(basename $(dirname $xml))"/"$(basename $xml) $ret
if test "$verbose" = "1" && test $ret != 0 ; then
echo -e "$cmd\n$result"
fi
if test "$ret" != 0 ; then
f=`expr $f + 1`
fi
done
done
test_final $n $f
ret=0
test $f != 0 && ret=255
exit $ret
}