- added '--version' that prints information equivalent to "--build_info" and then exits
- prints the Boost.Test variant in use
- moved the definition of the BOOST_TEST_INCLUDED macro on the top of the files such that CLA can safely print the Boost.Test variant in use
- added smoke test
- Module name printing should use BOOST_TEST_MODULE (and not BOOST_TEST_MAIN): adding compilation check
* topic/11907-string-as-collection-error:
Change log and doc update
String comparison can now be used with BOOST_TEST additional compare options
Making std::string compatible with string comparison backend
# Conflicts:
# doc/closing_chapters/change_log.qbk
- replacing colons with underscores in the names cleaning
- names generated by template elements were not properly demangled in all platforms: using now the boost.core demangling functions (same as execution monitor)
- adding smoke tests and changing existing ones accordingly
- promoting std::string as a type convertible to basic_cstring
- changing the string comparison operator to account for basic_cstring convertible elements
- avoiding basic_cstring convertible elemets in collection comparison
- additional checks of the use of the adequate string comparator
- declaring string as a sequence for non C++11 compilers
* topic/11756-floatingpoint-exception-macros:
Some cleanup on the fpe symbols
Updated change log
trac 11756: fix usage of floating point exception macros
# Conflicts:
# doc/closing_chapters/change_log.qbk
A fully standards conforming fenv.h does not have to define any FE_* macros, and if it does define them,
then it defines macros only for the FP exceptions it actually supports.
Correct usage requires a triple check:
1) Check BOOST_NO_FENV_H to see if the header is supported.
2) Include the header and then check FE_ALL_EXCEPT to see
if any FP exceptions are supported.
3) Before using the individual FE_* macros, you need to
check for their existence too as not all may be
supported.
The reason is that some (notably FPU-less) architectures,
including mips*-nf, don't define/implement some of the
floating point constants, even though fenv.h is
available.
Other projects have similar issues, e.g. pixman, and apply similar work-arounds:
https://lists.freedesktop.org/archives/pixman/2014-February/003172.html
Architectures are notably also allowed to define FE_ALL_EXCEPT to 0!
Keeping this in mind, and knowing that the compiler will eliminate
code that can't be executed, we can change BOOST_FPE_ALL to be 0 for
the case of compiling using Clang and/or fenv.h being unavailable
as well, which allows simplification of the #ifdef's in
execution_monitor.ipp a bit.
- 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