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