1
0
mirror of https://gitlab.gnome.org/GNOME/libxml2.git synced 2024-12-25 23:21:26 +03:00
Commit Graph

404 Commits

Author SHA1 Message Date
David Seifert
d9335077dd
Use AM_PATH_PYTHON/PKG_CHECK_MODULES for python bindings
* `AM_PATH_PYTHON` is a much more common idiom for building
  and installing python modules than writing your own.
* It also makes cross-compiling the python bindings possible.
  Previously the `PYTHON_CFLAGS`/`PYTHON_LIBS` would have been
  based on the `--build` python and not the `--host` python.
  By using `pkg-config`, we can always redirect the python-X.Y.pc.

Bug: https://bugs.gentoo.org/582130
2022-03-29 13:37:16 +02:00
Nick Wellnhofer
4a8c71eb7c Remove DOCBparser
This code has been broken and deprecated since version 2.6.0, released
in 2003. Because of a bug in commit 961b535c, DOCBparser.c was never
compiled since 2012. I couldn't find a Debian package using any of its
symbols, so it seems safe to remove this module.
2022-03-04 22:56:21 +01:00
Joey Arhar
1a112c7ba2 Remove regressions.py from Makefile.am
This patch removes regressions.py and regressions.xml from Makefile.am.
These files were removed in 5ec1ef1c and since they are still in
Makefile.am, it causes "make dist-all" to fail.
2022-03-04 09:05:36 -08:00
Nick Wellnhofer
8f3bd26241 Remove broken VxWorks support 2022-03-01 17:18:56 +01:00
Nick Wellnhofer
041ed3d6b0 Remove broken Mac OS 9 support 2022-03-01 17:17:19 +01:00
Nick Wellnhofer
50f6feb9c9 Remove broken bakefile support 2022-03-01 00:05:54 +01:00
Nick Wellnhofer
6117700e2c Remove special configuration for certain maintainers 2022-02-20 21:49:05 +01:00
Nick Wellnhofer
346c3a930c Remove elfgcchack.h
The same optimization can be enabled with -fno-semantic-interposition
since GCC 5. clang has always used this option by default.
2022-02-20 21:49:04 +01:00
Nick Wellnhofer
a20a6022e0 Fix distribution after README change 2022-02-14 03:45:03 +01:00
Nick Wellnhofer
7fe9addcbc Remove CVS and SVN-related code 2022-02-13 23:35:18 +01:00
Mattia Rizzolo
9675345048 Correctly install the HTML examples into their subdirectory.
Previous to this commit, the examples where installed haphazardly within
all the other html documents, also overwriting index.html, for example.

Signed-off-by: Mattia Rizzolo <mattia@mapreri.org>
2022-01-16 14:59:02 +01:00
Mattia Rizzolo
7c0253aadf Refactor the settings of $docdir
This is a completely noop change for this project, since before this
commit nothing was using $docdir nor PROGRAM_TARNAME.

Setting the fourth parameter of AC_INIT() makes it set PROGRAM_TARNAME,
which then used as the last path component of the default docdir,
effectively making $docdir be the same as the previous
$BASE_DIR/$DOC_MODULE.

Signed-off-by: Mattia Rizzolo <mattia@mapreri.org>
2022-01-16 14:47:35 +01:00
Markus Rickert
5c7bdbc906 Add CMake files to EXTRA_DIST 2020-11-30 11:22:53 +01:00
Nick Wellnhofer
1bde104060 Add 'fuzz' subdirectory to DIST_SUBDIRS
Fixes #191.
2020-10-25 20:02:23 +01:00
David Kilzer
6b4717d61d Add regexp regression tests
- Bug 757711: heap-buffer-overflow in xmlFAParsePosCharGroup
  <https://bugzilla.gnome.org/show_bug.cgi?id=757711>
- Bug 783015 - Integer-overflow in xmlFAParseQuantExact
  <https://bugzilla.gnome.org/show_bug.cgi?id=783015>

(Regexptests): Add support for checking stderr output when
running regexp tests.  This makes it possible to check in test
cases that fail and not see false-positive error output when
running the tests.  Unlike other libxml2 test suites, if there
is no stderr output, no *.err file needs to be created.
2020-07-06 12:37:53 +02:00
Nick Wellnhofer
00ed736eec Add a couple of libFuzzer targets
- XML fuzzer
  Currently tests the pull parser, push parser and reader, as well as
  serialization. Supports splitting fuzz data into multiple documents
  for things like external DTDs or entities. The seed corpus is built
  from parts of the test suite.

- Regexp fuzzer
  Seed corpus was statically generated from test suite.

- URI fuzzer
  Tests parsing and most other functions from uri.c.
2020-06-05 13:53:11 +02:00
Nick Wellnhofer
20c60886e4 Fix typos
Resolves #133.
2020-03-08 17:41:53 +01:00
Nick Wellnhofer
d56184a085 Disable xmlExp regex code
This is apparently another regex engine that was never used, see commit
81a8ec6.
2019-09-26 12:11:39 +02:00
Hugh McMaster
1fc410d3d3 xml2-config: Add a --dynamic switch to print only shared libraries
`xml2-config --libs` prints static library linking information by default.
This is un-necessary for most programs, so introduce a new option, --dynamic,
which, when combined with --libs, only prints shared library linking information.
2019-07-17 23:24:24 +10:00
Nick Wellnhofer
57d4329bd7 Merge testThreadsWin32.c into testThreads.c
Apply the same cross-platform modifications as previously in runtest.c.
2019-01-06 14:32:28 +01:00
Nick Wellnhofer
8cb8e31773 Don't touch CFLAGS in configure.ac
CFLAGS shouldn't be touched by configure.ac. The variable is supplied by
the user and must come after other flags, so flags like warning options
can be overridden.

