Imported Upstream version 2.9.5_rc1
[platform/upstream/libxml2.git] / Makefile.am
index 9f988b0..748dfc2 100644 (file)
@@ -10,10 +10,10 @@ AM_CPPFLAGS = -I$(top_builddir)/include -I$(srcdir)/include
 
 AM_CFLAGS = $(THREAD_CFLAGS) $(Z_CFLAGS) $(LZMA_CFLAGS)
 
-noinst_PROGRAMS=testSchemas testRelax testSAX testHTML testXPath testURI \
-                testThreads testC14N testAutomata testRegexp \
-                testReader testapi testModule runtest runsuite testchar \
-               testdict runxmlconf testrecurse testlimits
+check_PROGRAMS=testSchemas testRelax testSAX testHTML testXPath testURI \
+               testThreads testC14N testAutomata testRegexp \
+               testReader testapi testModule runtest runsuite testchar \
+              testdict runxmlconf testrecurse testlimits
 
 bin_PROGRAMS = xmllint xmlcatalog
 
@@ -202,10 +202,16 @@ runxmlconf_LDADD= $(LDADDS)
 #testOOM_DEPENDENCIES = $(DEPS)
 #testOOM_LDADD= $(LDADDS)
 
-runtests:
+runtests: runtest$(EXEEXT) testrecurse$(EXEEXT) testapi$(EXEEXT) \
+          testchar$(EXEEXT) testdict$(EXEEXT) runxmlconf$(EXEEXT)
        [ -d test   ] || $(LN_S) $(srcdir)/test   .
        [ -d result ] || $(LN_S) $(srcdir)/result .
-       $(CHECKER) ./runtest$(EXEEXT) && $(CHECKER) ./testrecurse$(EXEEXT) &&$(CHECKER) ./testapi$(EXEEXT) && $(CHECKER) ./testchar$(EXEEXT)&& $(CHECKER) ./testdict$(EXEEXT) && $(CHECKER) ./runxmlconf$(EXEEXT)
+       $(CHECKER) ./runtest$(EXEEXT) && \
+           $(CHECKER) ./testrecurse$(EXEEXT) && \
+           ASAN_OPTIONS="$$ASAN_OPTIONS:detect_leaks=0" $(CHECKER) ./testapi$(EXEEXT) && \
+           $(CHECKER) ./testchar$(EXEEXT) && \
+           $(CHECKER) ./testdict$(EXEEXT) && \
+           $(CHECKER) ./runxmlconf$(EXEEXT)
        @(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \
            $(MAKE) tests ; fi)
 
@@ -224,12 +230,12 @@ testall : tests SVGtests SAXtests
 
 tests: XMLtests XMLenttests NStests IDtests Errtests APItests $(READER_TEST) $(TEST_SAX) $(TEST_PUSH) $(TEST_HTML) $(TEST_PHTML) $(TEST_VALID) URItests $(TEST_PATTERN) $(TEST_XPATH) $(TEST_XPTR) $(TEST_XINCLUDE) $(TEST_C14N) $(TEST_DEBUG) $(TEST_CATALOG) $(TEST_REGEXPS) $(TEST_SCHEMAS) $(TEST_SCHEMATRON) $(TEST_THREADS) Timingtests $(TEST_VTIME) $(PYTHON_TESTS) $(TEST_MODULES)
        @(if [ "$(PYTHON_SUBDIR)" != "" ] ; then cd python ; \
-           $(MAKE) tests ; fi)
-       @(cd doc/examples ; $(MAKE) tests)
+           $(MAKE) -s tests ; fi)
+       @(cd doc/examples ; $(MAKE) -s tests)
 
 APItests: testapi$(EXEEXT)
        @echo "## Running the API regression tests this may take a little while"
-       -@($(CHECKER) $(top_builddir)/testapi -q)
+       -@(ASAN_OPTIONS="$$ASAN_OPTIONS:detect_leaks=0" $(CHECKER) $(top_builddir)/testapi -q)
 
 HTMLtests : testHTML$(EXEEXT)
        @(echo > .memdump)
@@ -247,7 +253,7 @@ HTMLtests : testHTML$(EXEEXT)
              diff -b $(srcdir)/result/HTML/$$name.err error.$$name ; \
              $(CHECKER) $(top_builddir)/testHTML result.$$name > result2.$$name 2>error.$$name ; \
              diff result.$$name result2.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name result2.$$name error.$$name ; \
          fi ; fi ; done)
 
