- Jun 29, 2017
-
-
Arseny Kapoulkine authored
Switch codecov.io URLs to https
-
Arseny Kapoulkine authored
-
- Jun 23, 2017
-
-
Arseny Kapoulkine authored
These new tests test that tellg() can fail when being called the second time, which leads to seekable implementation failing.
-
Arseny Kapoulkine authored
These tests simulate various error conditions when reading data from streams - seeks failing in seekable streams, underflow throwing an exception causing read to set badbit, etc. This change also adjusts memory thresholds to cause a reliable out of memory during construction of a final buffer for non-seekable streams.
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
This fixes missing coverage in translate_table_generate and xpath_node_set_raw::append.
-
Arseny Kapoulkine authored
Hiding using namespace in common.hpp is somewhat surprising so remove common.hpp and move using namespace into all .cpp files that need it.
-
Arseny Kapoulkine authored
Most tests have `using namespace pugi` which makes explicit qualifications unnecessary.
-
Arseny Kapoulkine authored
It's not clear whether we still need PUGI__MSVC_CRT_VERSION, but it's more consistent for now to use it for _snprintf_s since this is relying on a CRT extension, not on a compiler feature.
-
- Jun 22, 2017
-
-
Arseny Kapoulkine authored
These functions were deprecated via comments in 1.5 but never got the deprecated attribute; now is the time! Using deprecated functions produces a warning; to silence it, this change moves the relevant tests to a separate translation unit that has deprecation disabled.
-
- Jun 21, 2017
-
-
Arseny Kapoulkine authored
Rework NuGet package building
-
Arseny Kapoulkine authored
Unify build paths in all MSBuild VS projects and extract common build logic into functions. Note that this change changes both VS2010 and VS2013 projects to have more predictable output paths and fixed output file name (pugixml).
-
Arseny Kapoulkine authored
Also improve linkage description
-
Arseny Kapoulkine authored
We build NuGet package manually now so we don't need CoApp.
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
We'd like to build pugixml with both static & dynamic CRT and put it all in one NuGet package. CoApp sort of allows us to do this via dynamic/static pivots, but it does not let us customize the names of the pivots and additionally has some bugs with the project setup. Their project modifications are also much more complicated - really, at this point we should do this ourselves. Create a simple native NuGet package with Linkage setting that picks the right library, and package all libraries appropriately. Note that we use the unified path syntax to make it simple to just get the right .lib file from the toolset/platform/configuration/linkage combo.
-
- Jun 19, 2017
-
-
Arseny Kapoulkine authored
The macro only works correctly when the input argument is an array with a statically known size - pointers or arrays decayed to pointers won't work silently. While this is unlikely to surface issues that aren't caught in tests/code review, use _countof for MSVC to prevent such code from compiling.
-
Arseny Kapoulkine authored
Add VS2017 to AppVeyor test run
-
Arseny Kapoulkine authored
This requires moving the list of VS versions out of autotest-appveyor.ps1 and into appveyor.yml.
-
Arseny Kapoulkine authored
Correctly check for error codes and don't run .bat file since it doesn't work anyway (the variables it sets aren't accessible in PowerShell, and the path to the script doesn't seem to be the same in VS2017).
-
Arseny Kapoulkine authored
VS2017 project + NuGet support
-
- Jun 17, 2017
-
-
Arseny Kapoulkine authored
Add memory allocation failure test for concact with a very large list and make sure we have every single axis covered with and without a predicate, with and without a previous step.
-
Arseny Kapoulkine authored
Apparently only narrow character streams had out of memory coverage - fix that and also split this into a separate test.
-
Arseny Kapoulkine authored
Cover both char and wchar_t stream loading in a single run instead of using pugi::char_t.
-
- Jun 16, 2017
-
-
Arseny Kapoulkine authored
Cover more failure cases and simplify the streambuf implementation a bit.
-
Arseny Kapoulkine authored
Rename partition to partition3 to resolve conflicts with std::partition.
-
Arseny Kapoulkine authored
Add more memory allocation failure tests.
-
Arseny Kapoulkine authored
Adjust the buffer size to be right on the edge of the overflow, make sure we actually output " instead of ".
-
Arseny Kapoulkine authored
This test triggers flush() condition for each optimized write() method.
-
Arseny Kapoulkine authored
Instead of branching code at each invocation site, use variadic macros to create a wrapping macro that use snprintf for the buffer of a statically known size. Variadic macros are supported by all C++11 compilers, as is snprintf; on MSVC 2005+ we don't necessarily have snprintf, but we can use _snprintf_s with _TRUNCATE to get the same behavior. In all other cases we fall back to sprintf, that (theoretically) can lead to a stack buffer overflow. In practice all snprintfs used in pugixml use buffers that should be large enough to never be overflown but snprintf is safe even if this is not the case.
-
Arseny Kapoulkine authored
We use references to arrays elsewhere in the codebase and there's just one caller for this function so it's easier to fix the size. This will simplify snprintf refactoring.
-
Arseny Kapoulkine authored
use snprintf instead of sprintf
-
Arseny Kapoulkine authored
Improve code coverage
-
Arseny Kapoulkine authored
codecov.io does not seem to support lcov regex customization; additionally, we can't just replace unreachable with LCOV_LINE_EXCL in gcov file - so we have to patch the ##### indicator (which suggests the line hasn't been hit) with 1. See also https://github.com/codecov/support/issues/144
-
- Jun 15, 2017
-
-
Arseny Kapoulkine authored
Now we can exclude these from code coverage since it's logically impossible to hit them in tests.
-
Arseny Kapoulkine authored
New tests try to load a folder as an XML document, and a device. Both are intended to exercise some otherwise non-hittable error paths in load_file implementation.
-
Ivan Gagis authored
-
Ivan Gagis authored
-
Ivan Gagis authored
-
Ivan Gagis authored
-