File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / libxml2 / Makefile.am
Revision 1.1.1.3 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Sun Jun 15 19:53:29 2014 UTC (10 years ago) by misho
Branches: libxml2, MAIN
CVS tags: v2_9_1p0, v2_9_1, HEAD
libxml2 2.9.1

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

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