- Dec 10, 2018
-
-
Arseny Kapoulkine authored
This allows us to reuse this code for MinGW builds. Additionally disable coverage step for Linux clang - it looks like Travis has a mismatch in the version of gcov info between clang and gcov which causes gcov to crash - somehow this crash isn't picked up as a build error.
-
Arseny Kapoulkine authored
We are currently only testing UTF8 mode which means we don't have code coverage for some UTF->UTF decoding paths.
-
Arseny Kapoulkine authored
This is a dummy commit to trigger codecov build
-
Arseny Kapoulkine authored
Use cygwin to build coverage build and upload coverage data to codecov.
-
- Nov 27, 2018
-
-
Arseny Kapoulkine authored
The behavior on Linux is very different between kernel versions, and it triggers an unexpected OOM during sanitizer runs because somehow the size is reported to be LONG_MAX. It's not clear that it helps us cover any paths we don't cover otherwise - it would be nice to be able to test failing to load a multi-gigabyte file on a 32-bit system, but we can't do this easily atm anyway.
-
Arseny Kapoulkine authored
This commit changes sanitize configuration to fail on the first error and ignore floating-point division and overflow "errors" that trigger when we test the corresponding functionality. This makes it possible to run this on all commits - if new UB or memory safety issues are introduced, asan/ubsan will catch them.
-
- Nov 24, 2018
-
-
Arseny Kapoulkine authored
We had a few places in test code and library source where we used an implicit float->double cast; while it should preserve the value exactly, gcc/clang implement this warning to make sure uses of double are intentional. This change also adds the warning to Makefile to make sure we don't regress on this warning. Fixes #243.
-
- Nov 20, 2018
-
-
Arseny Kapoulkine authored
This change modifies the table entries for ctx_special_attr to treat TAB character as special, which makes the output code escape it. Before this change, trying to use TAB in an attribute value would output it verbatim; during subsequent parsing, pugixml - and other compliant parsers - would apply attribute-value normalization, turning the TAB into a space and losing the original value. Using 	 fixes this; if an input document has 	 in an attribute value, that gets unescaped into \t during parsing and escaped back into 	 during output, which means we can now roundtrip values like this. Fixes #242.
-
- Nov 16, 2018
-
-
cecilios authored
-
- Nov 12, 2018
-
-
Arseny Kapoulkine authored
-
Wolfgang Stöggl authored
-
- Oct 24, 2018
-
-
Arseny Kapoulkine authored
Coverity hits a similar false positive to what clang static analyzer hit - it assumes that since optimize() checks _right for being nullptr, optimize_self() might hit _right=nullptr in the ast_op_equal case which is impossible. Contributes to #236.
-
- Oct 16, 2018
-
-
Lipsa, Dan authored
The following warning is removed: Visual Studio 14.0 1. warning C4275: non dll-interface class 'std::exception' used as base for dll-interface class 'vtkpugixml::xpath_exception'
-
- Sep 25, 2018
-
-
Arseny Kapoulkine authored
clang doesn't understand the invariants guaranteed for specific AST node types and, when seeing null pointer checks in optimize(), assumes any pointers in the node might be null. Work around this by adding explicit - redundant - null pointer checks.
-
Arseny Kapoulkine authored
This change replaces xpath_node_set single element storage with a single-element array in hopes that this would silence Coverity false positive about getting a singleton pointer. Additionally, it refactors _assign member to unify small and large buffer codepaths since they are basically identical. Fixes #233 (hopefully)
-
- Aug 14, 2018
-
-
Arseny Kapoulkine authored
Intel compiler by default sets flush-to-zero flags which causes our denorm test to produce 0.0. So make sure that denorms work on FPU before testing the string output. Fixes #218.
-
Arseny Kapoulkine authored
Instead of hardcoding SOVERSION, use CMake variables to set it up. Closes #220.
-
- Aug 08, 2018
-
-
Vyacheslav Egorov authored
* Visual Studio Natvis visualization * Changed string format to remove separate natvis file for wide character mode * Display any node type with name and value if any of them are available
-
- Jul 30, 2018
-
-
Arseny Kapoulkine authored
On some Debian systems it looks like we *can* open the current folder as a file and read its contents, but parsing the result produces an empty document. We now handle this case as well. Fixes #225.
-
- Jul 28, 2018
-
-
Arseny Kapoulkine authored
Fixes #224.
-
- Jul 24, 2018
-
-
Arseny Kapoulkine authored
This makes sure the contents of tests/data/ folder does not go through newline conversion, which breaks tests that rely on some files having LF and some files having CR+LF. Fixes #222.
-
- Jul 23, 2018
-
-
Arseny Kapoulkine authored
It looks like zipfile module by default uses the permission mask 0, which after unpacking on Unix-based systems leads to the files being inaccessible. We now explicitly set file mask to rw-r--r-- to match .tar.gz defaults. Fixes #217.
-
- Jun 26, 2018
-
-
Wolfgang Stöggl authored
- Up to now, the libdir was hardcoded to "lib" inside pugixml.pc and the install directory of pugixml.pc was "lib/pkgconfig" - Adds support for lib and lib64 by using CMAKE_INSTALL_LIBDIR variable
-
- Jun 20, 2018
-
-
Bernd Amend authored
This also bumps the minimum CMake version to 3.0 (from 2.8.12).
-
- May 17, 2018
-
-
Arseny Kapoulkine authored
This is implicitly true due to the following section, but that was written before C++11 so this does deserve a special mention in ranged for section as well. Fixes #210.
-
- Apr 27, 2018
-
-
Arseny Kapoulkine authored
This setup can interfere with existing workflows in two ways: - If the target application used CMake and configured custom postfixes, this change would override them - If the target application did *not* use CMake, it'd have to abide by these conventions even if the target configuration used is unexpected - for example, the default "preferred" configuration is frequently RelWithDebugInfo, not Release, which now has a postfix. Fixes #198.
-
- Apr 15, 2018
-
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
This might have helped a bit with confusion in #195.
-
- Apr 12, 2018
-
-
Arseny Kapoulkine authored
Add example code
-
Arseny Kapoulkine authored
We no longer need to specify the license boilerplate verbatim since we have a separate file.
-
- Apr 11, 2018
-
-
Alexander Straub authored
-
Arseny Kapoulkine authored
Also rename LICENSE to LICENSE.md
-
Bruno Pagani authored
Also fix two http → https occurrences.
-
- Apr 09, 2018
-
-
Eli Schwartz authored
There's really never a reason to *not* want this installed. If an option is needed to specify installing in a versioned subdirectory, this option should be explicitly described rather than hidden in something else. As an added bonus, this makes the CMake install code slightly *less* complicated.
-
- Apr 04, 2018
-
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
We need bad_alloc that lives in <new>, not <exception>.
-
Arseny Kapoulkine authored
pugixml.hpp wasn't including the <exception> header in this build but test code needed it.
-
Arseny Kapoulkine authored
-
- Apr 03, 2018
-
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
-