Makefile.am revision 07cb8226c097ce3d8db934a07025c62803ad1f64
1## Process this file with automake to produce Makefile.in 2 3SUBDIRS = include . doc example @PYTHON_SUBDIR@ 4 5DIST_SUBDIRS = include . doc example python 6 7INCLUDES = -I$(top_builddir)/include -I@srcdir@/include @THREAD_CFLAGS@ @Z_CFLAGS@ 8 9noinst_PROGRAMS=testSchemas testRelax testSAX testHTML testXPath testURI \ 10 testDocbook testThreads testC14N testAutomata testRegexp \ 11 testReader 12 13bin_PROGRAMS = xmllint xmlcatalog 14 15bin_SCRIPTS=xml2-config 16 17lib_LTLIBRARIES = libxml2.la 18libxml2_la_LIBADD = @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) -lm 19 20libxml2_la_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 \ 28 xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c \ 29 triostr.c trio.c xmlreader.c relaxng.c dict.c SAX2.c 30else 31libxml2_la_SOURCES = SAX.c entities.c encoding.c error.c parserInternals.c \ 32 parser.c tree.c hash.c list.c xmlIO.c xmlmemory.c uri.c \ 33 valid.c xlink.c HTMLparser.c HTMLtree.c debugXML.c xpath.c \ 34 xpointer.c xinclude.c nanohttp.c nanoftp.c DOCBparser.c \ 35 catalog.c globals.c threads.c c14n.c \ 36 xmlregexp.c xmlschemas.c xmlschemastypes.c xmlunicode.c \ 37 xmlreader.c relaxng.c dict.c SAX2.c 38endif 39 40DEPS = $(top_builddir)/libxml2.la 41LDADDS = @STATIC_BINARIES@ $(top_builddir)/libxml2.la @THREAD_LIBS@ @Z_LIBS@ $(ICONV_LIBS) -lm @WIN32_EXTRA_LIBADD@ 42 43 44man_MANS = xml2-config.1 libxml.3 45 46m4datadir = $(datadir)/aclocal 47m4data_DATA = libxml.m4 48 49xmllint_SOURCES=xmllint.c 50xmllint_LDFLAGS = 51xmllint_DEPENDENCIES = $(DEPS) 52xmllint_LDADD= @RDL_LIBS@ $(LDADDS) 53 54testSAX_SOURCES=testSAX.c 55testSAX_LDFLAGS = 56testSAX_DEPENDENCIES = $(DEPS) 57testSAX_LDADD= $(LDADDS) 58 59testHTML_SOURCES=testHTML.c 60testHTML_LDFLAGS = 61testHTML_DEPENDENCIES = $(DEPS) 62testHTML_LDADD= $(LDADDS) 63 64testDocbook_SOURCES=testDocbook.c 65testDocbook_LDFLAGS = 66testDocbook_DEPENDENCIES = $(DEPS) 67testDocbook_LDADD= $(LDADDS) 68 69xmlcatalog_SOURCES=xmlcatalog.c 70xmlcatalog_LDFLAGS = 71xmlcatalog_DEPENDENCIES = $(DEPS) 72xmlcatalog_LDADD= @RDL_LIBS@ $(LDADDS) 73 74testXPath_SOURCES=testXPath.c 75testXPath_LDFLAGS = 76testXPath_DEPENDENCIES = $(DEPS) 77testXPath_LDADD= $(LDADDS) 78 79testC14N_SOURCES=testC14N.c 80testC14N_LDFLAGS = 81testC14N_DEPENDENCIES = $(DEPS) 82testC14N_LDADD= $(LDADDS) 83 84testThreads_SOURCES=testThreads.c 85testThreads_LDFLAGS = 86testThreads_DEPENDENCIES = $(DEPS) 87testThreads_LDADD= $(LDADDS) 88 89testURI_SOURCES=testURI.c 90testURI_LDFLAGS = 91testURI_DEPENDENCIES = $(DEPS) 92testURI_LDADD= $(LDADDS) 93 94testRegexp_SOURCES=testRegexp.c 95testRegexp_LDFLAGS = 96testRegexp_DEPENDENCIES = $(DEPS) 97testRegexp_LDADD= $(LDADDS) 98 99testAutomata_SOURCES=testAutomata.c 100testAutomata_LDFLAGS = 101testAutomata_DEPENDENCIES = $(DEPS) 102testAutomata_LDADD= $(LDADDS) 103 104testSchemas_SOURCES=testSchemas.c 105testSchemas_LDFLAGS = 106testSchemas_DEPENDENCIES = $(DEPS) 107testSchemas_LDADD= $(LDADDS) 108 109testRelax_SOURCES=testRelax.c 110testRelax_LDFLAGS = 111testRelax_DEPENDENCIES = $(DEPS) 112testRelax_LDADD= $(LDADDS) 113 114testReader_SOURCES=testReader.c 115testReader_LDFLAGS = 116testReader_DEPENDENCIES = $(DEPS) 117testReader_LDADD= $(LDADDS) 118 119#testOOM_SOURCES=testOOM.c testOOMlib.h testOOMlib.c 120#testOOM_LDFLAGS = 121#testOOM_DEPENDENCIES = $(DEPS) 122#testOOM_LDADD= $(LDADDS) 123 124check-local: tests 125 126testall : tests SVGtests SAXtests 127 128tests: XMLtests XMLenttests SAXtests HTMLtests Validtests URItests XPathtests XPtrtests XIncludetests C14Ntests Scripttests Catatests @TEST_REGEXPS@ @TEST_SCHEMAS@ @TEST_THREADS@ 129 @(if [ "@PYTHON_SUBDIR@" != "" ] ; then cd python ; $(MAKE) tests ; fi) 130 131valgrind: 132 @echo '## Running the regression tests under Valgrind' 133 @echo '## Go get a cup of coffee it is gonna take a while ...' 134 $(MAKE) CHECKER='valgrind -q' tests 135 136HTMLtests : testHTML$(EXEEXT) 137 @(echo > .memdump) 138 @echo "##" 139 @echo "## HTML regression tests" 140 @echo "##" 141 -@(for i in $(srcdir)/test/HTML/* ; do \ 142 name=`basename $$i`; \ 143 if [ ! -d $$i ] ; then \ 144 if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \ 145 echo New test file $$name ; \ 146 $(CHECKER) $(top_builddir)/testHTML $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \ 147 else \ 148 echo Testing $$name ; \ 149 $(CHECKER) $(top_builddir)/testHTML $$i > result.$$name 2> error.$$name ; \ 150 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 151 diff $(srcdir)/result/HTML/$$name result.$$name ; \ 152 diff -b $(srcdir)/result/HTML/$$name.err error.$$name ; \ 153 $(CHECKER) $(top_builddir)/testHTML result.$$name > result2.$$name 2>error.$$name ; \ 154 diff result.$$name result2.$$name ; \ 155 rm result.$$name result2.$$name error.$$name ; \ 156 fi ; fi ; done) 157 @echo "##" 158 @echo "## Push HTML regression tests" 159 @echo "##" 160 -@(for i in $(srcdir)/test/HTML/* ; do \ 161 name=`basename $$i`; \ 162 if [ ! -d $$i ] ; then \ 163 if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \ 164 echo New test file $$name ; \ 165 $(CHECKER) $(top_builddir)/testHTML $$i > $(srcdir)/result/HTML/$$name 2>$(srcdir)/result/HTML/$$name.err ; \ 166 else \ 167 echo Testing $$name ; \ 168 $(CHECKER) $(top_builddir)/testHTML --push $$i > result.$$name 2> error.$$name ; \ 169 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 170 diff $(srcdir)/result/HTML/$$name result.$$name ; \ 171 cut -b 1-15 $(srcdir)/result/HTML/$$name.err > errorcut.$$name; \ 172 cut -b 1-15 error.$$name > errorcut2.$$name; \ 173 diff -b errorcut.$$name errorcut2.$$name ; \ 174 $(CHECKER) $(top_builddir)/testHTML --push result.$$name > result2.$$name 2>error.$$name ; \ 175 diff result.$$name result2.$$name ; \ 176 rm result.$$name result2.$$name error.$$name errorcut.$$name errorcut2.$$name ; \ 177 fi ; fi ; done) 178 @echo "##" 179 @echo "## HTML SAX regression tests" 180 @echo "##" 181 -@(for i in $(srcdir)/test/HTML/* ; do \ 182 name=`basename $$i`; \ 183 if [ ! -d $$i ] ; then \ 184 if [ ! -f $(srcdir)/result/HTML/$$name.sax ] ; then \ 185 echo New test file $$name ; \ 186 $(CHECKER) $(top_builddir)/testHTML --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \ 187 else \ 188 echo Testing $$name ; \ 189 $(CHECKER) $(top_builddir)/testHTML --sax $$i > result.$$name.sax ; \ 190 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 191 diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax ; \ 192 rm result.$$name.sax ; \ 193 fi ; fi ; done) 194 @echo "##" 195 @echo "## Push HTML SAX regression tests" 196 @echo "##" 197 -@(for i in $(srcdir)/test/HTML/* ; do \ 198 name=`basename $$i`; \ 199 if [ ! -d $$i ] ; then \ 200 if [ ! -f $(srcdir)/result/HTML/$$name ] ; then \ 201 echo New test file $$name ; \ 202 $(CHECKER) $(top_builddir)/testHTML --sax $$i > $(srcdir)/result/HTML/$$name.sax ; \ 203 else \ 204 echo Testing $$name ; \ 205 $(CHECKER) $(top_builddir)/testHTML --push --sax $$i > result.$$name.sax ; \ 206 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 207 diff $(srcdir)/result/HTML/$$name.sax result.$$name.sax ; \ 208 rm result.$$name.sax ; \ 209 fi ; fi ; done) 210 211 212XMLtests : xmllint$(EXEEXT) 213 @(echo > .memdump) 214 @echo "##" 215 @echo "## XML regression tests" 216 @echo "##" 217 @echo "## You should see one warning on entity 'title.xml' for ent2" 218 @echo "##" 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 echo Testing $$name ; \ 228 $(CHECKER) $(top_builddir)/xmllint $$i > result.$$name ; \ 229 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 230 diff $(srcdir)/result/$$name result.$$name ; \ 231 $(CHECKER) $(top_builddir)/xmllint result.$$name > result2.$$name ; \ 232 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 233 diff result.$$name result2.$$name ; \ 234 rm result.$$name result2.$$name ; \ 235 fi ; fi ; done) 236 @(echo > .memdump) 237 @echo "##" 238 @echo "## XML push regression tests" 239 @echo "##" 240 @echo "## You should see one warning on entity 'title.xml' for ent2" 241 @echo "##" 242 -@(for i in $(srcdir)/test/* ; do \ 243 name=`basename $$i`; \ 244 if [ ! -d $$i ] ; then \ 245 if [ ! -f $(srcdir)/result/$$name ] ; then \ 246 echo New test file $$name ; \ 247 $(CHECKER) $(top_builddir)/xmllint --push $$i > $(srcdir)/result/$$name ; \ 248 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 249 else \ 250 echo Testing $$name ; \ 251 $(CHECKER) $(top_builddir)/xmllint --push $$i > result.$$name ; \ 252 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 253 diff $(srcdir)/result/$$name result.$$name ; \ 254 $(CHECKER) $(top_builddir)/xmllint --push result.$$name > result2.$$name ; \ 255 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 256 diff result.$$name result2.$$name ; \ 257 rm result.$$name result2.$$name ; \ 258 fi ; fi ; done) 259 @echo "##" 260 @echo "## XML regression tests on memory" 261 @echo "##" 262 @echo "## You should see two warnings on entity 'title.xml' for ent2" 263 @echo "##" 264 -@(for i in $(srcdir)/test/* ; do \ 265 name=`basename $$i`; \ 266 if [ ! -d $$i ] ; then \ 267 if [ ! -f $(srcdir)/result/$$name ] ; then \ 268 echo New test file $$name ; \ 269 $(CHECKER) $(top_builddir)/xmllint --memory $$i > $(srcdir)/result/$$name ; \ 270 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 271 else \ 272 echo Testing $$name ; \ 273 $(CHECKER) $(top_builddir)/xmllint --memory $$i > result.$$name ; \ 274 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 275 diff $(srcdir)/result/$$name result.$$name ; \ 276 $(CHECKER) $(top_builddir)/xmllint --memory result.$$name > result2.$$name ; \ 277 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 278 diff result.$$name result2.$$name ; \ 279 rm result.$$name result2.$$name ; \ 280 fi ; fi ; done) 281 282Docbtests : xmllint$(EXEEXT) 283 @(echo > .memdump) 284 @echo "##" 285 @echo "## SGML DocBook regression tests" 286 @echo "##" 287 -@(for i in $(srcdir)/test/DocBook/*.sgm ; do \ 288 name=`basename $$i .sgm`; \ 289 if [ ! -d $$i ] ; then \ 290 if [ ! -f $(srcdir)/result/DocBook/$$name.xml ] ; then \ 291 echo New test file $$name ; \ 292 $(CHECKER) $(top_builddir)/xmllint --sgml $$i > $(srcdir)/result/DocBook/$$name.xml ; \ 293 $(CHECKER) $(top_builddir)/xmllint --valid --noout $(srcdir)/result/DocBook/$$name.xml ; \ 294 else \ 295 echo Testing $$name ; \ 296 $(CHECKER) $(top_builddir)/xmllint --sgml $$i > result.$$name ; \ 297 diff $(srcdir)/result/DocBook/$$name.xml result.$$name ; \ 298 $(CHECKER) $(top_builddir)/xmllint --valid --noout result.$$name ; \ 299 rm result.$$name ; \ 300 fi ; fi ; done) 301 302XMLenttests : xmllint$(EXEEXT) 303 @(echo > .memdump) 304 @echo "##" 305 @echo "## XML entity subst regression tests" 306 @echo "##" 307 -@(for i in $(srcdir)/test/* ; do \ 308 name=`basename $$i`; \ 309 if [ ! -d $$i ] ; then \ 310 if [ ! -f $(srcdir)/result/noent/$$name ] ; then \ 311 echo New test file $$name ; \ 312 $(CHECKER) $(top_builddir)/xmllint --noent $$i > $(srcdir)/result/noent/$$name ; \ 313 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 314 else \ 315 echo Testing $$name ; \ 316 $(CHECKER) $(top_builddir)/xmllint --noent $$i > result.$$name ; \ 317 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 318 diff $(srcdir)/result/noent/$$name result.$$name ; \ 319 $(CHECKER) $(top_builddir)/xmllint --noent result.$$name > result2.$$name ; \ 320 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 321 diff result.$$name result2.$$name ; \ 322 rm result.$$name result2.$$name ; \ 323 fi ; fi ; done) 324 325URItests : testURI$(EXEEXT) 326 @(echo > .memdump) 327 @echo "##" 328 @echo "## URI module regression tests" 329 @echo "##" 330 -@(for i in $(srcdir)/test/URI/*.data ; do \ 331 name=`basename $$i`; \ 332 if [ ! -d $$i ] ; then \ 333 if [ ! -f $(srcdir)/result/URI/$$name ] ; then \ 334 echo New test file $$name ; \ 335 $(CHECKER) $(top_builddir)/testURI -base 'http://foo.com/path/to/index.html?orig#help' < $$i > $(srcdir)/result/URI/$$name ; \ 336 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 337 else \ 338 echo Testing $$name ; \ 339 $(CHECKER) $(top_builddir)/testURI -base 'http://foo.com/path/to/index.html?orig#help' < $$i > result.$$name ; \ 340 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 341 diff $(srcdir)/result/URI/$$name result.$$name ; \ 342 rm result.$$name ; \ 343 fi ; fi ; done) 344 -@(for i in $(srcdir)/test/URI/*.uri ; do \ 345 name=`basename $$i`; \ 346 if [ ! -d $$i ] ; then \ 347 if [ ! -f $(srcdir)/result/URI/$$name ] ; then \ 348 echo New test file $$name ; \ 349 $(CHECKER) $(top_builddir)/testURI < $$i > $(srcdir)/result/URI/$$name ; \ 350 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 351 else \ 352 echo Testing $$name ; \ 353 $(CHECKER) $(top_builddir)/testURI < $$i > result.$$name ; \ 354 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 355 diff $(srcdir)/result/URI/$$name result.$$name ; \ 356 rm result.$$name ; \ 357 fi ; fi ; done) 358 359XPathtests : testXPath$(EXEEXT) 360 @(echo > .memdump) 361 @echo "##" 362 @echo "## XPath regression tests" 363 @echo "##" 364 -@(if [ "`$(top_builddir)/testXPath | grep 'support not compiled in'`" != "" ] ; \ 365 then echo Skipping debug not compiled in ; exit 0 ; fi ; \ 366 for i in $(srcdir)/test/XPath/expr/* ; do \ 367 name=`basename $$i`; \ 368 if [ ! -d $$i ] ; then \ 369 if [ ! -f $(srcdir)/result/XPath/expr/$$name ] ; then \ 370 echo New test file $$name ; \ 371 $(CHECKER) $(top_builddir)/testXPath -f --expr $$i > $(srcdir)/result/XPath/expr/$$name ; \ 372 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 373 else \ 374 echo Testing $$name ; \ 375 $(CHECKER) $(top_builddir)/testXPath -f --expr $$i > result.$$name ; \ 376 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 377 diff $(srcdir)/result/XPath/expr/$$name result.$$name ; \ 378 rm result.$$name ; \ 379 fi ; fi ; done ; \ 380 for i in $(srcdir)/test/XPath/docs/* ; do \ 381 if [ ! -d $$i ] ; then \ 382 doc=`basename $$i`; \ 383 for j in $(srcdir)/test/XPath/tests/$$doc* ; do \ 384 if [ ! -f $$j ] ; then continue ; fi ; \ 385 name=`basename $$j`; \ 386 if [ ! -d $$j ] ; then \ 387 if [ ! -f $(srcdir)/result/XPath/tests/$$name ] ; then \ 388 echo New test file $$name ; \ 389 $(CHECKER) $(top_builddir)/testXPath -f -i $$i $$j > $(srcdir)/result/XPath/tests/$$name ; \ 390 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 391 else \ 392 echo Testing $$name ; \ 393 $(CHECKER) $(top_builddir)/testXPath -f -i $$i $$j > result.$$name ; \ 394 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 395 diff $(srcdir)/result/XPath/tests/$$name result.$$name ; \ 396 rm result.$$name ; \ 397 fi ; fi ; done ; fi ; done) 398 399XPtrtests : testXPath$(EXEEXT) 400 @(echo > .memdump) 401 @echo "##" 402 @echo "## XPointer regression tests" 403 @echo "##" 404 -@(if [ "`$(top_builddir)/testXPath | grep 'support not compiled in'`" != "" ] ; \ 405 then echo Skipping debug not compiled in ; exit 0 ; fi ; \ 406 for i in $(srcdir)/test/XPath/docs/* ; do \ 407 if [ ! -d $$i ] ; then \ 408 doc=`basename $$i`; \ 409 for j in $(srcdir)/test/XPath/xptr/$$doc* ; do \ 410 if [ ! -f $$j ] ; then continue ; fi ; \ 411 name=`basename $$j`; \ 412 if [ ! -d $$j ] ; then \ 413 if [ ! -f $(srcdir)/result/XPath/xptr/$$name ] ; then \ 414 echo New test file $$name ; \ 415 $(CHECKER) $(top_builddir)/testXPath -xptr -f -i $$i $$j > $(srcdir)/result/XPath/xptr/$$name ; \ 416 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 417 else \ 418 echo Testing $$name ; \ 419 $(CHECKER) $(top_builddir)/testXPath -xptr -f -i $$i $$j > result.$$name ; \ 420 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 421 diff $(srcdir)/result/XPath/xptr/$$name result.$$name ; \ 422 rm result.$$name ; \ 423 fi ; fi ; done ; fi ; done) 424 425XIncludetests : xmllint$(EXEEXT) 426 @(echo > .memdump) 427 @echo "##" 428 @echo "## XInclude regression tests" 429 @echo "##" 430 @echo "## the warning reported on fallback.xml test is expected" 431 @echo "##" 432 -@(for i in $(srcdir)/test/XInclude/docs/* ; do \ 433 name=`basename $$i`; \ 434 if [ ! -d $$i ] ; then \ 435 if [ ! -f $(srcdir)/result/XInclude/$$name ] ; then \ 436 echo New test file $$name ; \ 437 $(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > $(srcdir)/result/XInclude/$$name ; \ 438 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 439 else \ 440 echo Testing $$name ; \ 441 $(CHECKER) $(top_builddir)/xmllint --nowarning --xinclude $$i > result.$$name ; \ 442 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 443 diff $(srcdir)/result/XInclude/$$name result.$$name ; \ 444 rm result.$$name ; \ 445 fi ; fi ; done) 446 447Scripttests : xmllint$(EXEEXT) 448 @(echo > .memdump) 449 @echo "##" 450 @echo "## Scripts regression tests" 451 @echo "## Some of the base computations may be different if srcdir != ." 452 @echo "##" 453 -@(for i in $(srcdir)/test/scripts/*.script ; do \ 454 name=`basename $$i .script`; \ 455 xml=$(srcdir)/test/scripts/`basename $$i .script`.xml; \ 456 if [ -f $$xml ] ; then \ 457 if [ ! -f $(srcdir)/result/scripts/$$name ] ; then \ 458 echo New test file $$name ; \ 459 $(CHECKER) $(top_builddir)/xmllint --shell $$xml < $$i > $(srcdir)/result/scripts/$$name ; \ 460 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 461 else \ 462 echo Testing $$name ; \ 463 $(CHECKER) $(top_builddir)/xmllint --shell $$xml < $$i > result.$$name ; \ 464 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 465 diff $(srcdir)/result/scripts/$$name result.$$name ; \ 466 rm result.$$name ; \ 467 fi ; fi ; done) 468 469Catatests : xmlcatalog$(EXEEXT) 470 @(echo > .memdump) 471 @echo "##" 472 @echo "## Catalog regression tests" 473 @echo "##" 474 -@(for i in $(srcdir)/test/catalogs/*.script ; do \ 475 name=`basename $$i .script`; \ 476 xml=$(srcdir)/test/catalogs/`basename $$i .script`.xml; \ 477 if [ -f $$xml ] ; then \ 478 if [ ! -f $(srcdir)/result/catalogs/$$name ] ; then \ 479 echo New test file $$name ; \ 480 $(CHECKER) $(top_builddir)/xmlcatalog --shell $$xml < $$i > $(srcdir)/result/catalogs/$$name ; \ 481 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 482 else \ 483 echo Testing $$name ; \ 484 $(CHECKER) $(top_builddir)/xmlcatalog --shell $$xml < $$i > result.$$name ; \ 485 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 486 diff $(srcdir)/result/catalogs/$$name result.$$name ; \ 487 rm result.$$name ; \ 488 fi ; fi ; done) 489 -@(for i in $(srcdir)/test/catalogs/*.script ; do \ 490 name=`basename $$i .script`; \ 491 sgml=$(srcdir)/test/catalogs/`basename $$i .script`.sgml; \ 492 if [ -f $$sgml ] ; then \ 493 if [ ! -f $(srcdir)/result/catalogs/$$name ] ; then \ 494 echo New test file $$name ; \ 495 $(CHECKER) $(top_builddir)/xmlcatalog --shell $$sgml < $$i > $(srcdir)/result/catalogs/$$name ; \ 496 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 497 else \ 498 echo Testing $$name ; \ 499 $(CHECKER) $(top_builddir)/xmlcatalog --shell $$sgml < $$i > result.$$name ; \ 500 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 501 diff $(srcdir)/result/catalogs/$$name result.$$name ; \ 502 rm result.$$name ; \ 503 fi ; fi ; done) 504 @echo "Add and del operations on XML Catalogs" 505 -@($(CHECKER) $(top_builddir)/xmlcatalog --create --noout $(srcdir)/result/catalogs/mycatalog; \ 506 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 507 $(CHECKER) $(top_builddir)/xmlcatalog --noout --add public Pubid sysid $(srcdir)/result/catalogs/mycatalog; \ 508 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 509 $(CHECKER) $(top_builddir)/xmlcatalog --noout --add public Pubid2 sysid2 $(srcdir)/result/catalogs/mycatalog; \ 510 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 511 $(CHECKER) $(top_builddir)/xmlcatalog --noout --add public Pubid3 sysid3 $(srcdir)/result/catalogs/mycatalog; \ 512 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 513 diff result/catalogs/mycatalog.full $(srcdir)/result/catalogs/mycatalog; \ 514 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 515 $(CHECKER) $(top_builddir)/xmlcatalog --noout --del sysid $(srcdir)/result/catalogs/mycatalog; \ 516 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 517 $(CHECKER) $(top_builddir)/xmlcatalog --noout --del sysid3 $(srcdir)/result/catalogs/mycatalog; \ 518 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 519 $(CHECKER) $(top_builddir)/xmlcatalog --noout --del sysid2 $(srcdir)/result/catalogs/mycatalog; \ 520 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 521 diff result/catalogs/mycatalog.empty $(srcdir)/result/catalogs/mycatalog; \ 522 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0"; \ 523 rm -f $(srcdir)/result/catalogs/mycatalog) 524 525SVGtests : xmllint$(EXEEXT) 526 @echo "##" 527 @echo "## SVG parsing regression tests" 528 @echo "##" 529 -@(for i in $(srcdir)/test/SVG/* ; do \ 530 name=`basename $$i`; \ 531 if [ ! -d $$i ] ; then \ 532 if [ ! -f $(srcdir)/result/SVG/$$name ] ; then \ 533 echo New test file $$name ; \ 534 $(CHECKER) $(top_builddir)/xmllint $$i > $(srcdir)/result/SVG/$$name ; \ 535 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 536 else \ 537 echo Testing $$name ; \ 538 $(CHECKER) $(top_builddir)/xmllint $$i > result.$$name ; \ 539 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 540 diff $(srcdir)/result/SVG/$$name result.$$name ; \ 541 $(CHECKER) $(top_builddir)/xmllint result.$$name > result2.$$name ; \ 542 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 543 diff result.$$name result2.$$name ; \ 544 rm result.$$name result2.$$name ; \ 545 fi ; fi ; done) 546 547Threadtests : testThreads$(EXEEXT) 548 @echo "##" 549 @echo "## Threaded regression tests" 550 @echo "##" 551 -@($(CHECKER) $(top_builddir)/testThreads ; \ 552 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";) 553 554SAXtests : testSAX$(EXEEXT) 555 @(echo > .memdump) 556 @echo "##" 557 @echo "## SAX callbacks regression tests" 558 @echo "##" 559 -@(for i in $(srcdir)/test/* ; do \ 560 name=`basename $$i`; \ 561 if [ ! -d $$i ] ; then \ 562 if [ ! -f $(srcdir)/result/$$name.sax ] ; then \ 563 echo New test file $$name ; \ 564 $(CHECKER) $(top_builddir)/testSAX $$i > $(srcdir)/result/$$name.sax ; \ 565 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 566 else \ 567 echo Testing $$name ; \ 568 $(CHECKER) $(top_builddir)/testSAX $$i > result.$$name ; \ 569 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 570 diff $(srcdir)/result/$$name.sax result.$$name ; \ 571 rm result.$$name ; \ 572 fi ; fi ; done) 573 574 575Validtests : xmllint$(EXEEXT) 576 @(echo > .memdump) 577 @echo "##" 578 @echo "## Valid documents regression tests" 579 @echo "##" 580 -@(for i in $(srcdir)/test/VCM/* ; do \ 581 name=`basename $$i`; \ 582 if [ ! -d $$i ] ; then \ 583 echo Testing $$name ; \ 584 $(CHECKER) $(top_builddir)/xmllint --valid --noout --nowarning $$i ; \ 585 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 586 fi ; done ; exit 0) 587 @echo "##" 588 @echo "## Validity checking regression tests" 589 @echo "##" 590 -@(for i in $(srcdir)/test/VC/* ; do \ 591 name=`basename $$i`; \ 592 if [ ! -d $$i ] ; then \ 593 if [ ! -f $(srcdir)/result/VC/$$name ] ; then \ 594 echo New test file $$name ; \ 595 $(CHECKER) $(top_builddir)/xmllint --noout --valid $$i 2> $(srcdir)/result/VC/$$name ; \ 596 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 597 else \ 598 echo Testing $$name ; \ 599 $(CHECKER) $(top_builddir)/xmllint --noout --valid $$i 2> result.$$name ; \ 600 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 601 diff $(srcdir)/result/VC/$$name result.$$name ; \ 602 rm result.$$name ; \ 603 fi ; fi ; done) 604 @echo "##" 605 @echo "## General documents valid regression tests" 606 @echo "##" 607 -@(for i in $(srcdir)/test/valid/* ; do \ 608 name=`basename $$i`; \ 609 if [ ! -d $$i ] ; then \ 610 if [ ! -f $(srcdir)/result/valid/$$name ] ; then \ 611 echo New test file $$name ; \ 612 $(CHECKER) $(top_builddir)/xmllint --valid $$i > $(srcdir)/result/valid/$$name 2>$(srcdir)/result/valid/$$name.err ; \ 613 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 614 else \ 615 echo Testing $$name ; \ 616 $(CHECKER) $(top_builddir)/xmllint --valid $$i > result.$$name 2>error.$$name ; \ 617 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 618 diff $(srcdir)/result/valid/$$name result.$$name ; \ 619 diff $(srcdir)/result/valid/$$name.err error.$$name ; \ 620 rm result.$$name error.$$name ; \ 621 fi ; fi ; done) 622 623Regexptests: testRegexp$(EXEEXT) 624 @(echo > .memdump) 625 @echo "##" 626 @echo "## Regexp regression tests" 627 @echo "##" 628 -@(for i in $(srcdir)/test/regexp/* ; do \ 629 name=`basename $$i`; \ 630 if [ ! -d $$i ] ; then \ 631 if [ ! -f $(srcdir)/result/regexp/$$name ] ; then \ 632 echo New test file $$name ; \ 633 $(CHECKER) $(top_builddir)/testRegexp -i $$i > $(srcdir)/result/regexp/$$name; \ 634 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 635 else \ 636 echo Testing $$name ; \ 637 $(CHECKER) $(top_builddir)/testRegexp -i $$i > result.$$name ; \ 638 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 639 diff $(srcdir)/result/regexp/$$name result.$$name ; \ 640 rm result.$$name ; \ 641 fi ; fi ; done) 642 643Automatatests: testAutomata$(EXEEXT) 644 @(echo > .memdump) 645 @echo "##" 646 @echo "## Automata regression tests" 647 @echo "##" 648 -@(for i in $(srcdir)/test/automata/* ; do \ 649 name=`basename $$i`; \ 650 if [ ! -d $$i ] ; then \ 651 if [ ! -f $(srcdir)/result/automata/$$name ] ; then \ 652 echo New test file $$name ; \ 653 $(CHECKER) $(top_builddir)/testAutomata $$i > $(srcdir)/result/automata/$$name; \ 654 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 655 else \ 656 echo Testing $$name ; \ 657 $(CHECKER) $(top_builddir)/testAutomata $$i > result.$$name ; \ 658 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 659 diff $(srcdir)/result/automata/$$name result.$$name ; \ 660 rm result.$$name ; \ 661 fi ; fi ; done) 662 663C14Ntests : testC14N$(EXEEXT) 664 @echo "##" 665 @echo "## C14N and XPath regression tests" 666 @echo "##" 667 -@(for m in with-comments without-comments exc-without-comments ; do \ 668 for i in $(srcdir)/test/c14n/$$m/*.xml ; do \ 669 if [ ! -d $$i ] ; then \ 670 name=`basename $$i .xml`; \ 671 echo Testing $$m/$$name; \ 672 cmdline="$(CHECKER) $(top_builddir)/testC14N --$$m $$i"; \ 673 if [ -f $(srcdir)/test/c14n/$$m/$$name.xpath ] ; then \ 674 cmdline="$$cmdline $(srcdir)/test/c14n/$$m/$$name.xpath"; \ 675 if [ -f $(srcdir)/test/c14n/$$m/$$name.ns ] ; then \ 676 cmdline="$$cmdline '`cat $(srcdir)/test/c14n/$$m/$$name.ns`'"; \ 677 fi; \ 678 fi; \ 679 $$cmdline > $(srcdir)/test/c14n/test.tmp; \ 680 if [ $$? -eq 0 ]; then \ 681 diff $(srcdir)/result/c14n/$$m/$$name $(srcdir)/test/c14n/test.tmp; \ 682 if [ $$? -ne 0 ]; then \ 683 echo "Test failed"; \ 684 cat $(srcdir)/test/c14n/test.tmp; \ 685 fi; \ 686 else \ 687 echo "C14N failed"; \ 688 fi; \ 689 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 690 fi; \ 691 rm -f $(srcdir)/test/c14n/test.tmp; \ 692 done; \ 693 done) 694 695Schemastests: testSchemas$(EXEEXT) 696 @(echo > .memdump) 697 @echo "##" 698 @echo "## Schemas regression tests" 699 @echo "##" 700 -@(for i in $(srcdir)/test/schemas/*_*.xsd ; do \ 701 name=`basename $$i | sed 's+_.*++'`; \ 702 sno=`basename $$i | sed 's+.*_\(.*\).xsd+\1+'`; \ 703 for j in $(srcdir)/test/schemas/"$$name"_*.xml ; do \ 704 if [ -f $$j ] ; then \ 705 xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \ 706 if [ ! -f $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno" ]; \ 707 then \ 708 echo New test file "$$name"_"$$sno"_"$$xno" ; \ 709 $(CHECKER) $(top_builddir)/testSchemas $$i $$j \ 710 > $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno" \ 711 2> $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno".err; \ 712 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 713 else \ 714 echo Testing "$$name"_"$$sno"_"$$xno" ; \ 715 $(CHECKER) $(top_builddir)/testSchemas $$i $$j \ 716 > res.$$name 2> err.$$name;\ 717 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 718 diff $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno" \ 719 res.$$name;\ 720 diff $(srcdir)/result/schemas/"$$name"_"$$sno"_"$$xno".err \ 721 err.$$name;\ 722 grep Unimplemented err.$$name; \ 723 rm res.$$name err.$$name ; \ 724 fi ; fi ;\ 725 done; done) 726 727Relaxtests: xmllint$(EXEEXT) 728 @(echo > .memdump) 729 @echo "##" 730 @echo "## Relax-NG regression tests" 731 @echo "##" 732 -@(for i in $(srcdir)/test/relaxng/*.rng ; do \ 733 name=`basename $$i | sed 's+\.rng++'`; \ 734 if [ ! -f $(srcdir)/result/relaxng/"$$name"_valid ] ; then \ 735 echo New schemas $$name ; \ 736 $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $(srcdir)/test/relaxng/tutorA.rng $$i \ 737 > $(srcdir)/result/relaxng/"$$name"_valid \ 738 2> $(srcdir)/result/relaxng/"$$name"_err; \ 739 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 740 else \ 741 echo Checking schemas $$name ; \ 742 $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $(srcdir)/test/relaxng/tutorA.rng $$i \ 743 > res.$$name 2> err.$$name;\ 744 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 745 diff $(srcdir)/result/relaxng/"$$name"_valid \ 746 res.$$name;\ 747 diff $(srcdir)/result/relaxng/"$$name"_err \ 748 err.$$name | grep -v "error detected at";\ 749 grep Unimplemented err.$$name; \ 750 rm res.$$name err.$$name ; \ 751 fi; \ 752 for j in $(srcdir)/test/relaxng/"$$name"_*.xml ; do \ 753 if [ -f $$j ] ; then \ 754 xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \ 755 if [ ! -f $(srcdir)/result/relaxng/"$$name"_"$$xno" ]; \ 756 then \ 757 echo New test file "$$name"_"$$xno" ; \ 758 $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $$i $$j \ 759 > $(srcdir)/result/relaxng/"$$name"_"$$xno" \ 760 2> $(srcdir)/result/relaxng/"$$name"_"$$xno".err; \ 761 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 762 else \ 763 echo Testing "$$name"_"$$xno" ; \ 764 $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $$i $$j \ 765 > res.$$name 2> err.$$name;\ 766 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 767 diff $(srcdir)/result/relaxng/"$$name"_"$$xno" \ 768 res.$$name;\ 769 diff $(srcdir)/result/relaxng/"$$name"_"$$xno".err \ 770 err.$$name | grep -v "error detected at";\ 771 grep Unimplemented err.$$name; \ 772 rm res.$$name err.$$name ; \ 773 fi ; fi ; \ 774 done; done) 775 @echo "##" 776 @echo "## Relax-NG streaming regression tests" 777 @echo "##" 778 @echo "## Some error messages are different than non-streaming" 779 @echo "## and generate small diffs" 780 @echo "##" 781 -@(for i in $(srcdir)/test/relaxng/*.rng ; do \ 782 name=`basename $$i | sed 's+\.rng++'`; \ 783 for j in $(srcdir)/test/relaxng/"$$name"_*.xml ; do \ 784 if [ -f $$j ] ; then \ 785 xno=`basename $$j | sed 's+.*_\(.*\).xml+\1+'`; \ 786 if [ ! -f $(srcdir)/result/relaxng/"$$name"_"$$xno" ]; \ 787 then \ 788 echo New test file "$$name"_"$$xno" ; \ 789 $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --relaxng $$i $$j \ 790 > $(srcdir)/result/relaxng/"$$name"_"$$xno" \ 791 2> $(srcdir)/result/relaxng/"$$name"_"$$xno".err; \ 792 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 793 else \ 794 echo Testing "$$name"_"$$xno" ; \ 795 $(CHECKER) $(top_builddir)/xmllint$(EXEEXT) --noout --stream --relaxng $$i $$j \ 796 > res.$$name 2> err.$$name;\ 797 grep "MORY ALLO" .memdump | grep -v "MEMORY ALLOCATED : 0";\ 798 diff $(srcdir)/result/relaxng/"$$name"_"$$xno" \ 799 res.$$name;\ 800 diff $(srcdir)/result/relaxng/"$$name"_"$$xno".err \ 801 err.$$name | grep -v "error detected at";\ 802 grep Unimplemented err.$$name; \ 803 rm res.$$name err.$$name ; \ 804 fi ; fi ; \ 805 done; done) 806 807dist-hook: libxml2.spec 808 -cp libxml2.spec $(distdir) 809 (cd $(srcdir) ; tar -cf - --exclude CVS win32 macos vms test result SAXresult ) | (cd $(distdir); tar xf -) 810 811cleantar: 812 @(rm -f libxml*.tar.gz COPYING.LIB) 813 814rpm: cleantar 815 @(unset CDPATH ; $(MAKE) dist && rpmbuild -ta $(distdir).tar.gz) 816 817## We create xml2Conf.sh here and not from configure because we want 818## to get the paths expanded correctly. Macros like srcdir are given 819## the value NONE in configure if the user doesn't specify them (this 820## is an autoconf feature, not a bug). 821 822CLEANFILES=xml2Conf.sh 823 824confexecdir=$(libdir) 825confexec_DATA = xml2Conf.sh 826EXTRA_DIST = xml2-config.in xml2Conf.sh.in libxml.spec.in libxml2.spec \ 827 libxml.m4 Copyright check-xml-test-suite.py \ 828 check-relaxng-test-suite.py check-xinclude-test-suite.py \ 829 example/Makefile.am example/gjobread.c example/gjobs.xml \ 830 $(man_MANS) libxml-2.0.pc.in \ 831 trionan.c trionan.h triostr.c triostr.h trio.c trio.h \ 832 triop.h triodef.h libxml.h \ 833 testThreadsWin32.c genUnicode.py TODO_SCHEMAS 834 835pkgconfigdir = $(libdir)/pkgconfig 836pkgconfig_DATA = libxml-2.0.pc 837 838# 839# Instll the tests program sources as examples 840# 841BASE_DIR=$(datadir)/doc 842DOC_MODULE=libxml2-$(VERSION) 843EXAMPLES_DIR=$(BASE_DIR)/$(DOC_MODULE)/examples 844 845install-data-local: 846 $(mkinstalldirs) $(DESTDIR)$(BASE_DIR)/$(DOC_MODULE) 847 -@INSTALL@ -m 0644 $(srcdir)/Copyright $(DESTDIR)$(BASE_DIR)/$(DOC_MODULE) 848 $(mkinstalldirs) $(DESTDIR)$(EXAMPLES_DIR) 849 -@INSTALL@ -m 0644 $(srcdir)/xmllint.c $(DESTDIR)$(EXAMPLES_DIR) 850 -@INSTALL@ -m 0644 $(srcdir)/testSAX.c $(DESTDIR)$(EXAMPLES_DIR) 851 -@INSTALL@ -m 0644 $(srcdir)/testHTML.c $(DESTDIR)$(EXAMPLES_DIR) 852 -@INSTALL@ -m 0644 $(srcdir)/testXPath.c $(DESTDIR)$(EXAMPLES_DIR) 853