Rename CFLAGS to EXTRA_CFLAGS and add the value to AM_CFLAGS. This also
makes it possible to override flags for each Automake program or library.
2017-11-14 16:03:36 +01:00
Nick Wellnhofer
861823902b Revert "Compile testapi with -Wno-unused-function"
This reverts commit f404c4f500.

The change broke non-GCC compilers.
2017-11-14 15:58:01 +01:00
Nick Wellnhofer
f404c4f500 Compile testapi with -Wno-unused-function 2017-11-04 15:03:20 +01:00
Daniel Veillard
56ec9cef9e Adding README.zOS to list of extra files for the release 2017-08-28 20:15:38 +02:00
Nick Wellnhofer
988a5a3b6b Build test programs only when needed
Add test programs to 'check_PROGRAMS' instead of 'noinst_PROGRAMS'.

Fixes bug 760457.
2017-06-17 15:44:50 +02:00
Nick Wellnhofer
dbaab1f369 Test SAX2 callbacks with entity substitution
This detects regressions like bug 760367.
2017-06-16 21:38:57 +02:00
Nick Wellnhofer
67f9f9d6c8 Misc fixes for 'make tests'
- Silence test output.
- Clean up after doc/examples tests.
- Adjust expected output for script tests.
- Add missing results for relaxng/pattern3

There are still two test failures I can't comment on:

- regexp/bug316338
- schemas/any4_0
2017-06-12 19:46:56 +02:00
Nick Wellnhofer
e26630548e Fix handling of parameter-entity references
There were two bugs where parameter-entity references could lead to an
unexpected change of the input buffer in xmlParseNameComplex and
xmlDictLookup being called with an invalid pointer.

Percent sign in DTD Names
=========================

The NEXTL macro used to call xmlParserHandlePEReference. When parsing
"complex" names inside the DTD, this could result in entity expansion
which created a new input buffer. The fix is to simply remove the call
to xmlParserHandlePEReference from the NEXTL macro. This is safe because
no users of the macro require expansion of parameter entities.

- xmlParseNameComplex
- xmlParseNCNameComplex
- xmlParseNmtoken

The percent sign is not allowed in names, which are grammatical tokens.

- xmlParseEntityValue

Parameter-entity references in entity values are expanded but this
happens in a separate step in this function.

- xmlParseSystemLiteral

Parameter-entity references are ignored in the system literal.

- xmlParseAttValueComplex
- xmlParseCharDataComplex
- xmlParseCommentComplex
- xmlParsePI
- xmlParseCDSect

Parameter-entity references are ignored outside the DTD.

- xmlLoadEntityContent

This function is only called from xmlStringLenDecodeEntities and
entities are replaced in a separate step immediately after the function
call.

This bug could also be triggered with an internal subset and double
entity expansion.

This fixes bug 766956 initially reported by Wei Lei and independently by
Chromium's ClusterFuzz, Hanno Böck, and Marco Grassi. Thanks to everyone
involved.

xmlParseNameComplex with XML_PARSE_OLD10
========================================

When parsing Names inside an expanded parameter entity with the
XML_PARSE_OLD10 option, xmlParseNameComplex would call xmlGROW via the
GROW macro if the input buffer was exhausted. At the end of the
parameter entity's replacement text, this function would then call
xmlPopInput which invalidated the input buffer.

There should be no need to invoke GROW in this situation because the
buffer is grown periodically every XML_PARSER_CHUNK_SIZE characters and,
at least for UTF-8, in xmlCurrentChar. This also matches the code path
executed when XML_PARSE_OLD10 is not set.

This fixes bugs 781205 (CVE-2017-9049) and 781361 (CVE-2017-9050).
Thanks to Marcel Böhme and Thuan Pham for the report.

Additional hardening
====================

A separate check was added in xmlParseNameComplex to validate the
buffer size.
2017-06-05 18:38:33 +02:00
Nick Wellnhofer
ac9a4560ee Disable LeakSanitizer when running API tests
The autogenerated API tests leak memory.
2017-06-01 14:31:28 +02:00
Nick Wellnhofer
43f50f4dfc Fix white space in test output
Quote echoed variable to avoid newlines being converted to space.
2017-05-31 15:30:19 +02:00
Daniel Veillard
9b4b8cb3e2 Add a make rule to rebuild for ASAN 2016-05-04 12:33:32 +08:00
orzen
0f84ee239f Add autogen.sh to distrib
For https://bugzilla.gnome.org/show_bug.cgi?id=761782

