diff --git a/expat/Makefile.in b/expat/Makefile.in index 22749266..0b256127 100644 --- a/expat/Makefile.in +++ b/expat/Makefile.in @@ -150,6 +150,15 @@ tests/runtests.o: tests/runtests.c tests/chardata.h tests/runtests: tests/runtests.o tests/chardata.o lib/$(LIBRARY) $(LINK_EXE) $^ -lcheck +tests/xmltest.zip: + cd tests && wget ftp://ftp.jclark.com/pub/xml/xmltest.zip + +tests/xmltest: tests/xmltest.zip + cd tests && unzip -q xmltest.zip + +run-xmltest: xmlwf/xmlwf tests/xmltest + tests/xmltest.sh + .SUFFIXES: .c .lo .o .c.o: diff --git a/expat/tests/.gitignore b/expat/tests/.gitignore index 337b6517..d0a3c96f 100644 --- a/expat/tests/.gitignore +++ b/expat/tests/.gitignore @@ -1,3 +1,5 @@ Makefile runtests +xmltest +xmltest.zip .libs diff --git a/expat/tests/xmltest.sh b/expat/tests/xmltest.sh new file mode 100755 index 00000000..4be5a655 --- /dev/null +++ b/expat/tests/xmltest.sh @@ -0,0 +1,48 @@ +#! /bin/sh + +VERBOSE='' + +if [ "$1" = '-v' -o "$1" = '--verbose' ] ; then + VERBOSE="$1" + shift +fi + +if [ ! "$1" = '' ] ; then + ERRORS=0 + if [ "$VERBOSE" ] ; then + OUTPUT="/tmp/$$.out" + else + OUTPUT="/dev/null" + fi + while [ "$1" ] ; do + FILE="`basename \"$1\"`" + DIR="`dirname \"$1\"`" + DIR="`dirname \"$DIR\"`" + ../xmlwf/xmlwf -d /tmp "$DIR/$FILE" + diff -u "$DIR/out/$FILE" "/tmp/$FILE" >$OUTPUT + ERR=$? + rm "/tmp/$FILE" + if [ ! "$ERR" = 0 ] ; then + ERRORS=`expr $ERRORS + 1` + echo "$DIR/$FILE ... Error" + cat $OUTPUT + elif [ "$VERBOSE" ] ; then + echo "$DIR/$FILE ... Ok" + fi + shift + done + if [ "$VERBOSE" ] ; then + rm $OUTPUT + fi + if [ ! "$ERRORS" = '0' ] ; then + echo " Errors: $ERRORS" + exit 1 + fi +else + SCRIPTDIR="`dirname \"$0\"`" + cd "$SCRIPTDIR" + find xmltest -name \*.xml | grep /out/ | xargs ./xmltest.sh $VERBOSE + if [ ! "$?" = "0" ] ; then + exit 1 + fi +fi