Arseny Kapoulkine
05032b4c06
scripts: Add an option for building tests with CMake
2015-04-13 20:02:09 -07:00
Arseny Kapoulkine
9539c488c2
Fix unused variable warning
...
Also fix test in wchar_t mode.
2015-04-12 22:06:17 -07:00
Arseny Kapoulkine
f04b56e178
Permit custom allocation function to throw
...
Ensure that all the necessary cleanup is performed in case the allocation fails
with an exception - files are closed, buffers are reclaimed, etc.
Any test that triggers a simulated out-of-memory condition is ran once again
with a throwing allocation function. Unobserved std::bad_alloc count as test
failures and require CHECK_ALLOC_FAIL macro.
Fixes #17 .
2015-04-12 21:46:48 -07:00
Arseny Kapoulkine
5edeaf6765
tests: Add more out of memory tests
...
Also add tests that verify save_file for absence of FILE leaks.
2015-04-12 21:27:12 -07:00
Arseny Kapoulkine
a0d065cd22
Implment copyless copy for attributes
...
Previously attributes that were copied with their node used string sharing,
but standalone attributes that were copied using xml_node::*_copy(xml_attribute)
were not.
2015-04-12 03:03:56 -07:00
Arseny Kapoulkine
c5d07e2c28
tests: Add a test that verifies absence of file leaks
...
If an out of memory error happens in load_file there's a danger of leaking
the FILE object. Since there is a limited supply of the objects we can easily
test that the leak does not happen.
2015-04-12 02:34:48 -07:00
Arseny Kapoulkine
2537cccad3
tests: Fix some Coverity issues
2015-04-12 02:17:20 -07:00
Arseny Kapoulkine
d6f7766172
Optimize xml_node::path() to use 1 allocation
...
Instead of reallocating the string for every tree level just do two passes
over the ancestor chain.
2015-04-12 02:12:15 -07:00
Arseny Kapoulkine
99afee1832
Move zero-termination out of as_utf8_end
...
as_utf8_end was used with std::string, where writing an extra zero-terminating
character should *probably* always work (at least if size is positive) but is
not ideal.
The only place that needed to zero-terminate was convert_path_heap.
2015-04-12 01:32:25 -07:00
Arseny Kapoulkine
3da7d68617
Fix Travis CI build.
2015-04-11 22:52:41 -07:00
Arseny Kapoulkine
4e004176ba
tests: Improve out-of-memory tests
...
Previously there was no guarantee that the tests that check for out of memory
handling behavior are actually correct - e.g. that they correctly simulate out
of memory conditions.
Now every simulated out of memory condition has to be "guarded" using
CHECK_ALLOC_FAIL. It makes sure that every piece of code that is supposed to
cause out-of-memory does so, and that no other code runs out of memory
unnoticed.
2015-04-11 22:46:08 -07:00
Arseny Kapoulkine
37467c13bf
tests: Add a test for throwing from xml_writer::write
...
We currently don't allocate/modify any state so there are no issues with this.
2015-04-11 22:44:42 -07:00
Arseny Kapoulkine
e2e5bc906a
Use -fno-exceptions flag for PUGIXML_NO_EXCEPTIONS build
...
This makes sure that no exception handling mechanisms are used if
PUGXML_NO_EXCEPTIONS is defined.
2015-04-11 22:42:27 -07:00
Arseny Kapoulkine
814443b147
Fix exception type for out-of-memory for XPath variables
...
When parsing XPath variables, we need to perform a heap allocation; if it
fails, an xpath_exception instead of bad_alloc used to be thrown.
Now we throw the exception of a correct type so that xpath_exception means
'parsing error'.
2015-04-11 22:40:30 -07:00
Arseny Kapoulkine
03ea04c32a
tests: Use char_t instead of wchar_t
2015-04-11 00:33:35 -07:00
Arseny Kapoulkine
29fef9aca2
tests: Add more out of memory tests
...
This provides more coverage for #17 .
2015-04-11 00:16:39 -07:00
Arseny Kapoulkine
405fefc877
Update README.md
2015-04-10 20:59:07 -07:00
Arseny Kapoulkine
9b8553bf4b
docs: Update release date
v1.6
2015-04-10 20:49:47 -07:00
Arseny Kapoulkine
f1d1534210
Fix archive packaging
...
Base directory is now using target basename.
2015-04-10 20:45:07 -07:00
Arseny Kapoulkine
10ff488eb9
docs: Use automatically retrieved version for docs
...
This eliminates one more hardcoded version from the repo, yay!
2015-03-24 20:59:04 -07:00
Arseny Kapoulkine
fc20b0afbb
Update Makefile to exclude docs/manual folder from release
2015-03-24 20:08:06 -07:00
Arseny Kapoulkine
e35058cfda
docs: Add generated documentation
2015-03-24 20:07:19 -07:00
Arseny Kapoulkine
80a8a77af4
docs: Finishing touches
...
It's almost done; the only remaining issue is that some section titles are too long.
2015-03-24 10:03:08 -07:00
Arseny Kapoulkine
704d27622b
Add include dependencies to HTML targets
2015-03-22 11:34:06 -07:00
Arseny Kapoulkine
9a55571725
docs: Reword documentation note
2015-03-22 10:44:46 -07:00
Arseny Kapoulkine
c0374b8a48
docs: Minor API reference improvements
2015-03-22 10:40:18 -07:00
Arseny Kapoulkine
3f3e4525e1
docs: Fix several internal links
2015-03-22 10:08:35 -07:00
Arseny Kapoulkine
5644027990
docs: HTML validity fixes
...
Also minor wording fixes.
2015-03-22 09:50:55 -07:00
Arseny Kapoulkine
40fa405751
docs: Converted some samples to Unix newline
2015-03-22 01:01:46 -07:00
Arseny Kapoulkine
56bdc6c5ea
docs: Extract configuration to config.adoc
2015-03-22 00:35:06 -07:00
Arseny Kapoulkine
c94e8a7c0e
docs: Remove old Quickbook sources
2015-03-22 00:16:14 -07:00
Arseny Kapoulkine
d4f9047b2f
docs: Fix PUGIXML_HEADER_ONLY description
...
Users no longer need to #include "pugixml.cpp"
2015-03-22 00:14:48 -07:00
Arseny Kapoulkine
11054219de
docs: A lot of small fixes
...
Mostly added correct quotation to changelog.
2015-03-22 00:11:19 -07:00
Arseny Kapoulkine
55081aca8b
docs: Set up cross-referencing and anchors
...
This is mostly done using regex replaces of original Quickbook markup, plus a
bit of manual fixup for multiple references to the single point from different
lines that AsciiDoc does not seem to handle.
2015-03-21 23:37:33 -07:00
Arseny Kapoulkine
054bffb195
docs: API reference is closer to being done
...
Still need to replace [link ] with actual links.
Also a bunch of small fixes here and there.
2015-03-21 23:09:29 -07:00
Arseny Kapoulkine
363b7a3b22
docs: Fix nested lists and changelog
2015-03-21 22:23:03 -07:00
Arseny Kapoulkine
5f8cd17ff6
docs: Fix tables and images in the manual
...
Also remove redundant [lbr]
2015-03-21 21:56:54 -07:00
Arseny Kapoulkine
b9177ab7b5
docs: Remove image thumbnails
2015-03-21 21:53:50 -07:00
Arseny Kapoulkine
d8f900f148
Add docs target to Makefile
2015-03-21 21:06:48 -07:00
Arseny Kapoulkine
eed184a175
docs: Remove auxiliary files for old documentation
2015-03-21 21:05:52 -07:00
Arseny Kapoulkine
2843f91d00
docs: Remove old HTML documentation
2015-03-21 21:04:28 -07:00
Arseny Kapoulkine
1a450b302a
docs: Use AsciiDoc-compatible comments in samples
2015-03-21 21:03:01 -07:00
Arseny Kapoulkine
23e9beb003
docs: Add AsciiDoc versions of quickstart and manual
...
Quickstart should be reasonably complete; manual is still in progress
2015-03-21 21:02:27 -07:00
Arseny Kapoulkine
5959a17967
tests: Final test fix for CW
2015-03-21 17:09:42 -07:00
Arseny Kapoulkine
250b690a54
tests: Work around fp issues in various runtime libraries
...
Disable/change some tests for some compilers; use binary float comparison
for early MSVC versions.
2015-03-21 01:05:31 -07:00
Arseny Kapoulkine
ce974094ac
tests: Fix test compilation
...
Rename PAGE_SIZE to page_size to avoid define conflict with Android SDK.
Minor fixes in several tests.
2015-03-21 00:14:53 -07:00
Arseny Kapoulkine
28e63f66e1
Update year to 2015
2015-03-20 20:47:14 -07:00
Arseny Kapoulkine
5642f4d6e2
Add release target to Makefile
2015-03-20 00:36:10 -07:00
Arseny Kapoulkine
d1aad862d6
Makefile refactoring
...
Simplify test source specification, disable built-in rules and suffixes
2015-03-20 00:34:37 -07:00
Arseny Kapoulkine
5d4f605fd2
Fix Jamfile (exclude fuzz_*.cpp)
2015-03-20 00:30:27 -07:00