autogen.sh was not included in the tarball releases which complicates
situations when users have to make changes to e.g. configure.ac andi
have to re-generate configure.
2016-02-09 17:55:40 +01:00
Samuel Martin
fa23ac1a79 Provide cmake module
* add libxml2-config.cmake.in template
* configure.ac: add libxml2-config.cmake.in to the configured file list
* Makefile.am: install libxml2-config.cmake under ${libdir}/cmake/libxml2

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
2014-10-13 18:02:53 +08:00
Patrick Monnerat
917e353f2b OS400: include in distribution tarball. 2014-10-04 21:13:48 +08:00
Daniel Veillard
742a0bbbcc Keep libxml2.syms when running "make distclean" 2012-09-11 13:37:30 +08:00
Arfrever Frehtes Taifersar Arahesis
1f01f49ba6 Handle ICU_LIBS as LIBADD, not LDFLAGS to prevent linking errors
For https://bugzilla.gnome.org/show_bug.cgi?id=677606
For https://bugs.gentoo.org/show_bug.cgi?id=417539

If libxml2-2.8.0 is built with --with-icu --with-python on a system that has an
older version of libxml2 installed, then during "make install", libxml2mod.so
gets relinked to the systemwide version of libxml2.so.2 instead of libxml2.so.2
from the build tree, and fails at runtime if symbol versions from the older
libxml2.so.2 are not available. This effectively makes it impossible to build a
libxml2-2.8.0 binary package on a system that does not already have
libxml2-2.8.0 installed.

Investigation by Rafał Mużyło and Arfrever Frehtes Taifersar Arahesis revealed
the cause of the problem to be that libxml2's configure was adding ICU_LIBS to
LDFLAGS instead of to LIBADD. This resulted in GNU libtool using the wrong
argument order in its relinking command that gets run during "make install".
2012-08-28 22:16:50 +08:00
Akira TAGOH
961b535c10 Bug 676544 - fails to build with --without-sax1
Added some ifdef'd LIBXML_SAX1_ENABLED to make it buildable with
--without-sax1 configure option.
2012-08-28 22:03:16 +08:00
Vojtech Fried
3e031b7dae Switching XPath node sorting to Timsort
I use libxml xpath engine on quite large (and mostly "flat") xml files.
It seems that Shellsort, that is used in xmlXPathNodeSetSort is a
performance bottleneck for my case. I have read some posts about sorting
in libxml in the libxml archive, but I agree that qsort was not the way
to go. I experimented with Timsort instead and my results were good for
me. For about 10000 nodes, my test was about 5x faster with Timsort,
for 1000 nodes about 10% faster, for small data files, the difference
was not measurable.
* timsort.h: the algorithm, kept in a separate header
* xpath.c: plug in the new algorithm in xmlXPathNodeSetSort
* Makefile.am: add the header to the EXTRA_DIST
* doc/apibuild.py: avoid indexing the new header
2012-08-24 16:52:44 +08:00
Daniel Veillard
73f94c602c Small cleanup for valgrind target 2012-08-24 16:38:54 +08:00
Daniel Richard G
ec4fc529b3 More updates and cleanups on autotools and Makefiles
Makefile.am, example/Makefile.am:

* Replaced the obsolete INCLUDES variable with AM_CPPFLAGS/AM_CFLAGS

acinclude.m4:

* autoupdate replaced AC_FD_CC with AS_MESSAGE_LOG_FD

autogen.sh:

* Added -Wall to the autoreconf invocation, which turned up a whole slew
   of warnings that are fixed by this patch

configure.in:

* Most of the changes are due to autoupdate, with subsequent manual
   tidying

* Note that autoupdate bumped the AC_PREREQ version from 2.59 to 2.68. If
   you normally use an older version of Autoconf, and everything works fine
   if you comment out that directive, feel free to bump down the version
   accordingly.

* Ensure that #include directives in C fragments always have no whitespace
   to the left of the '#' mark, as some preprocessors need that to be in
   the first column

example/Makefile.am:

* Don't need DEPS

* Use plain LDADD instead of LDADDS; if all programs in this file need to
   link against the same set of libraries, then this is all you need
2012-08-17 10:04:30 +08:00
Daniel Richard G
5706b6d876 Various "make distcheck" and portability fixups
Makefile.am:

* Don't use @VAR@, use $(VAR). Autoconf's AC_SUBST provides us the Make
   variable, it allows overriding the value at the command line, and
   (notably) it avoids a Make parse error in the libxml2_la_LDFLAGS
   assignment when @MODULE_PLATFORM_LIBS@ is empty

* Changed how the THREADS_W32 mechanism switches the build between
   testThreads.c and testThreadsWin32.c as appropriate; using AM_CONDITIONAL
   allows this to work cleanly and plays well with dependencies

* testapi.c should be specified as BUILT_SOURCES

* Create symlinks to the test/ and result/ subdirs so that the runtests
   target is usable in out-of-source-tree builds

* Don't do MAKEFLAGS+=--silent as this is not portable to non-GNU Makes

* Fixed incorrect find(1) syntax in the "cleanup" rule, and doing "rm -f"
   instead of just "rm" is good form

* (DIST)CLEANFILES needed a bit more coverage to allow "make distcheck" to
   pass

configure.in:

* Need AC_PROG_LN_S to create test/ and result/ symlinks in Makefile.am

* AC_LIBTOOL_WIN32_DLL and AM_PROG_LIBTOOL are obsolete; these have been
   superceded by LT_INIT

