- now experiencing the same behaviour as pre 1.62
- set_stream and set_threshold_level for the loggers are now mutating all loggers, not only the active ones
- renamed function
- when adding a custom logger, it is added to the set of loggers with CUSTOM
- updated the documentation
- major reorganization of the output section
- making more clear what a log and what a report is
- checkpoints doc update
- links to API, improved doxygen documentation and reference
- renamed files and sections
- JUNIT additional doc
- removed useless parts
* topic/8707-8834-junit-several-loggers:
Change log update
Documentation
JUnit default output stream
Logger tests: overriding the output_stream_logger matching algorithm and changing the format of the messages sent by the framework
Combined logger: CLA handling and stream/log level per formatter
Junit logger: integration into the set of loggers
JUnit logger: implementation
Multiple logger: entry in progress now being per logger as well
Multiple logger: now enabling a logger by its format
Multiple logger: breaking changes in the API in order to be able to add a logger per format on the fly
Loggers: now handling abort signal as well
Multiple loggers: having several loggers at the same time
Algorithm: replace all strings with/out wildcards
output_test_stream: being able to override the match_pattern method by making it virtual (+ other functions)
output_test_stream: improved messages on error
Framework: fixing the time associated to each test unit
issues with VS placeholders
Fixes 11845
Each data test case is not creating a test suite with the name provided by the BOOST_DATA_TEST_CASE directive. Inside that test suite, all samples are added with names _0, _1 ...
- Fix counter after copy/move
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.