Rationale: being agnostic to the variable of the unit tests (time, file location)
- the output_test_stream now is being able to replace the content of the stream before it reached the matching algorithm
- several stream processing: file names (cross platform), execution time ... for removing the platform dependant log format
- additional cleanup and fixes for the JUnit implementation (all assertions are now properly logged and flushed at write time in the appropriate section of the file)
- now the framework emits warnings/errors that are signaled by "boost.test framework" instead of a file that is unknown from the user (+1 squashed commit)
- new CLA argument for being able to specify a logger with repetition, as well as its log level and stream
- the specification of the logger are: logger_name[:log_level[:log_sink]]
- empty token are kept: 'logger_name::' is a valid spec
- now being able to specify a stream per format: modification of the stream helper
- the output stream of a particular format now accepts the name of the stream instead of the name of the associated param on the command line
- Make JUnit logger discard the log levels to log all events
- Currently JUnit discards the file directory where the assertion is being logged
- Uses tree visitation at the end of the test suite in order to generate the log file
- each formatter now indicates its default stream output (stderr/stdout/file)
- stream can now be set per logger formatter
- each logger is now capable of having its own log level
- improved diagnostic:
* now prints a longer prefix/suffix and the position of the mismatch
* continues the comparison in case of error rather than stopping and flushing the stream
- best substring matching in case of error for continuing the comparison of the strings/streams at the next location
- added algorithm for string replacement
* topic/trac-12024-nonexisting-__cxa_demangle-android:
Changelog
Use boost/core/demangle instead of a direct GNU API use
# Conflicts:
# doc/closing_chapters/change_log.qbk
# include/boost/test/impl/execution_monitor.ipp
getchar() is defined as a macro in uClibc. This hits gcc bug 58952 [1] for all
gcc version <= 4.8.2 and building boost/test fails:
./boost/test/impl/unit_test_main.ipp: In function 'int boost::unit_test::unit_test_main(boost::unit_test::init_unit_test_func, int, char**)':
./boost/test/impl/unit_test_main.ipp:194:18: error: expected unqualified-id before '(' token
To allow building boost/test with uClibc based toolchains with gcc <= 4.8.2 use
parenthesis for std::getchar.
[1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58952
When I try to build with clang on windows (4.2.1 Compatible Clang 3.9.0 (trunk), on top of VC14) I get an error complaining that accessing "this" within an __except block is unimplemented. This patch just stores the value in a local variable to make it available with the __finally clause.
Allows Boost.Test to be built with clang on windows, in VC compatibility mode.
- uses tuple_cat and decltype internally
- works as before in case of internal references
- constructs holder objects in terms of moveable only types: should improve the sharability of the holders in case of an object used multiple times
* topic/data-variadic-template:
change log update
Documentation on how to control the arity
fixup test cases
Making it truly variadic
Fixing the arity problem of the dataset test cases
new headers
initial version
# Conflicts:
# doc/closing_chapters/change_log.qbk
* topic/trac-08905-ignores-return-value-from-WaitForSingleObject:
Updating the changelog
Closing the handles and the hkeys properly and testing the start of the debugger
# Conflicts:
# doc/closing_chapters/change_log.qbk