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