@@ -268,7 +274,7 @@ HTMLPushtests : testHTML$(EXEEXT)
              diff -b errorcut.$$name errorcut2.$$name ; \
              $(CHECKER) $(top_builddir)/testHTML --push result.$$name > result2.$$name 2>error.$$name ; \
              diff result.$$name result2.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name result2.$$name error.$$name errorcut.$$name errorcut2.$$name ; \
          fi ; fi ; done)
        @echo "## HTML SAX regression tests"
@@ -282,7 +288,7 @@ HTMLPushtests : testHTML$(EXEEXT)
              log=`$(CHECKER) $(top_builddir)/testHTML --sax $$i > result.$$name.sax ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name.sax ; \
          fi ; fi ; done)
        @echo "## Push HTML SAX regression tests"
@@ -296,7 +302,7 @@ HTMLPushtests : testHTML$(EXEEXT)
              log=`$(CHECKER) $(top_builddir)/testHTML --push --sax $$i 2>&1 > result.$$name.sax ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name.sax ; \
          fi ; fi ; done)
 
@@ -317,7 +323,7 @@ XMLtests : xmllint$(EXEEXT)
              $(CHECKER) $(top_builddir)/xmllint result.$$name 2>&1 > result2.$$name | grep -v 'failed to load external entity' ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
              diff result.$$name result2.$$name` ;\
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name result2.$$name ; \
          fi ; fi ; done)
        @echo "## XML regression tests on memory"
@@ -334,7 +340,7 @@ XMLtests : xmllint$(EXEEXT)
              diff $(srcdir)/result/$$name result.$$name ; \
              $(CHECKER) $(top_builddir)/xmllint --memory result.$$name 2>&1 > result2.$$name | grep -v 'failed to load external entity' ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"`; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              diff result.$$name result2.$$name ; \
              rm result.$$name result2.$$name ; \
          fi ; fi ; done)
@@ -356,7 +362,7 @@ XMLPushtests: xmllint$(EXEEXT)
              $(CHECKER) $(top_builddir)/xmllint --push result.$$name 2>&1 > result2.$$name | grep -v 'failed to load external entity' ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
              diff result.$$name result2.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name result2.$$name ; \
          fi ; fi ; done)
 
@@ -377,7 +383,7 @@ NStests : xmllint$(EXEEXT)
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
              diff $(srcdir)/result/namespaces/$$name result.$$name ; \
              diff $(srcdir)/result/namespaces/$$name.err error.$$name`; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name error.$$name ; \
          fi ; fi ; done)
 
@@ -398,7 +404,7 @@ IDtests : xmllint$(EXEEXT) testXPath$(EXEEXT)
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
              diff $(srcdir)/result/xmlid/$$name result.$$name ; \
              diff $(srcdir)/result/xmlid/$$name.err error.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name error.$$name ; \
          fi ; fi ; done)
 
@@ -419,7 +425,25 @@ Errtests : xmllint$(EXEEXT)
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
              diff $(srcdir)/result/errors/$$name result.$$name ; \
              diff $(srcdir)/result/errors/$$name.err error.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
+             rm result.$$name error.$$name ; \
+         fi ; fi ; done)
+       @echo "## Error cases regression tests (old 1.0)"
+       -@(for i in $(srcdir)/test/errors10/*.xml ; do \
+         name=`basename $$i`; \
+         if [ ! -d $$i ] ; then \
+         if [ ! -f $(srcdir)/result/errors10/$$name ] ; then \
+             echo New test file $$name ; \
+             $(CHECKER) $(top_builddir)/xmllint --oldxml10 $$i \
+                2> $(srcdir)/result/errors10/$$name.err \
+                > $(srcdir)/result/errors10/$$name ; \
+             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
+         else \
+             log=`$(CHECKER) $(top_builddir)/xmllint --oldxml10 $$i 2> error.$$name > result.$$name ; \
+             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
+             diff $(srcdir)/result/errors10/$$name result.$$name ; \
+             diff $(srcdir)/result/errors10/$$name.err error.$$name` ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name error.$$name ; \
          fi ; fi ; done)
        @echo "## Error cases stream regression tests"
@@ -436,7 +460,7 @@ Errtests : xmllint$(EXEEXT)
              log=`$(CHECKER) $(top_builddir)/xmllint --stream $$i 2> error.$$name > /dev/null ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
              diff $(srcdir)/result/errors/$$name.str error.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm error.$$name ; \
          fi ; fi ; done)
 
@@ -459,7 +483,7 @@ XMLenttests : xmllint$(EXEEXT)
              $(CHECKER) $(top_builddir)/xmllint --noent result.$$name 2>&1 > result2.$$name ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
              diff result.$$name result2.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name result2.$$name ; \
          fi ; fi ; done)
 
