Huge commit: 1.5.0, XML validation, Xpath, bugfixes, examples .... Daniel
diff --git a/Makefile.am b/Makefile.am
index 08247e2..2b56ddd 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -44,7 +44,7 @@
valid.h
DEPS = $(top_builddir)/libxml.la
-LDADDS = $(top_builddir)/libxml.la @Z_LIBS@
+LDADDS = $(top_builddir)/libxml.la @Z_LIBS@ @M_LIBS@
tester_SOURCES=tester.c
tester_LDFLAGS =
@@ -68,108 +68,167 @@
check-local: tests
-testall : tests SVGtests SAXtests XPathtests
+testall : tests SVGtests SAXtests XPathtests XMLenttests
-tests: HTMLtests XMLtests
+tests: XMLtests HTMLtests Validtests
+
HTMLtests : testHTML
- @(DIR=`pwd`; cd $(srcdir) ; \
- for i in test/HTML/* ; do \
+ @echo "##"
+ @echo "## HTML regression tests"
+ @echo "##"
+ @(for i in $(srcdir)/test/HTML/* ; do \
+ name=`basename $$i`; \
if [ ! -d $$i ] ; then \
- if [ ! -f result/HTML/`basename $$i` ] ; then \
- echo New test file `basename $$i` ; \
- $$DIR/testHTML $$i > result/HTML/`basename $$i` ; \
+ if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
+ echo New test file $$name ; \
+ testHTML $$i > $(srcdir)/result/HTML/$$name ; \
else \
- echo Testing `basename $$i` ; \
- $$DIR/testHTML $$i > result.`basename $$i` ; \
- diff result/HTML/`basename $$i` result.`basename $$i` ; \
- $$DIR/testHTML result.`basename $$i` > result2.`basename $$i` ; \
- diff result.`basename $$i` result2.`basename $$i` ; \
- rm result.`basename $$i` result2.`basename $$i` ; \
+ echo Testing $$name ; \
+ testHTML $$i > result.$$name ; \
+ diff $(srcdir)/result/HTML/$$name result.$$name ; \
+ testHTML result.$$name > result2.$$name ; \
+ diff result.$$name result2.$$name ; \
+ rm result.$$name result2.$$name ; \
fi ; fi ; done)
XMLtests : tester
- @(DIR=`pwd`; cd $(srcdir) ; \
- for i in test/* ; do \
+ @echo "##"
+ @echo "## XML regression tests"
+ @echo "##"
+ @(for i in $(srcdir)/test/* ; do \
+ name=`basename $$i`; \
if [ ! -d $$i ] ; then \
- if [ ! -f result/`basename $$i` ] ; then \
- echo New test file `basename $$i` ; \
- $$DIR/tester $$i > result/`basename $$i` ; \
+ if [ ! -f $(srcdir)/result/$$name ] ; then \
+ echo New test file $$name ; \
+ tester $$i > $(srcdir)/result/$$name ; \
else \
- echo Testing `basename $$i` ; \
- $$DIR/tester $$i > result.`basename $$i` ; \
- diff result/`basename $$i` result.`basename $$i` ; \
- $$DIR/tester result.`basename $$i` > result2.`basename $$i` ; \
- diff result.`basename $$i` result2.`basename $$i` ; \
- rm result.`basename $$i` result2.`basename $$i` ; \
+ echo Testing $$name ; \
+ tester $$i > result.$$name ; \
+ diff $(srcdir)/result/$$name result.$$name ; \
+ tester result.$$name > result2.$$name ; \
+ diff result.$$name result2.$$name ; \
+ rm result.$$name result2.$$name ; \
fi ; fi ; done)
-SVGtests : tester
- @(DIR=`pwd`; cd $(srcdir) ; \
- for i in test/SVG/* ; do \
+XMLenttests : tester
+ @echo "##"
+ @echo "## XML entity subst regression tests"
+ @echo "##"
+ @(for i in $(srcdir)/test/* ; do \
+ name=`basename $$i`; \
if [ ! -d $$i ] ; then \
- if [ ! -f result/SVG/`basename $$i` ] ; then \
- echo New test file `basename $$i` ; \
- $$DIR/tester $$i > result/SVG/`basename $$i` ; \
+ if [ ! -f $(srcdir)/result/noent/$$name ] ; then \
+ echo New test file $$name ; \
+ tester --noent $$i > $(srcdir)/result/noent/$$name ; \
else \
- echo Testing `basename $$i` ; \
- $$DIR/tester $$i > result.`basename $$i` ; \
- diff result/SVG/`basename $$i` result.`basename $$i` ; \
- $$DIR/tester result.`basename $$i` > result2.`basename $$i` ; \
- diff result.`basename $$i` result2.`basename $$i` ; \
- rm result.`basename $$i` result2.`basename $$i` ; \
+ echo Testing $$name ; \
+ tester --noent $$i > result.$$name ; \
+ diff $(srcdir)/result/noent/$$name result.$$name ; \
+ tester --noent result.$$name > result2.$$name ; \
+ diff result.$$name result2.$$name ; \
+ rm result.$$name result2.$$name ; \
fi ; fi ; done)
XPathtests : testXPath
- @(DIR=`pwd`; cd $(srcdir) ; \
- for i in test/XPath/expr/* ; do \
- if [ ! -d $$i ] ; then \
- if [ ! -f result/XPath/expr/`basename $$i` ] ; then \
- echo New test file `basename $$i` ; \
- $$DIR/testXPath -f --expr $$i > result/XPath/expr/`basename $$i` ; \
- else \
- echo Testing `basename $$i` ; \
- $$DIR/testXPath -f --expr $$i > result.`basename $$i` ; \
- diff result/XPath/expr/`basename $$i` result.`basename $$i` ; \
- rm result.`basename $$i` ; \
- fi ; fi ; done)
- @(DIR=`pwd`; cd $(srcdir) ; \
- for i in test/XPath/docs/* ; do \
- if [ ! -d $$i ] ; then \
+ @echo "##"
+ @echo "## XPath regression tests"
+ @echo "##"
+ @(for i in $(srcdir)/test/XPath/expr/* ; do \
name=`basename $$i`; \
- for j in test/XPath/tests/$$name* ; do \
- if [ ! -d $$j ] ; then \
- if [ ! -f result/XPath/tests/`basename $$j` ] ; then \
- echo New test file `basename $$i` ; \
- $$DIR/testXPath -f -i $$i $$j > result/XPath/tests/`basename $$j` ; \
+ if [ ! -d $$i ] ; then \
+ if [ ! -f $(srcdir)/result/XPath/expr/$$name ] ; then \
+ echo New test file $$name ; \
+ testXPath -f --expr $$i > $(srcdir)/result/XPath/expr/$$name ; \
else \
- echo Testing `basename $$j` ; \
- $$DIR/testXPath -f -i $$i $$j > result.`basename $$j` ; \
- diff result/XPath/tests/`basename $$j` result.`basename $$j` ; \
- rm result.`basename $$j` ; \
+ echo Testing $$name ; \
+ testXPath -f --expr $$i > result.$$name ; \
+ diff $(srcdir)/result/XPath/expr/$$name result.$$name ; \
+ rm result.$$name ; \
+ fi ; fi ; done)
+ @(for i in $(srcdir)/test/XPath/docs/* ; do \
+ if [ ! -d $$i ] ; then \
+ doc=`basename $$i`; \
+ for j in $(srcdir)/test/XPath/tests/$$doc* ; do \
+ name=`basename $$j`; \
+ if [ ! -d $$j ] ; then \
+ if [ ! -f $(srcdir)/result/XPath/tests/$$name ] ; then \
+ echo New test file $$name ; \
+ testXPath -f -i $$i $$j > $(srcdir)/result/XPath/tests/$$name ; \
+ else \
+ echo Testing $$name ; \
+ testXPath -f -i $$i $$j > result.$$name ; \
+ diff $(srcdir)/result/XPath/tests/$$name result.$$name ; \
+ rm result.$$name ; \
fi ; fi ; done ; fi ; done)
-SAXtests : testSAX
- @(DIR=`pwd`; cd $(srcdir) ; \
- for i in test/* ; do \
+SVGtests : tester
+ @echo "##"
+ @echo "## SVG parsing regression tests"
+ @echo "##"
+ @(for i in $(srcdir)/test/SVG/* ; do \
+ name=`basename $$i`; \
if [ ! -d $$i ] ; then \
- if [ ! -f SAXresult/`basename $$i` ] ; then \
- echo New test file `basename $$i` ; \
- $$DIR/testSAX $$i > SAXresult/`basename $$i` ; \
+ if [ ! -f $(srcdir)/result/SVG/$$name ] ; then \
+ echo New test file $$name ; \
+ tester $$i > $(srcdir)/result/SVG/$$name ; \
else \
- echo Testing `basename $$i` ; \
- $$DIR/testSAX $$i > result.`basename $$i` ; \
- diff SAXresult/`basename $$i` result.`basename $$i` ; \
- rm result.`basename $$i` ; \
+ echo Testing $$name ; \
+ tester $$i > result.$$name ; \
+ diff $(srcdir)/result/SVG/$$name result.$$name ; \
+ tester result.$$name > result2.$$name ; \
+ diff result.$$name result2.$$name ; \
+ rm result.$$name result2.$$name ; \
fi ; fi ; done)
-## Put `exec' in the name because this should be installed by
-## `install-exec', not `install-data'.
+SAXtests : testSAX
+ @echo "##"
+ @echo "## SAX callbacks regression tests"
+ @echo "##"
+ @(for i in $(srcdir)/test/* ; do \
+ name=`basename $$i`; \
+ if [ ! -d $$i ] ; then \
+ if [ ! -f $(srcdir)/SAXresult/$$name ] ; then \
+ echo New test file $$name ; \
+ testSAX $$i > $(srcdir)/SAXresult/$$name ; \
+ else \
+ echo Testing $$name ; \
+ testSAX $$i > result.$$name ; \
+ diff $(srcdir)/SAXresult/$$name result.$$name ; \
+ rm result.$$name ; \
+ fi ; fi ; done)
-confexecdir=$(libdir)
-confexec_DATA = xmlConf.sh
-EXTRA_DIST = xmlConf.sh.in libxml.spec.in test result SAXresult example/Makefile.am \
- example/gjobread.c example/gjobs.xml
+Validtests : tester
+ @echo "##"
+ @echo "## Validity checking regression tests"
+ @echo "##"
+ @(for i in $(srcdir)/test/VC/* ; do \
+ name=`basename $$i`; \
+ if [ ! -d $$i ] ; then \
+ if [ ! -f $(srcdir)/result/VC/$$name ] ; then \
+ echo New test file $$name ; \
+ tester --noout --valid $$i 2> $(srcdir)/result/VC/$$name ; \
+ else \
+ echo Testing $$name ; \
+ tester --noout --valid $$i 2> result.$$name ; \
+ diff $(srcdir)/result/VC/$$name result.$$name ; \
+ rm result.$$name ; \
+ fi ; fi ; done)
+ @echo "##"
+ @echo "## Valid documents regression tests"
+ @echo "##"
+ @(for i in $(srcdir)/test/valid/* ; do \
+ name=`basename $$i`; \
+ if [ ! -d $$i ] ; then \
+ if [ ! -f $(srcdir)/result/valid/$$name ] ; then \
+ echo New test file $$name ; \
+ tester --valid $$i > $(srcdir)/result/valid/$$name ; \
+ else \
+ echo Testing $$name ; \
+ tester --valid $$i > result.$$name ; \
+ diff $(srcdir)/result/valid/$$name result.$$name ; \
+ rm result.$$name ; \
+ fi ; fi ; done)
dist-hook:
cp libxml.spec $(distdir)