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
* topic/PR81-BOOST_TEST_DISABLE_ALT_STACK-for-ESXi:
Added documentation and change log
Added 'BOOST_TEST_DISABLE_ALT_STACK' flag to use with ESXi build.
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
* develop:
Comment on the fix for maintenance
Fix for clang on windows
Change log update
MSVC12 fix: replacing broken std::is_copy_constructible by boost::is_copy_constructible
Doc: update wrt. latest changes
test for datasets with movable return type
Fixing xvalue forwarding for grid and zip (sample merge operations)
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.
* topic/fix-rvalue-references-in-tuple-packing:
Doc: update wrt. latest changes
test for datasets with movable return type
Fixing xvalue forwarding for grid and zip (sample merge operations)
- 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