Annotation of embedaddon/libxml2/Makefile.am, revision 1.1.1.1

1.1       misho       1: ## Process this file with automake to produce Makefile.in
                      2: 
                      3: ACLOCAL_AMFLAGS = -I m4
                      4: 
                      5: SUBDIRS = include . doc example xstc @PYTHON_SUBDIR@
                      6: 
                      7: DIST_SUBDIRS = include . doc example python xstc
                      8: 
                      9: INCLUDES = -I$(top_builddir)/include -I@srcdir@/include @THREAD_CFLAGS@ @Z_CFLAGS@ 
                     10: 
                     11: noinst_PROGRAMS=testSchemas testRelax testSAX testHTML testXPath testURI \
                     12:                 testThreads testC14N testAutomata testRegexp \
                     13:                 testReader testapi testModule runtest runsuite testchar \
                     14:                testdict runxmlconf testrecurse
                     15: 
                     16: bin_PROGRAMS = xmllint xmlcatalog
                     17: 
                     18: bin_SCRIPTS=xml2-config
                     19: 
                     20: lib_LTLIBRARIES = libxml2.la
                     21: libxml2_la_LIBADD = @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) @M_LIBS@ @WIN32_EXTRA_LIBADD@
                     22: 
                     23: if USE_VERSION_SCRIPT
                     24: LIBXML2_VERSION_SCRIPT = $(VERSION_SCRIPT_FLAGS)$(srcdir)/libxml2.syms
                     25: else
                     26: LIBXML2_VERSION_SCRIPT =
                     27: endif
                     28: 
                     29: libxml2_la_LDFLAGS = @CYGWIN_EXTRA_LDFLAGS@ @WIN32_EXTRA_LDFLAGS@ \
                     30:                      $(LIBXML2_VERSION_SCRIPT) \
                     31:                     -version-info @LIBXML_VERSION_INFO@ \
                     32:                     @MODULE_PLATFORM_LIBS@
                     33: 
                     34: if WITH_TRIO_SOURCES
                     35: libxml2_la_SOURCES = SAX.c entities.c encoding.c error.c parserInternals.c  \
                     36:                parser.c tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c  \
                     37:                valid.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c  \
                     38:                xpointer.c xinclude.c nanohttp.c nanoftp.c DOCBparser.c \
                     39:                catalog.c globals.c threads.c c14n.c xmlstring.c \
                     40:                xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c \
                     41:                triostr.c trio.c xmlreader.c relaxng.c dict.c SAX2.c \
                     42:                xmlwriter.c legacy.c chvalid.c pattern.c xmlsave.c \
                     43:                xmlmodule.c schematron.c
                     44: else
                     45: libxml2_la_SOURCES = SAX.c entities.c encoding.c error.c parserInternals.c  \
                     46:                parser.c tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c  \
                     47:                valid.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c  \
                     48:                xpointer.c xinclude.c nanohttp.c nanoftp.c DOCBparser.c \
                     49:                catalog.c globals.c threads.c c14n.c xmlstring.c \
                     50:                xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c \
                     51:                xmlreader.c relaxng.c dict.c SAX2.c \
                     52:                xmlwriter.c legacy.c chvalid.c pattern.c xmlsave.c \
                     53:                xmlmodule.c schematron.c
                     54: endif
                     55: 
                     56: DEPS = $(top_builddir)/libxml2.la
                     57: LDADDS = @STATIC_BINARIES@ $(top_builddir)/libxml2.la @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) @M_LIBS@ @WIN32_EXTRA_LIBADD@
                     58: 
                     59: 
                     60: man_MANS = xml2-config.1 libxml.3
                     61: 
                     62: m4datadir = $(datadir)/aclocal
                     63: m4data_DATA = libxml.m4
                     64: 
                     65: runtest_SOURCES=runtest.c
                     66: runtest_LDFLAGS = 
                     67: runtest_DEPENDENCIES = $(DEPS)
                     68: runtest_LDADD= @BASE_THREAD_LIBS@ @RDL_LIBS@ $(LDADDS)
                     69: 
                     70: testrecurse_SOURCES=testrecurse.c
                     71: testrecurse_LDFLAGS = 
                     72: testrecurse_DEPENDENCIES = $(DEPS)
                     73: testrecurse_LDADD= @BASE_THREAD_LIBS@ @RDL_LIBS@ $(LDADDS)
                     74: 
                     75: testchar_SOURCES=testchar.c
                     76: testchar_LDFLAGS = 
                     77: testchar_DEPENDENCIES = $(DEPS)
                     78: testchar_LDADD= @RDL_LIBS@ $(LDADDS)
                     79: 
                     80: testdict_SOURCES=testdict.c
                     81: testdict_LDFLAGS = 
                     82: testdict_DEPENDENCIES = $(DEPS)
                     83: testdict_LDADD= @RDL_LIBS@ $(LDADDS)
                     84: 
                     85: runsuite_SOURCES=runsuite.c
                     86: runsuite_LDFLAGS = 
                     87: runsuite_DEPENDENCIES = $(DEPS)
                     88: runsuite_LDADD= @RDL_LIBS@ $(LDADDS)
                     89: 
                     90: xmllint_SOURCES=xmllint.c
                     91: xmllint_LDFLAGS = 
                     92: xmllint_DEPENDENCIES = $(DEPS)
                     93: xmllint_LDADD=  @RDL_LIBS@ $(LDADDS)
                     94: 
                     95: testSAX_SOURCES=testSAX.c
                     96: testSAX_LDFLAGS = 
                     97: testSAX_DEPENDENCIES = $(DEPS)
                     98: testSAX_LDADD= $(LDADDS)
                     99: 
                    100: testHTML_SOURCES=testHTML.c
                    101: testHTML_LDFLAGS = 
                    102: testHTML_DEPENDENCIES = $(DEPS)
                    103: testHTML_LDADD= $(LDADDS)
                    104: 
                    105: xmlcatalog_SOURCES=xmlcatalog.c
                    106: xmlcatalog_LDFLAGS = 
                    107: xmlcatalog_DEPENDENCIES = $(DEPS)
                    108: xmlcatalog_LDADD= @RDL_LIBS@ $(LDADDS)
                    109: 
                    110: testXPath_SOURCES=testXPath.c
                    111: testXPath_LDFLAGS = 
                    112: testXPath_DEPENDENCIES = $(DEPS)
                    113: testXPath_LDADD= $(LDADDS)
                    114: 
                    115: testC14N_SOURCES=testC14N.c
                    116: testC14N_LDFLAGS = 
                    117: testC14N_DEPENDENCIES = $(DEPS)
                    118: testC14N_LDADD= $(LDADDS)
                    119: 
                    120: testThreads_SOURCES=testThreads@THREADS_W32@.c
                    121: testThreads_LDFLAGS = 
                    122: testThreads_DEPENDENCIES = $(DEPS)
                    123: testThreads_LDADD= @BASE_THREAD_LIBS@  $(LDADDS)
                    124: 
                    125: testURI_SOURCES=testURI.c
                    126: testURI_LDFLAGS = 
                    127: testURI_DEPENDENCIES = $(DEPS)
                    128: testURI_LDADD= $(LDADDS)
                    129: 
                    130: testRegexp_SOURCES=testRegexp.c
                    131: testRegexp_LDFLAGS = 
                    132: testRegexp_DEPENDENCIES = $(DEPS)
                    133: testRegexp_LDADD= $(LDADDS)
                    134: 
                    135: testAutomata_SOURCES=testAutomata.c
                    136: testAutomata_LDFLAGS = 
                    137: testAutomata_DEPENDENCIES = $(DEPS)
                    138: testAutomata_LDADD= $(LDADDS)
                    139: 
                    140: testSchemas_SOURCES=testSchemas.c
                    141: testSchemas_LDFLAGS = 
                    142: testSchemas_DEPENDENCIES = $(DEPS)
                    143: testSchemas_LDADD= $(LDADDS)
                    144: 
                    145: testRelax_SOURCES=testRelax.c
                    146: testRelax_LDFLAGS = 
                    147: testRelax_DEPENDENCIES = $(DEPS)
                    148: testRelax_LDADD= $(LDADDS)
                    149: 
                    150: testReader_SOURCES=testReader.c
                    151: testReader_LDFLAGS = 
                    152: testReader_DEPENDENCIES = $(DEPS)
                    153: testReader_LDADD= $(LDADDS)
                    154: 
                    155: testModule_SOURCES=testModule.c
                    156: testModule_LDFLAGS = 
                    157: testModule_DEPENDENCIES = $(DEPS)
                    158: testModule_LDADD= $(LDADDS)
                    159: 
                    160: noinst_LTLIBRARIES = testdso.la
                    161: testdso_la_SOURCES = testdso.c
                    162: testdso_la_LDFLAGS = -module -no-undefined -avoid-version -rpath $(libdir)
                    163: 
                    164: # that one forces the rebuild when "make rebuild" is run on doc/
                    165: rebuild_testapi:
                    166:        -@(if [ "$(PYTHON)" != "" ] ; then \
                    167:            $(PYTHON) $(srcdir)/gentest.py $(srcdir) ; fi )
                    168: 
                    169: # that one is just to make sure it is rebuilt if missing
                    170: # but adding the dependances generate mess
                    171: testapi.c: $(srcdir)/gentest.py
                    172:        -@(if [ "$(PYTHON)" != "" ] ; then \
                    173:            $(PYTHON) $(srcdir)/gentest.py $(srcdir) ; fi )
                    174: 
                    175: testapi_SOURCES=testapi.c
                    176: testapi_LDFLAGS = 
                    177: testapi_DEPENDENCIES = $(DEPS)
                    178: testapi_LDADD= $(LDADDS)
                    179: 
                    180: runxmlconf_SOURCES=runxmlconf.c
                    181: runxmlconf_LDFLAGS = 
                    182: runxmlconf_DEPENDENCIES = $(DEPS)
                    183: runxmlconf_LDADD= $(LDADDS)
                    184: 
                    185: #testOOM_SOURCES=testOOM.c testOOMlib.h testOOMlib.c
                    186: #testOOM_LDFLAGS = 
                    187: #testOOM_DEPENDENCIES = $(DEPS)
                    188: #testOOM_LDADD= $(LDADDS)
                    189: 
                    190: runtests:
                    191:        $(CHECKER) ./runtest$(EXEEXT) && $(CHECKER) ./testrecurse$(EXEEXT) &&$(CHECKER) ./testapi$(EXEEXT) && $(CHECKER) ./testchar$(EXEEXT)&& $(CHECKER) ./testdict$(EXEEXT) && $(CHECKER) ./runxmlconf$(EXEEXT)
                    192:        @(if [ "@PYTHON_SUBDIR@" != "" ] ; then cd python ; \
                    193:            $(MAKE) MAKEFLAGS+=--silent tests ; fi)
                    194: 
                    195: check: all runtests
                    196: 
                    197: check-valgrind: all
                    198:        @echo '## Running the regression tests under Valgrind'
                    199:        @echo '## Go get a cup of coffee it is gonna take a while ...'
                    200:        $(MAKE) CHECKER='valgrind -q' check
                    201: 
                    202: testall : tests SVGtests SAXtests
                    203: 
                    204: 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@
                    205:        @(if [ "@PYTHON_SUBDIR@" != "" ] ; then cd python ; \
                    206:            $(MAKE) MAKEFLAGS+=--silent tests ; fi)
                    207:        @(cd doc/examples ; $(MAKE) MAKEFLAGS+=--silent tests)
                    208: 
                    209: valgrind:
                    210:        @echo '## Running the regression tests under Valgrind'
                    211:        @echo '## Go get a cup of coffee it is gonna take a while ...'
                    212:        $(MAKE) CHECKER='valgrind -q' tests
                    213: 
                    214: APItests: testapi$(EXEEXT)
                    215:        @echo "## Running the API regression tests this may take a little while"
                    216:        -@($(CHECKER) $(top_builddir)/testapi -q)
                    217: 
                    218: HTMLtests : testHTML$(EXEEXT)
                    219:        @(echo > .memdump)
                    220:        @echo "## HTML regression tests"
                    221:        -@(for i in $(srcdir)/test/HTML/* ; do \
                    222:          name=`basename $$i`; \
                    223:          if [ ! -d $$i ] ; then \
                    224:          if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
                    225:              echo New test file $$name ; \
                    226:              $(CHECKER) $(top_builddir)/testHTML $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \
                    227:          else \
                    228:              log=`$(CHECKER) $(top_builddir)/testHTML $$i > result.$$name 2> error.$$name ; \
                    229:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    230:              diff $(srcdir)/result/HTML/$$name result.$$name ; \
                    231:              diff -b $(srcdir)/result/HTML/$$name.err error.$$name ; \
                    232:              $(CHECKER) $(top_builddir)/testHTML result.$$name > result2.$$name 2>error.$$name ; \
                    233:              diff result.$$name result2.$$name` ; \
                    234:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    235:              rm result.$$name result2.$$name error.$$name ; \
                    236:          fi ; fi ; done)
                    237: 
                    238: HTMLPushtests : testHTML$(EXEEXT)
                    239:        @echo "## Push HTML regression tests"
                    240:        -@(for i in $(srcdir)/test/HTML/* ; do \
                    241:          name=`basename $$i`; \
                    242:          if [ ! -d $$i ] ; then \
                    243:          if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
                    244:              echo New test file $$name ; \
                    245:              $(CHECKER) $(top_builddir)/testHTML --push $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \
                    246:          else \
                    247:              log=`$(CHECKER) $(top_builddir)/testHTML --push $$i > result.$$name 2> error.$$name ; \
                    248:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    249:              diff $(srcdir)/result/HTML/$$name result.$$name ; \
                    250:              cut -b 1-15 $(srcdir)/result/HTML/$$name.err > errorcut.$$name; \
                    251:              cut -b 1-15 error.$$name > errorcut2.$$name; \
                    252:              diff -b errorcut.$$name errorcut2.$$name ; \
                    253:              $(CHECKER) $(top_builddir)/testHTML --push result.$$name > result2.$$name 2>error.$$name ; \
                    254:              diff result.$$name result2.$$name` ; \
                    255:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    256:              rm result.$$name result2.$$name error.$$name errorcut.$$name errorcut2.$$name ; \
                    257:          fi ; fi ; done)
                    258:        @echo "## HTML SAX regression tests"
                    259:        -@(for i in $(srcdir)/test/HTML/* ; do \
                    260:          name=`basename $$i`; \
                    261:          if [ ! -d $$i ] ; then \
                    262:          if [ ! -f $(srcdir)/result/HTML/$$name.sax ] ; then \
                    263:              echo New test file $$name ; \
                    264:              $(CHECKER) $(top_builddir)/testHTML --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \
                    265:          else \
                    266:              log=`$(CHECKER) $(top_builddir)/testHTML --sax $$i > result.$$name.sax ; \
                    267:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    268:              diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax` ; \
                    269:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    270:              rm result.$$name.sax ; \
                    271:          fi ; fi ; done)
                    272:        @echo "## Push HTML SAX regression tests"
                    273:        -@(for i in $(srcdir)/test/HTML/* ; do \
                    274:          name=`basename $$i`; \
                    275:          if [ ! -d $$i ] ; then \
                    276:          if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \
                    277:              echo New test file $$name ; \
                    278:              $(CHECKER) $(top_builddir)/testHTML --push --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \
                    279:          else \
                    280:              log=`$(CHECKER) $(top_builddir)/testHTML --push --sax $$i 2>&1 > result.$$name.sax ; \
                    281:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    282:              diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax` ; \
                    283:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    284:              rm result.$$name.sax ; \
                    285:          fi ; fi ; done)
                    286: 
                    287: XMLtests : xmllint$(EXEEXT)
                    288:        @(echo > .memdump)
                    289:        @echo "## XML regression tests"
                    290:        -@(for i in $(srcdir)/test/* ; do \
                    291:          name=`basename $$i`; \
                    292:          if [ ! -d $$i ] ; then \
                    293:          if [ ! -f $(srcdir)/result/$$name ] ; then \
                    294:              echo New test file $$name ; \
                    295:              $(CHECKER) $(top_builddir)/xmllint $$i > $(srcdir)/result/$$name ; \
                    296:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    297:          else \
                    298:              log=`$(CHECKER) $(top_builddir)/xmllint $$i 2>&1 > result.$$name ; \
                    299:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    300:              diff $(srcdir)/result/$$name result.$$name ; \
                    301:              $(CHECKER) $(top_builddir)/xmllint result.$$name 2>&1 > result2.$$name | grep -v 'failed to load external entity' ; \
                    302:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    303:              diff result.$$name result2.$$name` ;\
                    304:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    305:              rm result.$$name result2.$$name ; \
                    306:          fi ; fi ; done)
                    307:        @echo "## XML regression tests on memory"
                    308:        -@(for i in $(srcdir)/test/* ; do \
                    309:          name=`basename $$i`; \
                    310:          if [ ! -d $$i ] ; then \
                    311:          if [ ! -f $(srcdir)/result/$$name ] ; then \
                    312:              echo New test file $$name ; \
                    313:              $(CHECKER) $(top_builddir)/xmllint --memory $$i > $(srcdir)/result/$$name ; \
                    314:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    315:          else \
                    316:              log=`$(CHECKER) $(top_builddir)/xmllint --memory $$i 2>&1 > result.$$name ; \
                    317:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    318:              diff $(srcdir)/result/$$name result.$$name ; \
                    319:              $(CHECKER) $(top_builddir)/xmllint --memory result.$$name 2>&1 > result2.$$name | grep -v 'failed to load external entity' ; \
                    320:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"`; \
                    321:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    322:              diff result.$$name result2.$$name ; \
                    323:              rm result.$$name result2.$$name ; \
                    324:          fi ; fi ; done)
                    325: 
                    326: XMLPushtests: xmllint$(EXEEXT)
                    327:        @(echo > .memdump)
                    328:        @echo "## XML push regression tests"
                    329:        -@(for i in $(srcdir)/test/* ; do \
                    330:          name=`basename $$i`; \
                    331:          if [ ! -d $$i ] ; then \
                    332:          if [ ! -f $(srcdir)/result/$$name ] ; then \
                    333:              echo New test file $$name ; \
                    334:              $(CHECKER) $(top_builddir)/xmllint --push $$i > $(srcdir)/result/$$name ; \
                    335:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    336:          else \
                    337:              log=`$(CHECKER) $(top_builddir)/xmllint --push $$i 2>&1 > result.$$name ; \
                    338:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    339:              diff $(srcdir)/result/$$name result.$$name ; \
                    340:              $(CHECKER) $(top_builddir)/xmllint --push result.$$name 2>&1 > result2.$$name | grep -v 'failed to load external entity' ; \
                    341:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    342:              diff result.$$name result2.$$name` ; \
                    343:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    344:              rm result.$$name result2.$$name ; \
                    345:          fi ; fi ; done)
                    346: 
                    347: NStests : xmllint$(EXEEXT)
                    348:        @(echo > .memdump)
                    349:        @echo "## XML Namespaces regression tests"
                    350:        -@(for i in $(srcdir)/test/namespaces/* ; do \
                    351:          name=`basename $$i`; \
                    352:          if [ ! -d $$i ] ; then \
                    353:          if [ ! -f $(srcdir)/result/namespaces/$$name ] ; then \
                    354:              echo New test file $$name ; \
                    355:              $(CHECKER) $(top_builddir)/xmllint $$i \
                    356:                 2> $(srcdir)/result/namespaces/$$name.err \
                    357:                 > $(srcdir)/result/namespaces/$$name ; \
                    358:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    359:          else \
                    360:              log=`$(CHECKER) $(top_builddir)/xmllint $$i 2> error.$$name > result.$$name ; \
                    361:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    362:              diff $(srcdir)/result/namespaces/$$name result.$$name ; \
                    363:              diff $(srcdir)/result/namespaces/$$name.err error.$$name`; \
                    364:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    365:              rm result.$$name error.$$name ; \
                    366:          fi ; fi ; done)
                    367: 
                    368: IDtests : xmllint$(EXEEXT) testXPath$(EXEEXT)
                    369:        @(echo > .memdump)
                    370:        @echo "## xml:id regression tests"
                    371:        -@(for i in $(srcdir)/test/xmlid/id_*.xml ; do \
                    372:          name=`basename $$i`; \
                    373:          if [ ! -d $$i ] ; then \
                    374:          if [ ! -f $(srcdir)/result/xmlid/$$name ] ; then \
                    375:              echo New test file $$name ; \
                    376:              $(CHECKER) $(top_builddir)/testXPath -i $$i "id('bar')" \
                    377:                 2> $(srcdir)/result/xmlid/$$name.err \
                    378:                 > $(srcdir)/result/xmlid/$$name ; \
                    379:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    380:          else \
                    381:              log=`$(CHECKER) $(top_builddir)/testXPath -i $$i "id('bar')" 2> error.$$name > result.$$name ; \
                    382:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    383:              diff $(srcdir)/result/xmlid/$$name result.$$name ; \
                    384:              diff $(srcdir)/result/xmlid/$$name.err error.$$name` ; \
                    385:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    386:              rm result.$$name error.$$name ; \
                    387:          fi ; fi ; done)
                    388: 
                    389: Errtests : xmllint$(EXEEXT)
                    390:        @(echo > .memdump)
                    391:        @echo "## Error cases regression tests"
                    392:        -@(for i in $(srcdir)/test/errors/*.xml ; do \
                    393:          name=`basename $$i`; \
                    394:          if [ ! -d $$i ] ; then \
                    395:          if [ ! -f $(srcdir)/result/errors/$$name ] ; then \
                    396:              echo New test file $$name ; \
                    397:              $(CHECKER) $(top_builddir)/xmllint $$i \
                    398:                 2> $(srcdir)/result/errors/$$name.err \
                    399:                 > $(srcdir)/result/errors/$$name ; \
                    400:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    401:          else \
                    402:              log=`$(CHECKER) $(top_builddir)/xmllint $$i 2> error.$$name > result.$$name ; \
                    403:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    404:              diff $(srcdir)/result/errors/$$name result.$$name ; \
                    405:              diff $(srcdir)/result/errors/$$name.err error.$$name` ; \
                    406:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    407:              rm result.$$name error.$$name ; \
                    408:          fi ; fi ; done)
                    409:        @echo "## Error cases stream regression tests"
                    410:        -@(for i in $(srcdir)/test/errors/*.xml ; do \
                    411:          name=`basename $$i`; \
                    412:          if [ ! -d $$i ] ; then \
                    413:          if [ ! -f $(srcdir)/result/errors/$$name.str ] ; then \
                    414:              echo New test file $$name ; \
                    415:              $(CHECKER) $(top_builddir)/xmllint --stream $$i \
                    416:                 2> $(srcdir)/result/errors/$$name.str \
                    417:                 > /dev/null ; \
                    418:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    419:          else \
                    420:              log=`$(CHECKER) $(top_builddir)/xmllint --stream $$i 2> error.$$name > /dev/null ; \
                    421:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    422:              diff $(srcdir)/result/errors/$$name.str error.$$name` ; \
                    423:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    424:              rm error.$$name ; \
                    425:          fi ; fi ; done)
                    426: 
                    427: Docbtests : xmllint$(EXEEXT)
                    428: 
                    429: XMLenttests : xmllint$(EXEEXT)
                    430:        @(echo > .memdump)
                    431:        @echo "## XML entity subst regression tests"
                    432:        -@(for i in $(srcdir)/test/* ; do \
                    433:          name=`basename $$i`; \
                    434:          if [ ! -d $$i ] ; then \
                    435:          if [ ! -f $(srcdir)/result/noent/$$name ] ; then \
                    436:              echo New test file $$name ; \
                    437:              $(CHECKER) $(top_builddir)/xmllint --noent $$i > $(srcdir)/result/noent/$$name ; \
                    438:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    439:          else \
                    440:              log=`$(CHECKER) $(top_builddir)/xmllint --noent $$i 2>&1 > result.$$name ; \
                    441:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    442:              diff $(srcdir)/result/noent/$$name result.$$name ; \
                    443:              $(CHECKER) $(top_builddir)/xmllint --noent result.$$name 2>&1 > result2.$$name ; \
                    444:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    445:              diff result.$$name result2.$$name` ; \
                    446:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    447:              rm result.$$name result2.$$name ; \
                    448:          fi ; fi ; done)
                    449: 
                    450: URItests : testURI$(EXEEXT)
                    451:        @(echo > .memdump)
                    452:        @echo "## URI module regression tests"
                    453:        -@(for i in $(srcdir)/test/URI/*.data ; do \
                    454:          name=`basename $$i`; \
                    455:          if [ ! -d $$i ] ; then \
                    456:          if [ ! -f $(srcdir)/result/URI/$$name ] ; then \
                    457:              echo New test file $$name ; \
                    458:              $(CHECKER) $(top_builddir)/testURI -base 'http://foo.com/path/to/index.html?orig#help' < $$i > $(srcdir)/result/URI/$$name ; \
                    459:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    460:          else \
                    461:              log=`$(CHECKER) $(top_builddir)/testURI -base 'http://foo.com/path/to/index.html?orig#help' < $$i 2>&1 > result.$$name ; \
                    462:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    463:              diff $(srcdir)/result/URI/$$name result.$$name` ; \
                    464:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    465:              rm result.$$name ; \
                    466:          fi ; fi ; done)
                    467:        -@(for i in $(srcdir)/test/URI/*.uri ; do \
                    468:          name=`basename $$i`; \
                    469:          if [ ! -d $$i ] ; then \
                    470:          if [ ! -f $(srcdir)/result/URI/$$name ] ; then \
                    471:              echo New test file $$name ; \
                    472:              $(CHECKER) $(top_builddir)/testURI < $$i > $(srcdir)/result/URI/$$name ; \
                    473:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    474:          else \
                    475:              log=`$(CHECKER) $(top_builddir)/testURI < $$i 2>&1 > result.$$name ; \
                    476:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    477:              diff $(srcdir)/result/URI/$$name result.$$name` ; \
                    478:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    479:              rm result.$$name ; \
                    480:          fi ; fi ; done)
                    481: 
                    482: XPathtests : testXPath$(EXEEXT)
                    483:        @(echo > .memdump)
                    484:        @echo "## XPath regression tests"
                    485:        -@(if [ "`$(top_builddir)/testXPath | grep 'support not compiled in'`" != "" ] ; \
                    486:          then echo Skipping debug not compiled in ; exit 0 ; fi ; \
                    487:          for i in $(srcdir)/test/XPath/expr/* ; do \
                    488:          name=`basename $$i`; \
                    489:          if [ ! -d $$i ] ; then \
                    490:          if [ ! -f $(srcdir)/result/XPath/expr/$$name ] ; then \
                    491:              echo New test file $$name ; \
                    492:              $(CHECKER) $(top_builddir)/testXPath -f --expr $$i > $(srcdir)/result/XPath/expr/$$name ; \
                    493:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    494:          else \
                    495:              log=`$(CHECKER) $(top_builddir)/testXPath -f --expr $$i 2>&1 > result.$$name ; \
                    496:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    497:              diff $(srcdir)/result/XPath/expr/$$name result.$$name` ; \
                    498:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    499:              rm result.$$name ; \
                    500:          fi ; fi ; done ; \
                    501:          for i in $(srcdir)/test/XPath/docs/* ; do \
                    502:          if [ ! -d $$i ] ; then \
                    503:          doc=`basename $$i`; \
                    504:          for j in $(srcdir)/test/XPath/tests/$$doc* ; do \
                    505:          if [ ! -f $$j ] ; then continue ; fi ; \
                    506:          name=`basename $$j`; \
                    507:          if [ ! -d $$j ] ; then \
                    508:          if [ ! -f $(srcdir)/result/XPath/tests/$$name ] ; then \
                    509:              echo New test file $$name ; \
                    510:              $(CHECKER) $(top_builddir)/testXPath -f -i $$i $$j > $(srcdir)/result/XPath/tests/$$name ; \
                    511:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    512:          else \
                    513:              log=`$(CHECKER) $(top_builddir)/testXPath -f -i $$i $$j 2>&1 > result.$$name ; \
                    514:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    515:              diff $(srcdir)/result/XPath/tests/$$name result.$$name` ; \
                    516:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    517:              rm result.$$name ; \
                    518:          fi ; fi ; done ; fi ; done)
                    519: 
                    520: XPtrtests : testXPath$(EXEEXT)
                    521:        @(echo > .memdump)
                    522:        @echo "## XPointer regression tests"
                    523:        -@(if [ "`$(top_builddir)/testXPath | grep 'support not compiled in'`" != "" ] ; \
                    524:          then echo Skipping debug not compiled in ; exit 0 ; fi ; \
                    525:          for i in $(srcdir)/test/XPath/docs/* ; do \
                    526:          if [ ! -d $$i ] ; then \
                    527:          doc=`basename $$i`; \
                    528:          for j in $(srcdir)/test/XPath/xptr/$$doc* ; do \
                    529:          if [ ! -f $$j ] ; then continue ; fi ; \
                    530:          name=`basename $$j`; \
                    531:          if [ ! -d $$j ] ; then \
                    532:          if [ ! -f $(srcdir)/result/XPath/xptr/$$name ] ; then \
                    533:              echo New test file $$name ; \
                    534:              $(CHECKER) $(top_builddir)/testXPath -xptr -f -i $$i $$j > $(srcdir)/result/XPath/xptr/$$name ; \
                    535:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    536:          else \
                    537:              log=`$(CHECKER) $(top_builddir)/testXPath -xptr -f -i $$i $$j 2>&1 > result.$$name ; \
                    538:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    539:              diff $(srcdir)/result/XPath/xptr/$$name result.$$name` ; \
                    540:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    541:              rm result.$$name ; \
                    542:          fi ; fi ; done ; fi ; done)
                    543: 
                    544: XIncludetests : xmllint$(EXEEXT)
                    545:        @(echo > .memdump)
                    546:        @echo "## XInclude regression tests"
                    547:        -@(for i in $(srcdir)/test/XInclude/docs/* ; do \
                    548:          name=`basename $$i`; \
                    549:          if [ ! -d $$i ] ; then \
                    550:          if [ ! -f $(srcdir)/result/XInclude/$$name ] ; then \
                    551:              echo New test file $$name ; \
                    552:              $(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > $(srcdir)/result/XInclude/$$name 2> $(srcdir)/result/XInclude/$$name.err ; \
                    553:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    554:          else \
                    555:              log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > result.$$name 2>error.$$name ; \
                    556:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    557:              diff $(srcdir)/result/XInclude/$$name result.$$name ; \
                    558:              diff $(srcdir)/result/XInclude/$$name.err error.$$name` ; \
                    559:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    560:              rm result.$$name error.$$name ; \
                    561:          fi ; fi ; done)
                    562:        -@(for i in $(srcdir)/test/XInclude/docs/* ; do \
                    563:          name=`basename $$i`; \
                    564:          if [ ! -d $$i ] ; then \
                    565:          if [ ! -f $(srcdir)/result/XInclude/$$name ] ; then \
                    566:              echo New test file $$name ; \
                    567:              $(CHECKER) $(top_builddir)/xmllint --nowarning --noxincludenode $$i > $(srcdir)/result/XInclude/$$name 2> $(srcdir)/result/XInclude/$$name.err ; \
                    568:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    569:          else \
                    570:              log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --noxincludenode $$i > result.$$name 2>error.$$name ; \
                    571:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    572:              diff $(srcdir)/result/XInclude/$$name result.$$name ; \
                    573:              diff $(srcdir)/result/XInclude/$$name.err error.$$name` ; \
                    574:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    575:              rm result.$$name error.$$name ; \
                    576:          fi ; fi ; done)
                    577:        @(echo > .memdump)
                    578:        @echo "## XInclude xmlReader regression tests"
                    579:        -@(for i in $(srcdir)/test/XInclude/docs/* ; do \
                    580:          name=`basename $$i`; \
                    581:          if [ ! -d $$i ] ; then \
                    582:          if [ ! -f $(srcdir)/result/XInclude/$$name.rdr ] ; then \
                    583:              echo New test file $$name ; \
                    584:              $(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > $(srcdir)/result/XInclude/$$name.rdr ; \
                    585:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    586:          else \
                    587:              log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > result.$$name 2>error.$$name ; \
                    588:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    589:              diff $(srcdir)/result/XInclude/$$name.err error.$$name ; \
                    590:              diff $(srcdir)/result/XInclude/$$name.rdr result.$$name` ; \
                    591:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    592:              rm result.$$name error.$$name ; \
                    593:          fi ; fi ; done)
                    594:        -@(for i in $(srcdir)/test/XInclude/docs/* ; do \
                    595:          name=`basename $$i`; \
                    596:          if [ ! -d $$i ] ; then \
                    597:          if [ ! -f $(srcdir)/result/XInclude/$$name.rdr ] ; then \
                    598:              echo New test file $$name ; \
                    599:              $(CHECKER) $(top_builddir)/xmllint --nowarning --noxincludenode --stream --debug $$i > $(srcdir)/result/XInclude/$$name.rdr ; \
                    600:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    601:          else \
                    602:              log=`$(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude --stream --debug $$i > result.$$name 2>error.$$name ; \
                    603:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    604:              diff $(srcdir)/result/XInclude/$$name.err error.$$name ; \
                    605:              diff $(srcdir)/result/XInclude/$$name.rdr result.$$name` ; \
                    606:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    607:              rm result.$$name error.$$name ; \
                    608:          fi ; fi ; done)
                    609: 
                    610: Scripttests : xmllint$(EXEEXT)
                    611:        @(echo > .memdump)
                    612:        @echo "## Scripts regression tests"
                    613:        @echo "## Some of the base computations may be different if srcdir != ."
                    614:        -@(for i in $(srcdir)/test/scripts/*.script ; do \
                    615:          name=`basename $$i .script`; \
                    616:          xml=$(srcdir)/test/scripts/`basename $$i .script`.xml; \
                    617:          if [ -f $$xml ] ; then \
                    618:          if [ ! -f $(srcdir)/result/scripts/$$name ] ; then \
                    619:              echo New test file $$name ; \
                    620:              $(CHECKER) $(top_builddir)/xmllint --shell $$xml < $$i > $(srcdir)/result/scripts/$$name 2> $(srcdir)/result/scripts/$$name.err ; \
                    621:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    622:          else \
                    623:              log=`$(CHECKER) $(top_builddir)/xmllint --shell $$xml < $$i > result.$$name 2> result.$$name.err ; \
                    624:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    625:              diff $(srcdir)/result/scripts/$$name result.$$name ; \
                    626:              diff $(srcdir)/result/scripts/$$name.err result.$$name.err` ; \
                    627:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    628:              rm result.$$name result.$$name.err ; \
                    629:          fi ; fi ; done)
                    630: 
                    631: Catatests : xmlcatalog$(EXEEXT)
                    632:        @(echo > .memdump)
                    633:        @echo "## Catalog regression tests"
                    634:        -@(for i in $(srcdir)/test/catalogs/*.script ; do \
                    635:          name=`basename $$i .script`; \
                    636:          xml=$(srcdir)/test/catalogs/`basename $$i .script`.xml; \
                    637:          if [ -f $$xml ] ; then \
                    638:          if [ ! -f $(srcdir)/result/catalogs/$$name ] ; then \
                    639:              echo New test file $$name ; \
                    640:              $(CHECKER) $(top_builddir)/xmlcatalog --shell $$xml < $$i 2>&1 > $(srcdir)/result/catalogs/$$name ; \
                    641:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    642:          else \
                    643:              log=`$(CHECKER) $(top_builddir)/xmlcatalog --shell $$xml < $$i 2>&1 > result.$$name ; \
                    644:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    645:              diff $(srcdir)/result/catalogs/$$name result.$$name` ; \
                    646:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    647:              rm result.$$name ; \
                    648:          fi ; fi ; done)
                    649:        -@(for i in $(srcdir)/test/catalogs/*.script ; do \
                    650:          name=`basename $$i .script`; \
                    651:          sgml=$(srcdir)/test/catalogs/`basename $$i .script`.sgml; \
                    652:          if [ -f $$sgml ] ; then \
                    653:          if [ ! -f $(srcdir)/result/catalogs/$$name ] ; then \
                    654:              echo New test file $$name ; \
                    655:              $(CHECKER) $(top_builddir)/xmlcatalog --shell $$sgml < $$i > $(srcdir)/result/catalogs/$$name ; \
                    656:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    657:          else \
                    658:              log=`$(CHECKER) $(top_builddir)/xmlcatalog --shell $$sgml < $$i > result.$$name ; \
                    659:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    660:              diff $(srcdir)/result/catalogs/$$name result.$$name` ; \
                    661:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    662:              rm result.$$name ; \
                    663:          fi ; fi ; done)
                    664:        @echo "## Add and del operations on XML Catalogs"
                    665:        -@($(CHECKER) $(top_builddir)/xmlcatalog --create --noout $(srcdir)/result/catalogs/mycatalog; \
                    666:        grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    667:        $(CHECKER) $(top_builddir)/xmlcatalog --noout --add public Pubid sysid $(srcdir)/result/catalogs/mycatalog; \
                    668:        grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    669:        $(CHECKER) $(top_builddir)/xmlcatalog --noout --add public Pubid2 sysid2 $(srcdir)/result/catalogs/mycatalog; \
                    670:        grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    671:        $(CHECKER) $(top_builddir)/xmlcatalog --noout --add public Pubid3 sysid3 $(srcdir)/result/catalogs/mycatalog; \
                    672:        grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    673:        diff result/catalogs/mycatalog.full $(srcdir)/result/catalogs/mycatalog; \
                    674:        grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    675:        $(CHECKER) $(top_builddir)/xmlcatalog --noout --del sysid $(srcdir)/result/catalogs/mycatalog; \
                    676:        grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    677:        $(CHECKER) $(top_builddir)/xmlcatalog --noout --del sysid3 $(srcdir)/result/catalogs/mycatalog; \
                    678:        grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    679:        $(CHECKER) $(top_builddir)/xmlcatalog --noout --del sysid2 $(srcdir)/result/catalogs/mycatalog; \
                    680:        grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    681:        diff result/catalogs/mycatalog.empty $(srcdir)/result/catalogs/mycatalog; \
                    682:        grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    683:        rm -f $(srcdir)/result/catalogs/mycatalog)
                    684: 
                    685: SVGtests : xmllint$(EXEEXT)
                    686:        @echo "## SVG parsing regression tests"
                    687:        -@(for i in $(srcdir)/test/SVG/* ; do \
                    688:          name=`basename $$i`; \
                    689:          if [ ! -d $$i ] ; then \
                    690:          if [ ! -f $(srcdir)/result/SVG/$$name ] ; then \
                    691:              echo New test file $$name ; \
                    692:              $(CHECKER) $(top_builddir)/xmllint $$i > $(srcdir)/result/SVG/$$name ; \
                    693:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    694:          else \
                    695:              echo Testing $$name ; \
                    696:              $(CHECKER) $(top_builddir)/xmllint $$i > result.$$name ; \
                    697:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    698:              diff $(srcdir)/result/SVG/$$name result.$$name ; \
                    699:              $(CHECKER) $(top_builddir)/xmllint result.$$name > result2.$$name ; \
                    700:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    701:              diff result.$$name result2.$$name ; \
                    702:              rm result.$$name result2.$$name ; \
                    703:          fi ; fi ; done)
                    704: 
                    705: Threadtests : testThreads$(EXEEXT)
                    706:        @echo "## Threaded regression tests"
                    707:        -@($(CHECKER) $(top_builddir)/testThreads ; \
                    708:           grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"; \
                    709:           exit 0)
                    710: 
                    711: Readertests : xmllint$(EXEEXT)
                    712:        @(echo > .memdump)
                    713:        @echo "## Reader regression tests"
                    714:        -@(for i in $(srcdir)/test/* ; do \
                    715:          name=`basename $$i`; \
                    716:          if [ ! -d $$i ] ; then \
                    717:          if [ ! -f $(srcdir)/result/$$name.rdr ] ; then \
                    718:              echo New test file $$name ; \
                    719:              $(CHECKER) $(top_builddir)/xmllint --nonet --debug --stream $$i > $(srcdir)/result/$$name.rdr 2>/dev/null ; \
                    720:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    721:          else \
                    722:              log=`$(CHECKER) $(top_builddir)/xmllint --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
                    723:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    724:              diff $(srcdir)/result/$$name.rdr result.$$name` ; \
                    725:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    726:              rm result.$$name ; \
                    727:          fi ; fi ; done)
                    728:        @echo "## Reader on memory regression tests"
                    729:        -@(for i in $(srcdir)/test/* ; do \
                    730:          name=`basename $$i`; \
                    731:          if [ ! -d $$i ] ; then \
                    732:          if [ ! -f $(srcdir)/result/$$name.rdr ] ; then \
                    733:              echo New test file $$name ; \
                    734:              $(CHECKER) $(top_builddir)/xmllint --memory --nonet --debug --stream $$i > $(srcdir)/result/$$name.rdr 2>/dev/null ; \
                    735:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    736:          else \
                    737:              log=`$(CHECKER) $(top_builddir)/xmllint --memory --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
                    738:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    739:              diff $(srcdir)/result/$$name.rdr result.$$name` ; \
                    740:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    741:              rm result.$$name ; \
                    742:          fi ; fi ; done)
                    743:        @(echo > .memdump)
                    744:        @echo "## Walker regression tests"
                    745:        -@(for i in $(srcdir)/test/* ; do \
                    746:          name=`basename $$i`; \
                    747:          if [ ! -d $$i ] ; then \
                    748:          if [ ! -f $(srcdir)/result/$$name.rdr ] ; then \
                    749:              echo New test file $$name ; \
                    750:              $(CHECKER) $(top_builddir)/xmllint --nonet --debug --walker $$i > $(srcdir)/result/$$name.rdr 2>/dev/null ; \
                    751:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    752:          else \
                    753:              log=`$(CHECKER) $(top_builddir)/xmllint --nonet --debug --walker $$i > result.$$name 2>/dev/null ; \
                    754:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    755:              diff $(srcdir)/result/$$name.rdr result.$$name` ; \
                    756:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    757:              rm result.$$name ; \
                    758:          fi ; fi ; done)
                    759:        @echo "## Reader entities substitution regression tests"
                    760:        -@(for i in $(srcdir)/test/* ; do \
                    761:          name=`basename $$i`; \
                    762:          if [ ! -d $$i ] ; then \
                    763:          if [ ! -f $(srcdir)/result/$$name.rde ] ; then \
                    764:              echo New test file $$name ; \
                    765:              $(CHECKER) $(top_builddir)/xmllint --noent --nonet --debug --stream $$i > $(srcdir)/result/$$name.rde 2>/dev/null ; \
                    766:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    767:          else \
                    768:              log=`$(CHECKER) $(top_builddir)/xmllint --noent --nonet --debug --stream $$i > result.$$name 2>/dev/null ; \
                    769:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    770:              diff $(srcdir)/result/$$name.rde result.$$name` ; \
                    771:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    772:              rm result.$$name ; \
                    773:          fi ; fi ; done)
                    774: 
                    775: SAXtests : testSAX$(EXEEXT)
                    776:        @(echo > .memdump)
                    777:        @echo "## SAX1 callbacks regression tests"
                    778:        -@(for i in $(srcdir)/test/* ; do \
                    779:          name=`basename $$i`; \
                    780:          if [ ! -d $$i ] ; then \
                    781:          if [ ! -f $(srcdir)/result/$$name.sax ] ; then \
                    782:              echo New test file $$name ; \
                    783:              $(CHECKER) $(top_builddir)/testSAX $$i > $(srcdir)/result/$$name.sax 2> /dev/null ; \
                    784:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    785:          else \
                    786:              log=`$(CHECKER) $(top_builddir)/testSAX $$i > result.$$name 2> /dev/null ; \
                    787:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    788:              diff $(srcdir)/result/$$name.sax result.$$name` ; \
                    789:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    790:              rm result.$$name ; \
                    791:          fi ; fi ; done)
                    792:        @echo "## SAX2 callbacks regression tests"
                    793:        -@(for i in $(srcdir)/test/* ; do \
                    794:          name=`basename $$i`; \
                    795:          if [ ! -d $$i ] ; then \
                    796:          if [ ! -f $(srcdir)/result/$$name.sax2 ] ; then \
                    797:              echo New test file $$name ; \
                    798:              $(CHECKER) $(top_builddir)/testSAX --sax2 $$i > $(srcdir)/result/$$name.sax2 2> /dev/null ; \
                    799:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    800:          else \
                    801:              log=`$(CHECKER) $(top_builddir)/testSAX --sax2 $$i > result.$$name 2> /dev/null ; \
                    802:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    803:              diff $(srcdir)/result/$$name.sax2 result.$$name` ; \
                    804:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    805:              rm result.$$name ; \
                    806:          fi ; fi ; done)
                    807: 
                    808: Validtests : xmllint$(EXEEXT)
                    809:        @(echo > .memdump)
                    810:        @echo "## Valid documents regression tests"
                    811:        -@(for i in $(srcdir)/test/VCM/* ; do \
                    812:          name=`basename $$i`; \
                    813:          if [ ! -d $$i ] ; then \
                    814:              log=`$(CHECKER) $(top_builddir)/xmllint --valid --noout --nowarning $$i ; \
                    815:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0"`;\
                    816:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    817:          fi ; done ; exit 0)
                    818:        @echo "## Validity checking regression tests"
                    819:        -@(for i in $(srcdir)/test/VC/* ; do \
                    820:          name=`basename $$i`; \
                    821:          if [ ! -d $$i ] ; then \
                    822:          if [ ! -f $(srcdir)/result/VC/$$name ] ; then \
                    823:              echo New test file $$name ; \
                    824:              $(CHECKER) $(top_builddir)/xmllint --noout --valid $$i 2> $(srcdir)/result/VC/$$name ; \
                    825:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    826:          else \
                    827:              log=`$(CHECKER) $(top_builddir)/xmllint --noout --valid $$i 2> result.$$name ; \
                    828:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    829:              diff $(srcdir)/result/VC/$$name result.$$name` ; \
                    830:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    831:              rm result.$$name ; \
                    832:          fi ; fi ; done)
                    833:        @echo "## General documents valid regression tests"
                    834:        -@(for i in $(srcdir)/test/valid/* ; do \
                    835:          name=`basename $$i`; \
                    836:          if [ ! -d $$i ] ; then \
                    837:          if [ ! -f $(srcdir)/result/valid/$$name ] ; then \
                    838:              echo New test file $$name ; \
                    839:              $(CHECKER) $(top_builddir)/xmllint --valid $$i > $(srcdir)/result/valid/$$name 2>$(srcdir)/result/valid/$$name.err ; \
                    840:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    841:          else \
                    842:              log=`$(CHECKER) $(top_builddir)/xmllint --valid $$i > result.$$name 2>error.$$name ; \
                    843:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    844:              diff $(srcdir)/result/valid/$$name result.$$name ; \
                    845:              diff $(srcdir)/result/valid/$$name.err error.$$name` ; \
                    846:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    847:              rm result.$$name error.$$name ; \
                    848:          fi ; fi ; done)
                    849: 
                    850: Regexptests: testRegexp$(EXEEXT)
                    851:        @(echo > .memdump)
                    852:        @echo "## Regexp regression tests"
                    853:        -@(for i in $(srcdir)/test/regexp/* ; do \
                    854:          name=`basename $$i`; \
                    855:          if [ ! -d $$i ] ; then \
                    856:          if [ ! -f $(srcdir)/result/regexp/$$name ] ; then \
                    857:              echo New test file $$name ; \
                    858:              $(CHECKER) $(top_builddir)/testRegexp -i $$i > $(srcdir)/result/regexp/$$name; \
                    859:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    860:          else \
                    861:              log=`$(CHECKER) $(top_builddir)/testRegexp -i $$i 2>&1 > result.$$name ; \
                    862:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    863:              diff $(srcdir)/result/regexp/$$name result.$$name` ; \
                    864:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    865:              rm result.$$name ; \
                    866:          fi ; fi ; done)
                    867:        @echo "## Formal expresssions regression tests"
                    868:        -@(for i in $(srcdir)/test/expr/* ; do \
                    869:          name=`basename $$i`; \
                    870:          if [ ! -d $$i ] ; then \
                    871:          if [ ! -f $(srcdir)/result/expr/$$name ] ; then \
                    872:              echo New test file $$name ; \
                    873:              $(CHECKER) $(top_builddir)/testRegexp --expr -i $$i > $(srcdir)/result/expr/$$name; \
                    874:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    875:          else \
                    876:              log=`$(CHECKER) $(top_builddir)/testRegexp --expr -i $$i 2>&1 > result.$$name ; \
                    877:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    878:              diff $(srcdir)/result/expr/$$name result.$$name` ; \
                    879:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    880:              rm result.$$name ; \
                    881:          fi ; fi ; done)
                    882: 
                    883: Automatatests: testAutomata$(EXEEXT)
                    884:        @(echo > .memdump)
                    885:        @echo "## Automata regression tests"
                    886:        -@(for i in $(srcdir)/test/automata/* ; do \
                    887:          name=`basename $$i`; \
                    888:          if [ ! -d $$i ] ; then \
                    889:          if [ ! -f $(srcdir)/result/automata/$$name ] ; then \
                    890:              echo New test file $$name ; \
                    891:              $(CHECKER) $(top_builddir)/testAutomata $$i > $(srcdir)/result/automata/$$name; \
                    892:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    893:          else \
                    894:              log=`$(CHECKER) $(top_builddir)/testAutomata $$i 2>&1 > result.$$name ; \
                    895:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    896:              diff $(srcdir)/result/automata/$$name result.$$name` ; \
                    897:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                    898:              rm result.$$name ; \
                    899:          fi ; fi ; done)
                    900: 
                    901: dba100000.xml: dbgenattr.pl
                    902:        @echo "## generating dba100000.xml"
                    903:        @($(PERL) $(top_srcdir)/dbgenattr.pl 100000 > dba100000.xml)
                    904: 
                    905: Timingtests: xmllint$(EXEEXT) dba100000.xml
                    906:        @echo "## Timing tests to try to detect performance"
                    907:        @echo "## as well a memory usage breakage when streaming"
                    908:        @echo "## 1/ using the file interface"
                    909:        @echo "## 2/ using the memory interface"
                    910:        @echo "## 3/ repeated DOM parsing"
                    911:        @echo "## 4/ repeated DOM validation"
                    912:        -@($(top_builddir)/xmllint --stream --timing dba100000.xml; \
                    913:           MEM=`cat .memdump | grep "MEMORY ALLOCATED" | awk '{ print $$7}'`;\
                    914:           if [ "$$MEM" != "" ] ; then echo Using $$MEM bytes ; fi ; \
                    915:           grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    916:           exit 0)
                    917:        -@($(top_builddir)/xmllint --stream --timing --memory dba100000.xml; \
                    918:           MEM=`cat .memdump | grep "MEMORY ALLOCATED" | awk '{ print $$7}'`;\
                    919:           if [ "$$MEM" != "" ] ; then echo Using $$MEM bytes ; fi ; \
                    920:           grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    921:           exit 0)
                    922:        -@($(top_builddir)/xmllint --noout --timing --repeat $(srcdir)/test/valid/REC-xml-19980210.xml; \
                    923:           MEM=`cat .memdump | grep "MEMORY ALLOCATED" | awk '{ print $$7}'`;\
                    924:           if [ "$$MEM" != "" ] ; then echo Using $$MEM bytes ; fi ; \
                    925:           grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    926:           exit 0)
                    927: 
                    928: VTimingtests: xmllint$(EXEEXT)
                    929:        -@($(top_builddir)/xmllint --noout --timing --valid --repeat $(srcdir)/test/valid/REC-xml-19980210.xml; \
                    930:           MEM=`cat .memdump | grep "MEMORY ALLOCATED" | awk '{ print $$7}'`;\
                    931:           if [ "$$MEM" != "" ] ; then echo Using $$MEM bytes ; fi ; \
                    932:           grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    933:           exit 0)
                    934: 
                    935: C14Ntests : testC14N$(EXEEXT)
                    936:        @echo "## C14N and XPath regression tests"
                    937:        -@(for m in with-comments without-comments 1-1-without-comments exc-without-comments ; do \
                    938:            for i in $(srcdir)/test/c14n/$$m/*.xml ; do  \
                    939:                if [ ! -d $$i ] ; then \
                    940:                    name=`basename $$i .xml`; \
                    941:                    cmdline="$(CHECKER) $(top_builddir)/testC14N --$$m $$i"; \
                    942:                    if [ -f $(srcdir)/test/c14n/$$m/$$name.xpath ] ; then \
                    943:                        cmdline="$$cmdline $(srcdir)/test/c14n/$$m/$$name.xpath"; \
                    944:                        if [ -f $(srcdir)/test/c14n/$$m/$$name.ns ] ; then \
                    945:                            cmdline="$$cmdline '`cat $(srcdir)/test/c14n/$$m/$$name.ns`'"; \
                    946:                        fi; \
                    947:                    fi; \
                    948:                    $$cmdline > $(srcdir)/test/c14n/test.tmp; \
                    949:                    if [ $$? -eq 0 ]; then \
                    950:                        diff  $(srcdir)/result/c14n/$$m/$$name $(srcdir)/test/c14n/test.tmp; \
                    951:                        if [ $$? -ne 0 ]; then \
                    952:                            echo "Test $$m/$$name failed"; \
                    953:                            cat $(srcdir)/test/c14n/test.tmp; \
                    954:                        fi; \
                    955:                    else \
                    956:                        echo "C14N failed"; \
                    957:                    fi; \
                    958:                    grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    959:                fi; \
                    960:                rm -f $(srcdir)/test/c14n/test.tmp; \
                    961:            done; \
                    962:        done)
                    963: 
                    964: Schemastests: testSchemas$(EXEEXT)
                    965:        @(echo > .memdump)
                    966:        @echo "## Schemas regression tests"
                    967:        -@(for i in $(srcdir)/test/schemas/*_*.xsd ; do \
                    968:          name=`basename $$i | sed 's+_.*++'`; \
                    969:          sno=`basename $$i | sed 's+.*_\(.*\).xsd+\1+'`; \
                    970:          for j in $(srcdir)/test/schemas/"$$name"_*.xml ; do \
                    971:              if [ -f $$j ] ; then \
                    972:              xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \
                    973:              if [ ! -f $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno" ]; \
                    974:              then \
                    975:                  echo New test file "$$name"_"$$sno"_"$$xno" ; \
                    976:                  $(CHECKER) $(top_builddir)/testSchemas $$i $$j \
                    977:                    > $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno" \
                    978:                    2> $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno".err; \
                    979:                  grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    980:              else \
                    981:                  log=`$(CHECKER) $(top_builddir)/testSchemas $$i $$j \
                    982:                    > res.$$name 2> err.$$name;\
                    983:                  grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                    984:                  diff $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno" \
                    985:                       res.$$name;\
                    986:                  diff $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno".err \
                    987:                       err.$$name;\
                    988:                  grep Unimplemented err.$$name`; \
                    989:                  if [ -n "$$log" ] ; then echo "$$name"_"$$sno"_"$$xno" result ; echo $$log ; fi ; \
                    990:                  rm res.$$name err.$$name ; \
                    991:               fi ; fi ;\
                    992:          done; done)
                    993: 
                    994: Relaxtests: xmllint$(EXEEXT)
                    995:        @(echo > .memdump)
                    996:        @echo "## Relax-NG regression tests"
                    997:        -@(for i in $(srcdir)/test/relaxng/*.rng ; do \
                    998:          name=`basename $$i | sed 's+\.rng++'`; \
                    999:          if [ ! -f $(srcdir)/result/relaxng/"$$name"_valid ] ; then \
                   1000:              echo New schemas $$name ; \
                   1001:              $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $(srcdir)/test/relaxng/tutorA.rng $$i \
                   1002:                      > $(srcdir)/result/relaxng/"$$name"_valid \
                   1003:                      2> $(srcdir)/result/relaxng/"$$name"_err; \
                   1004:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                   1005:          else \
                   1006:              log=`$(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $(srcdir)/test/relaxng/tutorA.rng $$i \
                   1007:              > res.$$name 2> err.$$name;\
                   1008:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                   1009:              diff $(srcdir)/result/relaxng/"$$name"_valid \
                   1010:                   res.$$name;\
                   1011:              diff $(srcdir)/result/relaxng/"$$name"_err \
                   1012:                   err.$$name | grep -v "error detected at";\
                   1013:              grep Unimplemented err.$$name`; \
                   1014:              if [ -n "$$log" ] ; then echo schemas $$name result ; echo $$log ; fi ; \
                   1015:              rm res.$$name err.$$name ; \
                   1016:          fi; \
                   1017:          for j in $(srcdir)/test/relaxng/"$$name"_*.xml ; do \
                   1018:              if [ -f $$j ] ; then \
                   1019:              xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \
                   1020:              if [ ! -f $(srcdir)/result/relaxng/"$$name"_"$$xno" ]; \
                   1021:              then \
                   1022:                  echo New test file "$$name"_"$$xno" ; \
                   1023:                  $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $$i $$j \
                   1024:                    > $(srcdir)/result/relaxng/"$$name"_"$$xno" \
                   1025:                    2> $(srcdir)/result/relaxng/"$$name"_"$$xno".err; \
                   1026:                  grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                   1027:              else \
                   1028:                  log=`$(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $$i $$j \
                   1029:                    > res.$$name 2> err.$$name;\
                   1030:                  grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                   1031:                  diff $(srcdir)/result/relaxng/"$$name"_"$$xno" \
                   1032:                       res.$$name;\
                   1033:                  diff $(srcdir)/result/relaxng/"$$name"_"$$xno".err \
                   1034:                       err.$$name | grep -v "error detected at";\
                   1035:                  grep Unimplemented err.$$name`; \
                   1036:                  if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo $$log ; fi ; \
                   1037:                  rm res.$$name err.$$name ; \
                   1038:               fi ; fi ; \
                   1039:          done; done)
                   1040:        @echo "## Relax-NG streaming regression tests"
                   1041:        -@(for i in $(srcdir)/test/relaxng/*.rng ; do \
                   1042:          name=`basename $$i | sed 's+\.rng++'`; \
                   1043:          for j in $(srcdir)/test/relaxng/"$$name"_*.xml ; do \
                   1044:              if [ -f $$j ] ; then \
                   1045:              xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \
                   1046:              if [ ! -f $(srcdir)/result/relaxng/"$$name"_"$$xno" ]; \
                   1047:              then \
                   1048:                  echo New test file "$$name"_"$$xno" ; \
                   1049:                  $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $$i $$j \
                   1050:                    > $(srcdir)/result/relaxng/"$$name"_"$$xno" \
                   1051:                    2> $(srcdir)/result/relaxng/"$$name"_"$$xno".err; \
                   1052:                  grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                   1053:              else \
                   1054:                  log=`$(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --stream --relaxng $$i $$j \
                   1055:                    > res.$$name 2> err.$$name;\
                   1056:                  grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                   1057:                  diff $(srcdir)/result/relaxng/"$$name"_"$$xno" res.$$name;\
                   1058:                  if [ "$$name" != "tutor10_1" -a "$$name" != "tutor10_2" -a "$$name" != "tutor3_2" -a "$$name" != "307377" -a "$$name" != "tutor8_2" ] ; then \
                   1059:                      diff $(srcdir)/result/relaxng/"$$name"_"$$xno".err \
                   1060:                           err.$$name | grep -v "error detected at";\
                   1061:                  fi ; grep Unimplemented err.$$name`; \
                   1062:                  if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo $$log ; fi ; \
                   1063:                  rm res.$$name err.$$name ; \
                   1064:               fi ; fi ; \
                   1065:          done; done)
                   1066: 
                   1067: Schematrontests: xmllint$(EXEEXT)
                   1068:        @(echo > .memdump)
                   1069:        @echo "## Schematron regression tests"
                   1070:        -@(for i in $(srcdir)/test/schematron/*.sct ; do \
                   1071:          name=`basename $$i | sed 's+\.sct++'`; \
                   1072:          for j in $(srcdir)/test/schematron/"$$name"_*.xml ; do \
                   1073:              if [ -f $$j ] ; then \
                   1074:              xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \
                   1075:              if [ ! -f $(srcdir)/result/schematron/"$$name"_"$$xno" ]; \
                   1076:              then \
                   1077:                  echo New test file "$$name"_"$$xno" ; \
                   1078:                  $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --schematron $$i $$j \
                   1079:                    > $(srcdir)/result/schematron/"$$name"_"$$xno" \
                   1080:                    2> $(srcdir)/result/schematron/"$$name"_"$$xno".err; \
                   1081:                  grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                   1082:              else \
                   1083:                  log=`$(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --schematron $$i $$j \
                   1084:                    > res.$$name 2> err.$$name;\
                   1085:                  grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                   1086:                  diff $(srcdir)/result/schematron/"$$name"_"$$xno" \
                   1087:                       res.$$name;\
                   1088:                  diff $(srcdir)/result/schematron/"$$name"_"$$xno".err \
                   1089:                       err.$$name | grep -v "error detected at";\
                   1090:                  grep Unimplemented err.$$name`; \
                   1091:                  if [ -n "$$log" ] ; then echo "$$name"_"$$xno" result ; echo $$log ; fi ; \
                   1092:                  rm res.$$name err.$$name ; \
                   1093:               fi ; fi ; \
                   1094:          done; done)
                   1095: 
                   1096: RelaxNGPythonTests:
                   1097:        @(if [ -x $(PYTHON) ] ; then \
                   1098:            PYTHONPATH=$(top_builddir)/python:$(top_builddir)/python/.libs:$$PYTHONPATH ; \
                   1099:            export PYTHONPATH; \
                   1100:            LD_LIBRARY_PATH="$(top_builddir)/.libs:$$LD_LIBRARY_PATH" ; \
                   1101:            export LD_LIBRARY_PATH; \
                   1102:            echo "## Relax-NG Python based test suite 1" ; \
                   1103:            $(CHECKER) $(PYTHON) $(srcdir)/check-relaxng-test-suite.py ; \
                   1104:            echo "## Relax-NG Python based test suite 2" ; \
                   1105:            $(CHECKER) $(PYTHON) $(srcdir)/check-relaxng-test-suite2.py ; \
                   1106:          fi)
                   1107: 
                   1108: SchemasPythonTests:
                   1109:        @(if [ -x $(PYTHON) ] ; then \
                   1110:            PYTHONPATH=$(top_builddir)/python:$(top_builddir)/python/.libs:$$PYTHONPATH; \
                   1111:            export PYTHONPATH; \
                   1112:            LD_LIBRARY_PATH="$(top_builddir)/.libs:$$LD_LIBRARY_PATH" ; \
                   1113:            export LD_LIBRARY_PATH; \
                   1114:            echo "## XML Schemas datatypes Python based test suite" ; \
                   1115:            echo "## It is normal to see 11 errors reported" ; \
                   1116:            $(CHECKER) $(PYTHON) $(srcdir)/check-xsddata-test-suite.py ; \
                   1117:          fi)
                   1118:        @(if [ -x $(PYTHON) -a -d xstc ] ; then cd xstc ; $(MAKE) CHECKER="$(CHECKER)" MAKEFLAGS+=--silent pytests ; fi)
                   1119: 
                   1120: Patterntests: xmllint$(EXEEXT)
                   1121:        @(echo > .memdump)
                   1122:        @echo "## Pattern regression tests"
                   1123:        -@(for i in $(srcdir)/test/pattern/*.pat ; do \
                   1124:          name=`basename $$i .pat`; \
                   1125:          if [ -f $(srcdir)/test/pattern/$$name.xml ] ; then \
                   1126:          if [ ! -f $(srcdir)/result/pattern/$$name ] ; then \
                   1127:              rm -f result.$$name ; \
                   1128:              echo New test file $$name ; \
                   1129:              for pat in `cat $$i` ; do \
                   1130:              $(CHECKER) $(top_builddir)/xmllint --walker --pattern $$pat $(srcdir)/test/pattern/$$name.xml >> $(srcdir)/result/pattern/$$name ; \
                   1131:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                   1132:              done ;\
                   1133:          else \
                   1134:              rm -f result.$$name ; \
                   1135:              lst=`cat $$i` ; \
                   1136:              log=`for pat in $$lst ; do $(CHECKER) $(top_builddir)/xmllint --walker --pattern $$pat $(srcdir)/test/pattern/$$name.xml 2>&1 >> result.$$name ; \
                   1137:              grep "MORY ALLO" .memdump  | grep -v "MEMORY ALLOCATED : 0";\
                   1138:              done ;\
                   1139:              diff $(srcdir)/result/pattern/$$name result.$$name` ; \
                   1140:              if [ -n "$$log" ] ; then echo $$name result ; echo $$log ; fi ; \
                   1141:              rm result.$$name ; \
                   1142:          fi ; fi ; done ;)
                   1143: 
                   1144: ModuleTests: testModule$(EXEEXT) testdso.la
                   1145:        @echo "## Module tests"
                   1146:        @(./testModule$(EXEEXT))
                   1147: 
                   1148: cleanup:
                   1149:        -@(find . -name .\#\* -exec rm {} \;)
                   1150:        -@(find . -name \*.gcda -o *.gcno -exec rm {} \;)
                   1151:        -@(find . -name \*.orig -o -name \*.rej -o -name \*.old -exec rm {} \;)
                   1152: 
                   1153: dist-hook: cleanup libxml2.spec
                   1154:        -cp libxml2.spec $(distdir)
                   1155:        (cd $(srcdir) ; tar -cf - --exclude CVS --exclude .svn win32 macos vms VxWorks bakefile test result) | (cd $(distdir); tar xf -)
                   1156: 
                   1157: dist-source: distdir
                   1158:        $(AMTAR) -chof - --exclude Tests --exclude test --exclude result $(distdir) | GZIP=$(GZIP_ENV) gzip -c >`echo "$(distdir)" | sed "s+libxml2+libxml2-sources+"`.tar.gz
                   1159: 
                   1160: dist-test: distdir
                   1161:        (mkdir -p $(distdir))
                   1162:        (cd $(srcdir) ; tar -cf - --exclude CVS --exclude .svn xstc/Tests) | (cd $(distdir); tar xf -)
                   1163:        tar -cf - $(distdir)/test $(distdir)/result $(distdir)/xstc/Tests  $(distdir)/Makefile.tests $(distdir)/README $(distdir)/README.tests $(distdir)/AUTHORS $(distdir)/testapi.c $(distdir)/runtest.c $(distdir)/runsuite.c | GZIP=$(GZIP_ENV) gzip -c >`echo "$(distdir)" | sed "s+libxml2+libxml2-tests+"`.tar.gz
                   1164:        @(rm -rf $(distdir)/xstc/Test)
                   1165: 
                   1166: cleantar:
                   1167:        @(rm -f libxml*.tar.gz COPYING.LIB)
                   1168: 
                   1169: rpm: cleanup cleantar
                   1170:        @(unset CDPATH ; $(MAKE) dist-source dist && rpmbuild -ta $(distdir).tar.gz)
                   1171: 
                   1172: ## We create xml2Conf.sh here and not from configure because we want
                   1173: ## to get the paths expanded correctly.  Macros like srcdir are given
                   1174: ## the value NONE in configure if the user doesn't specify them (this
                   1175: ## is an autoconf feature, not a bug).
                   1176: 
                   1177: xml2Conf.sh: xml2Conf.sh.in Makefile
                   1178: ## Use sed and then mv to avoid problems if the user interrupts.
                   1179:        sed -e 's?\@XML_LIBDIR\@?$(XML_LIBDIR)?g' \
                   1180:            -e 's?\@XML_INCLUDEDIR\@?$(XML_INCLUDEDIR)?g' \
                   1181:            -e 's?\@VERSION\@?$(VERSION)?g' \
                   1182:            -e 's?\@XML_LIBS\@?$(XML_LIBS)?g' \
                   1183:               < $(srcdir)/xml2Conf.sh.in > xml2Conf.tmp \
                   1184:        && mv xml2Conf.tmp xml2Conf.sh
                   1185: 
                   1186: CLEANFILES=xml2Conf.sh *.gcda *.gcno
                   1187: 
                   1188: confexecdir=$(libdir)
                   1189: confexec_DATA = xml2Conf.sh
                   1190: CVS_EXTRA_DIST=
                   1191: EXTRA_DIST = xml2-config.in xml2Conf.sh.in libxml.spec.in libxml2.spec \
                   1192:              libxml.m4 Copyright check-xml-test-suite.py gentest.py \
                   1193:             check-relaxng-test-suite.py check-relaxng-test-suite2.py \
                   1194:             check-xsddata-test-suite.py check-xinclude-test-suite.py \
                   1195:              example/Makefile.am example/gjobread.c example/gjobs.xml \
                   1196:             $(man_MANS) libxml-2.0.pc.in libxml-2.0-uninstalled.pc.in \
                   1197:             trionan.c trionan.h triostr.c triostr.h trio.c trio.h \
                   1198:             triop.h triodef.h libxml.h elfgcchack.h \
                   1199:             testThreadsWin32.c genUnicode.py TODO_SCHEMAS \
                   1200:             dbgen.pl dbgenattr.pl regressions.py regressions.xml \
                   1201:             README.tests Makefile.tests libxml2.syms \
                   1202:             $(CVS_EXTRA_DIST)
                   1203: 
                   1204: 
                   1205: pkgconfigdir = $(libdir)/pkgconfig
                   1206: pkgconfig_DATA = libxml-2.0.pc
                   1207: 
                   1208: #
                   1209: # Install the tests program sources as examples 
                   1210: #
                   1211: BASE_DIR=$(datadir)/doc
                   1212: DOC_MODULE=libxml2-$(VERSION)
                   1213: EXAMPLES_DIR=$(BASE_DIR)/$(DOC_MODULE)/examples
                   1214: 
                   1215: install-data-local: 
                   1216:        @MKDIR_P@ $(DESTDIR)$(BASE_DIR)/$(DOC_MODULE)
                   1217:        -@INSTALL@ -m 0644 $(srcdir)/Copyright $(DESTDIR)$(BASE_DIR)/$(DOC_MODULE)
                   1218:        @MKDIR_P@ $(DESTDIR)$(EXAMPLES_DIR)
                   1219:        -@INSTALL@ -m 0644 $(srcdir)/xmllint.c $(DESTDIR)$(EXAMPLES_DIR)
                   1220:        -@INSTALL@ -m 0644 $(srcdir)/testSAX.c $(DESTDIR)$(EXAMPLES_DIR)
                   1221:        -@INSTALL@ -m 0644 $(srcdir)/testHTML.c $(DESTDIR)$(EXAMPLES_DIR)
                   1222:        -@INSTALL@ -m 0644 $(srcdir)/testXPath.c $(DESTDIR)$(EXAMPLES_DIR)
                   1223: 
                   1224: uninstall-local:
                   1225:        rm -f $(DESTDIR)$(EXAMPLES_DIR)/testXPath.c
                   1226:        rm -f $(DESTDIR)$(EXAMPLES_DIR)/testHTML.c
                   1227:        rm -f $(DESTDIR)$(EXAMPLES_DIR)/testSAX.c
                   1228:        rm -f $(DESTDIR)$(EXAMPLES_DIR)/xmllint.c
                   1229:        rm -rf $(DESTDIR)$(EXAMPLES_DIR)
                   1230:        rm -f $(DESTDIR)$(BASE_DIR)/$(DOC_MODULE)/Copyright
                   1231:        rm -rf $(DESTDIR)$(BASE_DIR)/$(DOC_MODULE)
                   1232: 
                   1233: tst: tst.c
                   1234:        $(CC) $(CFLAGS) -Iinclude -o tst tst.c .libs/libxml2.a -lpthread -lm -lz
                   1235: 
                   1236: sparse: clean
                   1237:        $(MAKE) CC=cgcc
                   1238: 
                   1239: #
                   1240: # Coverage support, largely borrowed from libvirt
                   1241: # Both binaries comes from the lcov package in Fedora
                   1242: #
                   1243: LCOV = /usr/bin/lcov
                   1244: GENHTML = /usr/bin/genhtml
                   1245: 
                   1246: cov: clean-cov
                   1247:        if [ "`echo $(LDFLAGS) | grep coverage`" = "" ] ; then \
                   1248:            echo not configured with coverage; exit 1 ; fi
                   1249:        if [ ! -x $(LCOV) -o ! -x $(GENHTML) ] ; then \
                   1250:            echo Need $(LCOV) and $(GENHTML) excecutables; exit 1 ; fi
                   1251:        -@($(MAKE) check)
                   1252:        -@(./runsuite$(EXEEXT))
                   1253:        mkdir $(top_builddir)/coverage
                   1254:        $(LCOV) -c -o $(top_builddir)/coverage/libxml2.info.tmp -d $(top_srcdir)
                   1255:        $(LCOV) -r $(top_builddir)/coverage/libxml2.info.tmp -o $(top_builddir)/coverage/libxml2.info *usr*
                   1256:        rm $(top_builddir)/coverage/libxml2.info.tmp
                   1257:        $(GENHTML) -s -t "libxml2" -o $(top_builddir)/coverage --legend $(top_builddir)/coverage/libxml2.info
                   1258:        echo "Coverage report is in $(top_builddir)/coverage/index.html"
                   1259: 
                   1260: clean-cov:
                   1261:        rm -rf $(top_builddir)/coverage
                   1262: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>