@@ -477,7 +501,7 @@ URItests : testURI$(EXEEXT)
              log=`$(CHECKER) $(top_builddir)/testURI -base 'http://foo.com/path/to/index.html?orig#help' < $$i 2>&1 > result.$$name ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/URI/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name ; \
          fi ; fi ; done)
        -@(for i in $(srcdir)/test/URI/*.uri ; do \
@@ -491,7 +515,7 @@ URItests : testURI$(EXEEXT)
              log=`$(CHECKER) $(top_builddir)/testURI < $$i 2>&1 > result.$$name ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/URI/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name ; \
          fi ; fi ; done)
 
@@ -505,13 +529,13 @@ XPathtests : testXPath$(EXEEXT)
          if [ ! -d $$i ] ; then \
          if [ ! -f $(srcdir)/result/XPath/expr/$$name ] ; then \
              echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testXPath -f --expr $$i > $(srcdir)/result/XPath/expr/$$name ; \
+             $(CHECKER) $(top_builddir)/testXPath -f --expr $$i > $(srcdir)/result/XPath/expr/$$name 2> /dev/null ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
          else \
-             log=`$(CHECKER) $(top_builddir)/testXPath -f --expr $$i 2>&1 > result.$$name ; \
+             log=`$(CHECKER) $(top_builddir)/testXPath -f --expr $$i > result.$$name 2> /dev/null ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/XPath/expr/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name ; \
          fi ; fi ; done ; \
          for i in $(srcdir)/test/XPath/docs/* ; do \
@@ -526,10 +550,10 @@ XPathtests : testXPath$(EXEEXT)
              $(CHECKER) $(top_builddir)/testXPath -f -i $$i $$j > $(srcdir)/result/XPath/tests/$$name ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
          else \
-             log=`$(CHECKER) $(top_builddir)/testXPath -f -i $$i $$j 2>&1 > result.$$name ; \
+             log=`$(CHECKER) $(top_builddir)/testXPath -f -i $$i $$j > result.$$name ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/XPath/tests/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name ; \
          fi ; fi ; done ; fi ; done)
 
@@ -547,13 +571,13 @@ XPtrtests : testXPath$(EXEEXT)
          if [ ! -d $$j ] ; then \
          if [ ! -f $(srcdir)/result/XPath/xptr/$$name ] ; then \
              echo New test file $$name ; \
-             $(CHECKER) $(top_builddir)/testXPath -xptr -f -i $$i $$j > $(srcdir)/result/XPath/xptr/$$name ; \
+             $(CHECKER) $(top_builddir)/testXPath -xptr -f -i $$i $$j > $(srcdir)/result/XPath/xptr/$$name 2> /dev/null ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
          else \
-             log=`$(CHECKER) $(top_builddir)/testXPath -xptr -f -i $$i $$j 2>&1 > result.$$name ; \
+             log=`$(CHECKER) $(top_builddir)/testXPath -xptr -f -i $$i $$j > result.$$name 2> /dev/null ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/XPath/xptr/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name ; \
          fi ; fi ; done ; fi ; done)
 
@@ -572,7 +596,7 @@ XIncludetests : xmllint$(EXEEXT)
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/XInclude/$$name result.$$name ; \
              diff $(srcdir)/result/XInclude/$$name.err error.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name error.$$name ; \
          fi ; fi ; done)
        -@(for i in $(srcdir)/test/XInclude/docs/* ; do \
@@ -587,7 +611,7 @@ XIncludetests : xmllint$(EXEEXT)
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/XInclude/$$name result.$$name ; \
              diff $(srcdir)/result/XInclude/$$name.err error.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name error.$$name ; \
          fi ; fi ; done)
        @(echo > .memdump)
@@ -604,7 +628,7 @@ XIncludetests : xmllint$(EXEEXT)
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/XInclude/$$name.err error.$$name ; \
              diff $(srcdir)/result/XInclude/$$name.rdr result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name error.$$name ; \
          fi ; fi ; done)
        -@(for i in $(srcdir)/test/XInclude/docs/* ; do \
@@ -619,7 +643,7 @@ XIncludetests : xmllint$(EXEEXT)
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/XInclude/$$name.err error.$$name ; \
              diff $(srcdir)/result/XInclude/$$name.rdr result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name error.$$name ; \
          fi ; fi ; done)
 
@@ -640,7 +664,7 @@ Scripttests : xmllint$(EXEEXT)
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/scripts/$$name result.$$name ; \
              diff $(srcdir)/result/scripts/$$name.err result.$$name.err` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name result.$$name.err ; \
          fi ; fi ; done)
 
@@ -659,7 +683,7 @@ Catatests : xmlcatalog$(EXEEXT)
              log=`$(CHECKER) $(top_builddir)/xmlcatalog --shell $$xml < $$i 2>&1 > result.$$name ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/catalogs/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name ; \
          fi ; fi ; done)
        -@(for i in $(srcdir)/test/catalogs/*.script ; do \
@@ -674,7 +698,7 @@ Catatests : xmlcatalog$(EXEEXT)
              log=`$(CHECKER) $(top_builddir)/xmlcatalog --shell $$sgml < $$i > result.$$name ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/catalogs/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name ; \
          fi ; fi ; done)
        @echo "## Add and del operations on XML Catalogs"
@@ -738,7 +762,7 @@ Readertests : xmllint$(EXEEXT)
              log=`$(CHECKER) $(top_builddir)/xmllint --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/$$name.rdr result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name ; \
          fi ; fi ; done)
        @echo "## Reader on memory regression tests"
@@ -753,7 +777,7 @@ Readertests : xmllint$(EXEEXT)
              log=`$(CHECKER) $(top_builddir)/xmllint --memory --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/$$name.rdr result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name ; \
          fi ; fi ; done)
        @(echo > .memdump)
@@ -769,7 +793,7 @@ Readertests : xmllint$(EXEEXT)
              log=`$(CHECKER) $(top_builddir)/xmllint --nonet --debug --walker $$i > result.$$name 2>/dev/null ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/$$name.rdr result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name ; \
          fi ; fi ; done)
        @echo "## Reader entities substitution regression tests"
@@ -784,7 +808,7 @@ Readertests : xmllint$(EXEEXT)
              log=`$(CHECKER) $(top_builddir)/xmllint --noent --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/$$name.rde result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name ; \
          fi ; fi ; done)
 
@@ -802,7 +826,7 @@ SAXtests : testSAX$(EXEEXT)
              log=`$(CHECKER) $(top_builddir)/testSAX $$i > result.$$name 2> /dev/null ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/$$name.sax result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name ; \
          fi ; fi ; done)
        @echo "## SAX2 callbacks regression tests"
@@ -817,7 +841,22 @@ SAXtests : testSAX$(EXEEXT)
              log=`$(CHECKER) $(top_builddir)/testSAX --sax2 $$i > result.$$name 2> /dev/null ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/$$name.sax2 result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
+             rm result.$$name ; \
+         fi ; fi ; done)
+       @echo "## SAX2 callbacks regression tests with entity substitution"
+       -@(for i in $(srcdir)/test/* ; do \
+         name=`basename $$i`; \
+         if [ ! -d $$i ] ; then \
+         if [ ! -f $(srcdir)/result/noent/$$name.sax2 ] ; then \
+             echo New test file $$name ; \
+             $(CHECKER) $(top_builddir)/testSAX --sax2 --noent $$i > $(srcdir)/result/noent/$$name.sax2 2> /dev/null ; \
+             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
+         else \
+             log=`$(CHECKER) $(top_builddir)/testSAX --sax2 --noent $$i > result.$$name 2> /dev/null ; \
+             grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
+             diff $(srcdir)/result/noent/$$name.sax2 result.$$name` ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name ; \
          fi ; fi ; done)
 
@@ -829,7 +868,7 @@ Validtests : xmllint$(EXEEXT)
          if [ ! -d $$i ] ; then \
              log=`$(CHECKER) $(top_builddir)/xmllint --valid --noout --nowarning $$i ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"`;\
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
          fi ; done ; exit 0)
        @echo "## Validity checking regression tests"
        -@(for i in $(srcdir)/test/VC/* ; do \
@@ -843,7 +882,7 @@ Validtests : xmllint$(EXEEXT)
              log=`$(CHECKER) $(top_builddir)/xmllint --noout --valid $$i 2> result.$$name ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/VC/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name ; \
          fi ; fi ; done)
        @echo "## General documents valid regression tests"
@@ -859,7 +898,7 @@ Validtests : xmllint$(EXEEXT)
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/valid/$$name result.$$name ; \
              diff $(srcdir)/result/valid/$$name.err error.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name error.$$name ; \
          fi ; fi ; done)
 
@@ -877,7 +916,7 @@ Regexptests: testRegexp$(EXEEXT)
              log=`$(CHECKER) $(top_builddir)/testRegexp -i $$i 2>&1 > result.$$name ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/regexp/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name ; \
          fi ; fi ; done)
        @echo "## Formal expresssions regression tests"
@@ -892,7 +931,7 @@ Regexptests: testRegexp$(EXEEXT)
              log=`$(CHECKER) $(top_builddir)/testRegexp --expr -i $$i 2>&1 > result.$$name ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/expr/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name ; \
          fi ; fi ; done)
 
@@ -910,7 +949,7 @@ Automatatests: testAutomata$(EXEEXT)
              log=`$(CHECKER) $(top_builddir)/testAutomata $$i 2>&1 > result.$$name ; \
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              diff $(srcdir)/result/automata/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name ; \
          fi ; fi ; done)
 
@@ -961,7 +1000,7 @@ C14Ntests : testC14N$(EXEEXT)
                            cmdline="$$cmdline '`cat $(srcdir)/test/c14n/$$m/$$name.ns`'"; \
                        fi; \
                    fi; \
-                   $$cmdline > $(srcdir)/test/c14n/test.tmp; \
+                   $$cmdline > $(srcdir)/test/c14n/test.tmp 2> /dev/null; \
                    if [ $$? -eq 0 ]; then \
                        diff  $(srcdir)/result/c14n/$$m/$$name $(srcdir)/test/c14n/test.tmp; \
                        if [ $$? -ne 0 ]; then \
@@ -1002,7 +1041,7 @@ Schemastests: testSchemas$(EXEEXT)
                  diff $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno".err \
                       err.$$name;\
                  grep Unimplemented err.$$name`; \
-                 if [ -n "$$log" ] ; then echo "$$name"_"$$sno"_"$$xno" result ; echo $$log ; fi ; \
+                 if [ -n "$$log" ] ; then echo "$$name"_"$$sno"_"$$xno" result ; echo "$$log" ; fi ; \
                  rm res.$$name err.$$name ; \
               fi ; fi ;\
          done; done)
@@ -1027,7 +1066,7 @@ Relaxtests: xmllint$(EXEEXT)
              diff $(srcdir)/result/relaxng/"$$name"_err \
                   err.$$name | grep -v "error detected at";\
              grep Unimplemented err.$$name`; \
-             if [ -n "$$log" ] ; then echo schemas $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo schemas $$name result ; echo "$$log" ; fi ; \
              rm res.$$name err.$$name ; \
          fi; \
          for j in $(srcdir)/test/relaxng/"$$name"_*.xml ; do \
@@ -1049,7 +1088,7 @@ Relaxtests: xmllint$(EXEEXT)
                  diff $(srcdir)/result/relaxng/"$$name"_"$$xno".err \
                       err.$$name | grep -v "error detected at";\
                  grep Unimplemented err.$$name`; \
-                 if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo $$log ; fi ; \
+                 if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo "$$log" ; fi ; \
                  rm res.$$name err.$$name ; \
               fi ; fi ; \
          done; done)
@@ -1075,7 +1114,7 @@ Relaxtests: xmllint$(EXEEXT)
                      diff $(srcdir)/result/relaxng/"$$name"_"$$xno".err \
                           err.$$name | grep -v "error detected at";\
                  fi ; grep Unimplemented err.$$name`; \
-                 if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo $$log ; fi ; \
+                 if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo "$$log" ; fi ; \
                  rm res.$$name err.$$name ; \
               fi ; fi ; \
          done; done)
@@ -1104,7 +1143,7 @@ Schematrontests: xmllint$(EXEEXT)
                  diff $(srcdir)/result/schematron/"$$name"_"$$xno".err \
                       err.$$name | grep -v "error detected at";\
                  grep Unimplemented err.$$name`; \
-                 if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo $$log ; fi ; \
+                 if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo "$$log" ; fi ; \
                  rm res.$$name err.$$name ; \
               fi ; fi ; \
          done; done)
@@ -1153,7 +1192,7 @@ Patterntests: xmllint$(EXEEXT)
              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
              done ;\
              diff $(srcdir)/result/pattern/$$name result.$$name` ; \
-             if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
+             if [ -n "$$log" ] ; then echo $$name result ; echo "$$log" ; fi ; \
              rm result.$$name ; \
          fi ; fi ; done ;)
 
@@ -1217,6 +1256,7 @@ EXTRA_DIST = xml2-config.in xml2Conf.sh.in libxml.spec.in libxml2.spec \
             enc.h save.h testThreadsWin32.c genUnicode.py TODO_SCHEMAS \
             dbgen.pl dbgenattr.pl regressions.py regressions.xml \
             README.tests Makefile.tests libxml2.syms timsort.h \
+            README.zOS \
             $(CVS_EXTRA_DIST)