* Don't rebuild docs by default, as this requires GNU Make (as
   implemented)

* Check for uint32_t as some platforms don't provide it

* Check for some more functions, and undefine HAVE_MMAP if we don't also
   HAVE_MUNMAP (one system I tested on actually needed this)

* Changed THREADS_W32 from a filename insert into an Automake conditional

* The "Copyright" file will not be in the current directory if builddir !=
   srcdir

doc/Makefile.am:

* EXTRA_DIST cannot use wildcards when they refer to generated files; this
   breaks dependencies. What I did was define EXTRA_DIST_wc, which uses GNU
   Make $(wildcard) directives to build up a list of files, and EXTRA_DIST,
   as a literal expansion of EXTRA_DIST_wc. I also added a new rule,
   "check-extra-dist", to simplify checking that the two variables are
   equivalent. (Note that this works only when builddir == srcdir)

   (I can implement this differently if desired; this is just one way of
   doing it)

* Don't define an "all" target; this steps on Automake's toes

* Fixed up the "libxml2-api.xml ..." rule by using $(wildcard) for
   dependencies (as Make doesn't process the wildcards otherwise) and
   qualifying appropriate files with $(srcdir)

   (Note that $(srcdir) is not needed in the dependencies, thanks to VPATH,
   which we can count on as this is GNU-Make-only code anyway)

doc/devhelp/Makefile.am:

* Qualified appropriate files with $(srcdir)

* Added an "uninstall-local" rule so that "make distcheck" passes

doc/examples/Makefile.am:

* Rather than use a wildcard that doesn't work, use a substitution that
   most Make programs can handle

doc/examples/index.py:

* Do the same here

include/libxml/nanoftp.h:

* Some platforms (e.g. MSVC 6) already #define INVALID_SOCKET:

     user@host:/cygdrive/c/Program Files/Microsoft Visual Studio/VC98/\
     Include$ grep -R INVALID_SOCKET .
     ./WINSOCK.H:#define INVALID_SOCKET  (SOCKET)(~0)
     ./WINSOCK2.H:#define INVALID_SOCKET  (SOCKET)(~0)

include/libxml/xmlversion.h.in:

* Support ancient GCCs (I was actually able to build the library with 2.5
   but for this bit)

python/Makefile.am:

* Expanded CLEANFILES to allow "make distcheck" to pass

python/tests/Makefile.am:

* Define CLEANFILES instead of a "clean" rule, and added tmp.xml to allow
   "make distcheck" to pass

testRelax.c:

* Use HAVE_MMAP instead of the less explicit HAVE_SYS_MMAN_H (as some
   systems have the header but not the function)

testSchemas.c:

* Use HAVE_MMAP instead of the less explicit HAVE_SYS_MMAN_H

testapi.c:

* Don't use putenv() if it's not available

threads.c:

* This fixes the following build error on Solaris 8:

     libtool: compile:  cc -DHAVE_CONFIG_H -I. -I./include -I./include \
     -D_REENTRANT -D__EXTENSIONS__ -D_REENTRANT -Dsparc -Xa -mt -v \
     -xarch=v9 -xcrossfile -xO5 -c threads.c  -KPIC -DPIC -o threads.o
     "threads.c", line 442: controlling expressions must have scalar type
     "threads.c", line 512: controlling expressions must have scalar type
     cc: acomp failed for threads.c
     *** Error code 1

trio.c:

* Define isascii() if the system doesn't provide it

trio.h:

* The trio library's HAVE_CONFIG_H header is not the same as LibXML2's
   HAVE_CONFIG_H header; this change is needed to avoid a double-inclusion

win32/configure.js:

* Added support for the LZMA compression option

win32/Makefile.{bcb,mingw,msvc}:

* Added appropriate bits to support WITH_LZMA=1

* Install the header files under $(INCPREFIX)\libxml2\libxml instead of
   $(INCPREFIX)\libxml, to mirror the install location on Unix+Autotools

xml2-config.in:

* @MODULE_PLATFORM_LIBS@ (usually "-ldl") needs to be in there in order for
   `xml2-config --libs` to provide a complete set of dependencies

xmllint.c:

* Use HAVE_MMAP instead of the less-explicit HAVE_SYS_MMAN_H
2012-08-06 11:32:54 +08:00
Daniel Veillard
187e52901b Fix make dist to include new private header files 2012-08-06 10:27:58 +08:00
Daniel Veillard
0de1f3114a first version of testlimits new test
Used to check behaviour on various parsing limits
2012-07-23 14:24:28 +08:00
Daniel Veillard
bca22f40c3 Adding a new buf module for buffers
This also add converter functions between xmlBuf and xmlBuffer
* buf.c buf.h: the old xmlBuffer routines but modified for size_t
  and using xmlBuf instead of xmlBuffer
* Makefile.am: add the 2 new files
* include/libxml/xmlerror.h: add an entry for the new module
* include/libxml/tree.h: expose the xmlBufPtr type but not the
  structure which stay private
2012-07-23 14:24:26 +08:00
Daniel Veillard
c943f708f1 Release of libxml2-2.8.0
- Makefile.am: don't package .git
- configure.in : update to new release
- doc/xml.html: added the new release
- doc/* testapi.c: regenerated
2012-05-23 17:10:59 +08:00
Daniel Veillard
48f0f3f29f Fix "make tst" to grab lzma lib too 2012-05-08 10:59:41 +08:00
Daniel Veillard
adf5ec9496 Cleanups of lzma support
- fix inclusion of the separated file
- use namespaced name for the 4 non-static routines
- add padding after external structures included in-situ
- add new requirement to spec file
- general cleanup of code
2012-01-27 22:19:53 +08:00
Anders F Bjorklund
0755b66266 included xzlib in dist 2012-01-27 22:19:53 +08:00
Anders F Bjorklund
eae5261779 add lzma compression support 2012-01-27 22:19:52 +08:00
Adrian Bunk
64b0d60c28 Switch from the obsolete mkinstalldirs to AC_PROG_MKDIR_P
This was obsoleted in 2005 so we should be safe.
But keep AC_PREREQ to 2.59 as it's still widely deployed.
2010-11-04 09:43:31 +01:00
Roumen Petrov
120a269976 Fix build with mingw
- include/libxml/xmlexports.h: restore export decoration otherwise
  xsltproc and xmlsec crash
- libxml.h: define LIBXML_STATIC for static build
- configure.in: enable modules support for mingw* builds
- Makefile.am: flags for testdso if modules support enabled
2010-03-10 10:07:49 +01:00
Daniel Veillard
3157e51508 Upgrade some of the configure and autogen
Based on Roumen Petrov suggestions
2010-03-09 11:32:46 +01:00
Daniel Veillard
ec18c96008 558452 fight with reg test and error report
* relaxng.c: tiny fix and provide more context on some errors
* result/relaxng/558452_0* test/relaxng/558452*: add some regression
  tests for the bugs
* Makefile.am runtest.c: fight with the fact streaming error messages
  can differ due to missing node context
2009-08-26 18:37:43 +02:00
Daniel Veillard
2173b5cb30 555833 always use rm -f in uninstall-local
* Makefile.am: so that make clean doesn't fail in some circumstances
2009-08-24 14:23:32 +02:00
Daniel Veillard
b0641a10a6 584605 package VxWorks folder in the distribution
* Makefile.am: as Igor Novoseltsev pointed out this is missing from
  the distro
2009-08-24 10:15:13 +02:00
Daniel Veillard
8ed1072c2d Add symbol versioning to libxml2 shared libs
* libxml2.syms: the symbols with history, going back to 2.4.30
* Makefile.am configure.in: linking flags detection and use
* parser.c tree.c valid.c xpointer.c: various cleanup of functions
  which could be made static or simply discarded, not that many
2009-08-20 19:17:36 +02:00
Aleksey Sanin
838682478c Aleksey Sanin support for c14n 1.1
* c14n.c include/libxml/c14n.h: adds support for C14N 1.1,
  new flags at the API level
* runtest.c Makefile.am testC14N.c xmllint.c: add support in CLI
  tools and test binaries
* result/c14n/1-1-without-comments/* test/c14n/1-1-without-comments/*:
  add a new batch of tests
2009-07-09 10:26:22 +02:00
Daniel Veillard
da3fee406d Borland C fix from Moritz Both regenerate, workaround a problem for buffer
* trionan.c: Borland C fix from Moritz Both
* testapi.c: regenerate, workaround a problem for buffer testing
* xmlIO.c HTMLtree.c: new internal entry point to hide even better
  xmlAllocOutputBufferInternal
* tree.c: harden the code around buffer allocation schemes
* parser.c: restore the warning when namespace names are not absolute
  URIs
* runxmlconf.c: continue regression tests if we get the expected
  number of errors
* Makefile.am: run the python tests on make check
* xmlsave.c: handle the HTML documents and trees
* python/libxml.c: convert python serialization to the xmlSave APIs
  and avoid some horrible hacks
Daniel

svn path=/trunk/; revision=3790
2008-09-01 13:08:57 +00:00
Daniel Veillard
4cc67bb77e patch from Robert Schwebel , allows to compile the example if configured
* doc/examples/reader3.c: patch from  Robert Schwebel , allows to
  compile the example if configured without output support fixes
  #545582
* Makefile.am: add testrecurse to the make check tests
* HTMLparser.c: if the parser got a encoding argument it should be
  used over what the meta specifies, patch fixing #536346
Daniel

svn path=/trunk/; revision=3785
2008-08-29 19:58:23 +00:00
Daniel Veillard
0161e638c6 completely different fix for the recursion detection based on entity
* parser.c include/libxml/parser.h: completely different fix for
  the recursion detection based on entity density, big cleanups
  in the entity parsing code too
* result/*.sax*: the parser should not ask for used defined versions
  of the predefined entities
* testrecurse.c: automatic test for entity recursion checks
* Makefile.am: added testrecurse
* test/recurse/lol* test/recurse/good*: a first set of tests for
  the recursion
Daniel

svn path=/trunk/; revision=3783
2008-08-28 15:36:32 +00:00
Daniel Veillard
bfa5cf1ce7 add an --with-coverage configure option and a 'make cov' target based on
* configure.in Makefile.am: add an --with-coverage configure option
  and a 'make cov' target based on gcc profiling and the lcov
  tool. Currently at 68.9% coverage out of 'make check' and 
  runsuite executions.
* xmlreader.c: remove warnings due to C++ comments
Daniel

svn path=/trunk/; revision=3780
2008-08-27 15:33:28 +00:00
Daniel Veillard
bf9c1dad3a add the testchar to 'make check' Volker Grabsch pointed out a typo
* Makefile.am: add the testchar to 'make check'
* xmlschemas.c: Volker Grabsch pointed out a typo
* xmlregexp.c: production [19] from XML Schemas regexps were a
  mistake removed in version REC-xmlschema-2-20041028, Volker Grabsch
  provided a patch to remove it
* test/schemas/regexp-char-ref_0.xml test/schemas/regexp-char-ref_0.xsd
  test/schemas/regexp-char-ref_1.xsd result/schemas/regexp-char-ref_0_0
  result/schemas/regexp-char-ref_1_0: Volker Grabsch also provided
  regession tests for this
Daniel

svn path=/trunk/; revision=3776
2008-08-26 07:46:42 +00:00
Daniel Veillard
0765ae898b adding a check-valgrind target Daniel
* makefile.am: adding a check-valgrind target
Daniel

svn path=/trunk/; revision=3770
2008-08-08 12:14:37 +00:00
Daniel Veillard
d330f18fbc add the new test in 'make check' and update it to check subdictionaries
* Makefile.am testdict.c: add the new test in 'make check' and
  update it to check subdictionaries processing.
Daniel

svn path=/trunk/; revision=3769
2008-08-08 12:03:22 +00:00
Daniel Veillard
d7af555327 rewrite the URI parser to update to rfc3986 (from 2396) removed the error
* uri.c include/libxml/uri.h: rewrite the URI parser to update to
  rfc3986 (from 2396)
* test/errors/webdav.xml result/errors/webdav.xml*: removed the
  error test, 'DAV:' is a correct URI under 3986
* Makefile.am: small cleanup in make check
Daniel

svn path=/trunk/; revision=3763
2008-08-04 15:29:44 +00:00
Daniel Veillard
373345764b added a skipped list, insert rmt-ns10-035 improve 'make check' clean up
* runxmlconf.c: added a skipped list, insert rmt-ns10-035
* Makefile.am: improve 'make check'
* include/libxml/xmlerror.h parser.c: clean up namespace errors
  checking and reporting, errors when a document is labelled
  as UTF-16 while it is parsed as UTF-8 and no encoding was given
  explicitely.
* result/errors/webdav.xml.*: some warnings are no recategorized
  as Namespace errors
Daniel

svn path=/trunk/; revision=3761
2008-07-31 08:20:02 +00:00
Daniel Veillard
051d52cb61 fix a bug not detecting cross entity comments probably when comment
* parser.c: fix a bug not detecting cross entity comments probably
  when comment parsing got optimized.
* Makefile.am: add make check
* runxmlconf.c: fix the log file name
Daniel

svn path=/trunk/; revision=3758
2008-07-29 16:44:59 +00:00
Daniel Veillard
7e5c3f481f add a C program to run the W3C test suite, work in progress add a new
* runxmlconf.c Makefile.am: add a C program to run the W3C test
  suite, work in progress
* xmllint.c: add a new option --oldxml10 to use the old parser
* parser.c: fix the XML_PARSE_OLD10 processing of the new option
  and a bug in version parsing
Daniel

svn path=/trunk/; revision=3757
2008-07-29 16:12:31 +00:00
Daniel Veillard
34e3f64191 implement XML-1.0 5th edition, add parser option XML_PARSE_OLD10 to stick
* include/libxml/parser.h include/libxml/xmlerror.h parser.c:
  implement XML-1.0 5th edition, add parser option XML_PARSE_OLD10
  to stick to old behaviour
* testapi.c gentest.py: modified slightly and regenerated
* Makefile.am: add testchar
Daniel

svn path=/trunk/; revision=3755
2008-07-29 09:02:27 +00:00
Daniel Veillard
33fe28885c extend the cleanup rule space cleanup Daniel
* Makefile.am: extend the cleanup rule
* xmlschemas.c: space cleanup
Daniel

svn path=/trunk/; revision=3737
2008-04-10 08:09:25 +00:00
Daniel Veillard
9ebb632238 patches from John Carr to start cleaning up 'make diskcheck' problems c.f.
* check-relaxng-test-suite2.py check-relaxng-test-suite.py
  Makefile.am python/tests/Makefile.am python/Makefile.am
  check-xsddata-test-suite.py: patches from John Carr to
  start cleaning up 'make diskcheck' problems c.f. #506228
Daniel

svn path=/trunk/; revision=3674
2008-01-11 07:19:24 +00:00
Daniel Veillard
cb4284e296 applied patch from Richard Jones to for the silent flag on valgrind when
* xstc/Makefile.am doc/examples/Makefile.am Makefile.am: applied
  patch from Richard Jones to for the silent flag on valgrind
  when doing "make valgrind"
* xmlregexp.c: raise a regexp error when '\' is misused to escape
  a standard character.
Daniel

svn path=/trunk/; revision=3606
2007-04-25 13:55:20 +00:00
Daniel Veillard
fde5b0b9ca small cleanup to avoid packaging .svn applied patch to avoid a problem in
* Makefile.am: small cleanup to avoid packaging .svn
* libxml.h threads.c parser.c: applied patch to avoid a problem
  in concurrent threaded initialization fix from Ted Phelps
Daniel

svn path=/trunk/; revision=3582
2007-02-12 17:31:53 +00:00
Kasimier T. Buchcik
27759f2670 Tiny change for 'make tests': raised the number of expected failures for
* Makefile.am: Tiny change for 'make tests': raised
  the number of expected failures for James Clark's
  XML Schema datatype tests from 10 to 11. The additional
  reported error was agreed to be correct long time ago,
  but we missed to adjust the message reported by
  the testing script.
2005-12-05 15:32:28 +00:00
Daniel Veillard
355a023866 added the first regression test suite set for the new expression support
* Makefile.am result/expr/base test/expr/base: added the first
  regression test suite set for the new expression support
Daniel
2005-08-22 12:58:05 +00:00
Daniel Veillard
60faf528d8 fixed bug #307377 about validation of choices in list values. added
* relaxng.c: fixed bug #307377 about validation of choices in
  list values.
* test/relaxng/307377* result/relaxng/307377* Makefile.am runtest.c:
  added examples to the regression tests, problem is that streaming
  version gives slightly more informations.
Daniel
2005-08-10 16:23:57 +00:00
Daniel Veillard
c740a17f45 fixing the loop bug, fixing schematron text error rendering started
* schematron.c xmllint.c: fixing the loop bug, fixing schematron
  text error rendering
* Makefile.am result/schematron/* test/schematron/zvon1*.sct:
  started integrating within "make tests"
Daniel
2005-07-31 12:17:24 +00:00
Daniel Veillard
75e389d4e0 more cleanups based on sparse reports, added "make sparse" Daniel
* Makefile.am globals.c parserInternals.c xmlreader.c xmlunicode.c
  xmlwriter.c: more cleanups based on sparse reports, added
  "make sparse"
Daniel
2005-07-29 22:02:24 +00:00
Daniel Veillard
ed6c54971f changed xmlPatterncompile signature to pass an int and not an enum since
* pattern.c include/libxml/pattern.h: changed xmlPatterncompile
  signature to pass an int and not an enum since it can generate
  ABI compat troubles.
* include/libxml/schematron.h schematron.c: adding the new
  schematron code, work in progress lots to be left and needing
  testing
* include/libxml/xmlversion.h.in include/libxml/xmlwin32version.h.in
  Makefile.am configure.in: integration of schematron into the
  build
* xpath.c include/libxml/xpath.h: adding flags to control compilation
  options right now just XML_XPATH_CHECKNS.
Daniel
2005-07-23 15:00:22 +00:00
Daniel Veillard
e4aaae2640 Late fixes just for the release, daniel 2005-07-10 23:12:52 +00:00
Daniel Veillard
78dfc9f071 preparing release 2.6.20 removed a compilation problem Daniel
* Makefile.am NEWS configure.in doc/*: preparing release 2.6.20
* xmllint.c: removed a compilation problem
Daniel
2005-07-10 22:30:30 +00:00
Daniel Veillard
1f33c4d61f preparing to make testsuite releases along with code source releases fixed
* xstc/Makefile.am README README.tests Makefile.tests Makefile.am:
  preparing to make testsuite releases along with code source releases
* gentest.py testapi.c: fixed a couple of problem introduced by
  the new Schemas support for Readers
* xpath.c: fixed the XPath attribute:: bug #309580, #309864 in a crude
  but simple way.
* xmlschemas.c include/libxml/tree.h: fixed a couple of problems
  raised by the doc builder.
* doc/*: made rebuild
Daniel
2005-07-10 21:38:31 +00:00
Daniel Veillard
87b3046bc1 first steps toward a testsuite dist fixed bug #307870 Daniel
* Makefile.am: first steps toward a testsuite dist
* SAX2.c include/libxml/xmlerror.h: fixed bug #307870
Daniel
2005-07-05 14:04:36 +00:00
Daniel Veillard
f2e066ac2a complete, checking on other platforms is needed updated fix a bug raised
* runtest.c: complete, checking on other platforms is needed
* README: updated
* debugXML.c: fix a bug raised by bill on IRC
* relaxng.c: fix a leak in weird circumstances
* runsuite.c Makefile.am: standalone test tool agaisnt
  the regression suites, work in progress
Daniel
2005-06-30 13:04:44 +00:00
Daniel Veillard
4a5a964c66 added SAXv2 regression tests apparently missing. added SAX1/SAX2 checks.
* result/*.sax2 MAkefile.am: added SAXv2 regression tests apparently
  missing.
* runtest.c: added SAX1/SAX2 checks.
Daniel
2005-06-27 10:40:55 +00:00
Daniel Veillard
1b75c3bd69 avoid name glob in agruments as it matches the glob() routine. first steps
* include/libxml/valid.h valid.c: avoid name glob in agruments as
  it matches the glob() routine.
* runtest.c Makefile.am: first steps toward a C regression test
  framework.
Daniel
2005-06-26 21:49:08 +00:00
Daniel Veillard
dbfe05aff4 on linux/gcc use weak definitions to avoid linking with pthread library on
* Makefile.am configure.in threads.c: on linux/gcc use weak definitions
  to avoid linking with pthread library on non-threaded environments.
* xpath.c: applied patch from Mark Vakoc w.r.t. a buggy namespace
  list allocation.
Daniel
2005-05-04 09:18:00 +00:00
William M. Brack
b08d741dea added Makefile.am, missed in last commit 2005-03-16 01:43:05 +00:00
Daniel Veillard
25c90c589b try to fix a problem with valgrind. applied memory leak fix from Brent
* Makefile.am doc/examples/Makefile.am python/tests/Makefile.am
  xstc/Makefile.am: try to fix a problem with valgrind.
* python/generator.py python/libxml.c python/tests/Makefile.am
  python/tests/tstmem.py: applied memory leak fix from Brent Hendricks
  c.f. bug #165349
Daniel
2005-03-02 10:47:41 +00:00
William M. Brack
a22da29921 fixed xmlXIncludeParseFile to prevent overwriting XML_COMPLETE_ATTRS when
* xinclude.c: fixed xmlXIncludeParseFile to prevent
  overwriting XML_COMPLETE_ATTRS when setting pctxt->loadsubset
  (bug 166199)
* Makefile.am, python/tests/Makefile.am, xstc/Makefile.am: added
  code to add $(top_builddir)/.libs to LD_LIBRARY_PATH whenever
  PYTHONPATH is set, to assure new libxml2 routines are used.
2005-02-12 01:08:22 +00:00
Daniel Veillard
d4301aba26 use the walker to test the patterns instead of the normal reader bug fixes
* Makefile.am: use the walker to test the patterns instead of
  the normal reader
* pattern.c xmllint.c: bug fixes in the train including fixing the
  stupid build break.
Daniel
2005-02-03 22:24:10 +00:00
Daniel Veillard
f9d169142d added first test for the patterns a few fixes Daniel
* Makefile.am configure.in result/pattern/simple
  test/pattern/simple.*: added first test for the patterns
* pattern.c xmllint.c: a few fixes
Daniel
2005-01-30 22:36:30 +00:00
Daniel Veillard
48bc062211 oops forgot to add the bakefile, Daniel 2005-01-28 00:08:31 +00:00
Daniel Veillard
2ae13382c3 fixing the way testapi.c is generated, fixes bug #161386 fix a comment
* Makefile.am testapi.c doc/Makefile.am: fixing the way testapi.c
  is generated, fixes bug #161386
* dict.c: fix a comment typo
* elfgcchack.h doc/*: regenerated
Daniel
2005-01-25 23:45:06 +00:00
Daniel Veillard
b8590d4c1a fixed bug #164556 where non-fatal errors stopped push parsing and
* parser.c: fixed bug #164556 where non-fatal errors stopped
  push parsing and xmlreader.
* Makefile.am: fixup
* test/errors/webdav.xml result/errors/webdav*: adding regression
  test for this problem.
Daniel
2005-01-21 15:10:23 +00:00
William M. Brack
a73f45b62d fixed dependency on python 2.3, also small improvement for cygwin (bug
* Makefile.am configure.in: fixed dependency on python 2.3,
  also small improvement for cygwin (bug 163273)
2005-01-11 02:21:33 +00:00
Daniel Veillard
ce1648b124 applied DSO support patch 2 from Joel Reed Daniel
* Makefile.am config.h.in configure.in error.c libxml-2.0.pc.in
  testModule.c testdso.c xml2-config.in xmllint.c xmlmodule.c
  include/libxml/Makefile.am include/libxml/xmlerror.h
  include/libxml/xmlmodule.h include/libxml/xmlversion.h.in
  include/libxml/xmlwin32version.h.in: applied DSO support
  patch 2 from Joel Reed
Daniel
2005-01-04 15:10:22 +00:00
William M. Brack
106cad6619 enhanced for enabling build in a different directory. Added (optional)
* Makefile.am, gentest.py: enhanced for enabling build in
  a different directory.  Added (optional) param to gentest.py
  to specify the source directory (bug #155468)
* doc/Makefile.am: changed destination of NEWS from (top_srcdir)
  to (top_builddir) (bug #155468)
* python/Makefile.am, python/generator.py: enhanced for enabling
  build in a different directory(bug #155468).  Added (optional)
  param to generator.py to specify the source directory.  Added
  a new table of functions which have possible "foreign" encodings
  (e.g. UTF16), and code to use python 't' format instead of
  'z' format (mostly solving bug #152286, but still need to
  populate the table).
2004-12-23 15:56:12 +00:00
Daniel Veillard
aba37dffd7 forgot a $(srcdir) stupid error wrong name #157976 Daniel
* Makefile.am: forgot a $(srcdir)
* encoding.c: stupid error wrong name #157976
Daniel
2004-11-11 20:42:04 +00:00
Daniel Veillard
d0cf7f6eea integrated in "make tests" added -q option, and more conditional features
* Makefile.am gentest.py testapi.c: integrated in "make tests"
  added -q option, and more conditional features fixes
* catalog.c debugXML.c parser.c testThreads.c xmllint.c
  xmlschemastypes.c xmlwriter.cinclude/libxml/catalog.h
  include/libxml/debugXML.h: various compilation and conditional
  cleanups.
* doc/*: regenerated
Daniel
2004-11-09 16:17:02 +00:00