source: trunk/third/libxml2/Makefile.am @ 21532

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