aaacf00faa
* topic/PR-234-boost-diagnostic_information-rtti: Change log boost::diagnostic_information() works in no rtti mode.
532 lines
31 KiB
Plaintext
532 lines
31 KiB
Plaintext
[/
|
||
/ Copyright (c) 2013 Boost.Test contributors
|
||
/
|
||
/ Distributed under the Boost Software License, Version 1.0. (See accompanying
|
||
/ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||
/]
|
||
|
||
[section Change log]
|
||
|
||
Boost.Test releases:
|
||
|
||
* [link ref_CHANGE_LOG_3_12 Boost.Test v3.12 / boost 1.72]
|
||
* [link ref_CHANGE_LOG_3_11 Boost.Test v3.11 / boost 1.71]
|
||
* [link ref_CHANGE_LOG_3_10 Boost.Test v3.10 / boost 1.70]
|
||
* [link ref_CHANGE_LOG_3_9 Boost.Test v3.9 / boost 1.69]
|
||
* [link ref_CHANGE_LOG_3_8 Boost.Test v3.8 / boost 1.68]
|
||
* [link ref_CHANGE_LOG_3_7 Boost.Test v3.7 / boost 1.67]
|
||
* [link ref_CHANGE_LOG_3_6 Boost.Test v3.6 / boost 1.65]
|
||
* [link ref_CHANGE_LOG_3_5 Boost.Test v3.5 / boost 1.64]
|
||
* [link ref_CHANGE_LOG_3_4 Boost.Test v3.4 / boost 1.63]
|
||
* [link ref_CHANGE_LOG_3_3 Boost.Test v3.3 / boost 1.62]
|
||
* [link ref_CHANGE_LOG_3_2 Boost.Test v3.2 / boost 1.61]
|
||
* [link ref_CHANGE_LOG_3_1 Boost.Test v3.1 / boost 1.60]
|
||
* [link ref_CHANGE_LOG_3_0 Boost.Test v3 / boost 1.59]
|
||
|
||
[#ref_CHANGE_LOG_3_12][h4 Boost.Test v3.12 / boost 1.72]
|
||
|
||
[h5 New features]
|
||
|
||
* Support for C++17 `std::string_view` has been added.
|
||
* Better diagnostic on `boost::exception` and no rtti mode (thanks to Mikhail Pilin / [pull_request 234])
|
||
|
||
[h5 Bugfixes and feature requests]
|
||
|
||
# [github_issue 206] compile-time disabled test not correctly handled by junit log
|
||
# [github_issue 217] Data test cases fail with `bool` initializer list
|
||
# [github_issue 223] Unable to filter test by name (`-t`, `--run_test`) if template type contains multiple parameters
|
||
# [github_issue 229] Random shuffle deprecated
|
||
|
||
# [pull_request 227] Add `printf` format checking attribute to `report_error`
|
||
# [pull_request 231] OpenBSD is missing `SI_ASYNCIO` and `SI_MESGQ`
|
||
# [pull_request 232] fix timeout in windows
|
||
# [pull_request 234] `boost::diagnostic_information()` works in no `rtti` mode
|
||
|
||
[#ref_CHANGE_LOG_3_11][h4 Boost.Test v3.11 / boost 1.71]
|
||
|
||
[h5 New features]
|
||
* Now `BOOST_TEST` can be used to compare abstract types
|
||
|
||
[h5 Breaking changes]
|
||
|
||
* Marking more headers as deprecated: this might break some compilations
|
||
depending on the warning policies.
|
||
|
||
[h5 Bugfixes and feature requests]
|
||
|
||
# Fixing a small bug on named timers (Windows only). The bug is visible when
|
||
several test modules are executed in parallel on the same machine.
|
||
|
||
# [github_issue 209] `BOOST_TEST_CHECK` can't compare abstract classes using gcc
|
||
# [github_issue 218] Default file name (for logger output files)
|
||
|
||
# [pull_request 219] Commented out unused argument name (`stack_decorator::apply`)
|
||
# [pull_request 224] Add `BOOST_HEADER_DEPRECATED` to deprecated headers
|
||
|
||
[#ref_CHANGE_LOG_3_10][h4 Boost.Test v3.10 / boost 1.70]
|
||
|
||
[h5 New features]
|
||
* New documentation section about [link boost_test.runtime_config.custom_command_line_arguments custom command line]
|
||
arguments
|
||
* [link boost_test.tests_organization.test_cases.test_case_generation.datasets.dataset_interface Custom datasets]
|
||
are not required to declare a inner type `sample` anymore
|
||
* Boost.Test does not depend on Boost.Timer any more (which was pulling also Boost.Chrono
|
||
and Boost.System as transitive dependencies).
|
||
* Now Boost.Test raises an exception when the test case times-out on Windows. Prior to this release,
|
||
times-out on Windows were not failing the test cases. Note that signaling is not available on Windows,
|
||
and it is not possible to interrupt a test even in case of time out.
|
||
* Time-out now applies to test-suites as well: a test-suite is marked as timed-out if it exceeds the allocated
|
||
time. The test units that were not executed at the time-point of the time-out are skipped.
|
||
* It is now possible to pass several values for the same context via the tool
|
||
__BOOST_TEST_CONTEXT__.
|
||
* A new macro __BOOST_TEST_INFO_SCOPE__ let define a context for the current scope in a sticky way.
|
||
* It is now possible to use [link boost_test.testing_tools.extended_comparison.floating_point floating point]
|
||
comparison without being required to cast both operands to floating point types. Now Boost.Test uses floating
|
||
point comparisons for expressions such as
|
||
|
||
``
|
||
BOOST_TEST(3.0001 == 3);
|
||
``
|
||
|
||
See [link boost_test.testing_tools.extended_comparison.floating_point.type_promotion_of_the_operands this section]
|
||
for more information.
|
||
|
||
[h5 Breaking changes]
|
||
* Boost.Test `minimal.hpp` is now showing a deprecation warning. `minimal.hpp` has been
|
||
deprecated for a long time already, and will be removed in the near future. Please
|
||
switch to eg. the header only variable of Boost.Test. Tests using `minimal.hpp` can
|
||
readily be converted to the header variant. For instance, the following code:
|
||
|
||
``
|
||
#include <boost/test/minimal.hpp>
|
||
int test_main( int, char *[] )
|
||
{
|
||
...
|
||
}
|
||
``
|
||
|
||
may be rewritten as:
|
||
|
||
``
|
||
#include <boost/test/included/unit_test.hpp>
|
||
BOOST_AUTO_TEST_CASE(test_main)
|
||
{
|
||
...
|
||
}
|
||
``
|
||
* The floating point comparison behavior change may use this type of comparison while previously
|
||
using straight relational operator comparison. In particular this may causes ['new warnings].
|
||
|
||
* the member function [memberref boost::unit_test::unit_test_log_formatter::log_build_info] has slightly changed
|
||
to accept an additional boolean argument. If you have a custom logger, you will need to update its signature.
|
||
|
||
[h5 Bugfixes and feature requests]
|
||
|
||
# [github_issue 133] Timeout effect on Windows
|
||
# [github_issue 138] expected_failures doesn't work for `BOOST_DATA_TEST_CASE`
|
||
# [github_issue 141] Support for Boost.MP11 and Boost.Hana type lists
|
||
# [github_issue 157] Test name should handle `const`-`volatile` specifiers
|
||
# [github_issue 160] suppress `-Wformat-overflow` when optimization is enabled on GCC 8.2.0
|
||
# [github_issue 174] `UBSAN` identified a problem at exit time by `gcc-8` only
|
||
# [github_issue 176] `[snippet_dataset1_3]` seems to be broken
|
||
# [github_issue 177] `boost_check_equal-str-test` failed on `llvm`
|
||
# [github_issue 180] Unreachable code warning on MSVC builds in test matrix
|
||
# [github_issue 181] `doc_example22` (and `23`) are expected to fail, but do not on clang with release variant builds
|
||
# [github_issue 194] `master_test_suite` declared twice
|
||
# [github_issue 196] junit report: test error is also reported as failure
|
||
# [github_issue 198] Support `BOOST_UNIT_TEST_FRAMEWORK_DYN_LINK` et al
|
||
# [github_issue 199] Runtime `type_mismatch` after upgrade to `1.69`
|
||
# [github_issue 202] `boost/timer.hpp` is deprecated
|
||
# [github_issue 203] Test cases with datasets and fixtures don't support flexible fixture interface
|
||
# [github_issue 204] Feature Request: Allow specifying timeouts for test cases with datasests.
|
||
# [github_issue 208] Incorrect handling of timed-tests on Windows
|
||
# [github_issue 211] `windows.h` should be lower case
|
||
# [github_issue 212] Comment `ar` parameter of `assertion_result` to avoid warning
|
||
# [github_issue 213] `BOOST_SYMBOL_VISIBLE` cannot be used for `enums` with Sun Studio
|
||
|
||
# [pull_request 171] Correct library name in test runner help screen
|
||
# [pull_request 172] Check for non-used variables when `NDEBUG` is defined
|
||
# [pull_request 182] fix use of `bind1st` in `example 12`
|
||
# [pull_request 183] remove superfluous semicolon in `example 04`
|
||
# [pull_request 184] fix example to use the correct variable and avoid unused variable warning
|
||
# [pull_request 185] Added CI framework
|
||
# [pull_request 190] fix warning on gcc-7.3 in cygwin claiming `master_test_suite` is declared differently
|
||
# [pull_request 195] Fix MinGW compilation problems
|
||
# [pull_request 197] Feature Request: `BOOST_TEST_CONTEXT` that doesn't require introducing a new scope with braces
|
||
# [pull_request 205] Fix MinGW `vsnprintf` compile errors and warnings
|
||
# [pull_request 214] Fixes an issue with sun_cc lacking the __global attribute for enums
|
||
|
||
# [ticket 7397] Boost.Test, since boost `1.48` is using the deprecated `Boost.Timer` class (solved via [github_issue 202])
|
||
# [ticket 9434] error: `namespace boost::timer {}` re-declared as different kind of symbol (solved via [github_issue 202])
|
||
# [ticket 13106] `libs/test/tools/console_test_runner` does not compile
|
||
# [ticket 13418] Request: allow general typelist types in `BOOST_AUTO_TEST_CASE_TEMPLATE()`
|
||
|
||
|
||
[#ref_CHANGE_LOG_3_9][h4 Boost.Test v3.9 / boost 1.69]
|
||
|
||
[h5 New features]
|
||
* Official support of header-only variant of Boost.Test with multiple translation units. This feature
|
||
was available but needed to be properly documented ([link boost_test.adv_scenarios.single_header_customizations.multiple_translation_units here]
|
||
and [link boost_test.usage_variants here]).
|
||
* It is now possible to manually add a test case by specifying its name, with __BOOST_TEST_CASE_NAME__
|
||
* Better logging of messages in `boost::exception`
|
||
|
||
[h5 Bugfixes and feature requests]
|
||
|
||
# [github_issue 149] Setting color_output=no does not disable the output of color format codes
|
||
# [github_issue 150] Some headers fail to compile independently
|
||
# [github_issue 156] `close_at_tolerance` always returns `false` for comparisons of infinity
|
||
# [github_issue 158] Detecting `boost_test_print_type` does not work when testing a type with an explicit conversion to `bool`
|
||
# [github_issue 163] Significant start slowdown on MSVC x64/Debug after upgrade to `v1.68.0`
|
||
|
||
# [pull_request 147] Catch block for `boost::exception` appears after `std::exception` in `execution_monitor::execute()`
|
||
# [pull_request 148] Colored output contradiction
|
||
# [pull_request 151] Fix warning: `BOOST_CLANG` is not defined, evaluates to `0`
|
||
# [pull_request 154] When specifying `--color_output=no`, don't output color codes
|
||
# [pull_request 161] add a self-containment test
|
||
|
||
# [ticket 13380] data-driven tests' join operator `+` corrupts first column (duplicates [ticket 12216])
|
||
# [ticket 13625] Boost.test fail to compile with `-Werror=missing-declarations` on some architectures
|
||
# [ticket 13637] Fix for Bug [ticket 12597] causes a problem with `BOOST_TEST_CASE`
|
||
|
||
|
||
[#ref_CHANGE_LOG_3_8][h4 Boost.Test v3.8 / boost 1.68]
|
||
|
||
[h5 New features]
|
||
* The tests generated from a dataset are now instantiated during the framework setup. This
|
||
let the dataset generator access the `argc` and `argv` of the master test suite. For indicating
|
||
a dataset that should be instantiated in a delayed manner, a new `data::make_delayed` helper has
|
||
been introduced.
|
||
* It is now possible to create a dataset with `data::make`, with variable number of arguments.
|
||
As the datasets are monomorphic, it should be possible to cast all elements to the first element type.
|
||
|
||
[h5 Breaking changes]
|
||
* the [link boost_test.tests_organization.test_tree.master_test_suite `master_test_suite_t`] is not copyable anymore.
|
||
* As datasets can now be delayed, it might be that additional copies of the dataset arguments are performed.
|
||
This is especially the case for datasets created out of an `std::initializer_list`.
|
||
|
||
[h5 Bugfixes and feature requests]
|
||
# [pull_request 143] Fix exception_api.run-fail.cpp doc example
|
||
# [pull_request 145] Fix build of library on recent Cygwin editions
|
||
# [ticket 12095] disabling test with precondition leads to error
|
||
# [ticket 12953] access to `master_test_suite().{argc, argv}`
|
||
# [ticket 13504] `[Boost::Test]` short form of `catch_system_errors` not working
|
||
# [ticket 13525] Boost Test 1.67.0: Compilation error with GCC 4.6.3
|
||
# [ticket 13528] Boost Test 1.67 crashes when the `--report_sink` command-line parameter is used
|
||
|
||
|
||
[#ref_CHANGE_LOG_3_7][h4 Boost.Test v3.7 / boost 1.67]
|
||
|
||
[h5 Breaking changes]
|
||
|
||
* Now colour is on by default for the output streams that are either `std::cout` or `std::cerr`. This can be
|
||
disabled by passing [link boost_test.utf_reference.rt_param_reference.color_output `--no_color_ouput`] (or just `--no_color`)
|
||
to the command line.
|
||
* Adding test cases with the same name to the same test suite is reported as an error. This impacts
|
||
[link boost_test.tests_organization.test_cases.test_organization_templates template] and
|
||
[link boost_test.tests_organization.test_cases.param_test parametrized] test cases, as well as manually
|
||
registered tests. Make sure you have no duplicate names.
|
||
|
||
[h5 New features]
|
||
* Colour output on Windows
|
||
* Improved and clearer command line help
|
||
* `BOOST_AUTO_TEST_CASE_TEMPLATE` now accepts a sequence of types in an `std::tuple`
|
||
|
||
[h5 Bugfixes and feature requests]
|
||
# [pull_request 112] Deliberate-failure tests shouldn't be optimized
|
||
# [pull_request 118] Update VxWorks support
|
||
# [pull_request 118] `[clang]` Fix `[-Wc++11-narrowing]` error
|
||
# [pull_request 121] fix compiler warning
|
||
# [pull_request 122] Fix some fallthrough warnings with `gcc >= 7`
|
||
# [pull_request 125] Prevent 2 unused parameter warnings
|
||
# [pull_request 127] Silence 'unused variable' warning
|
||
# [pull_request 134] Fix `stdcerr` file creation on shutdown
|
||
# [pull_request 136] Change `Windows.h` include to all-lowercase (MinGW)
|
||
# [ticket 12092] Request: allow `std::tuple` typelists in `BOOST_AUTO_TEST_CASE_TEMPLATE`
|
||
# [ticket 12596] Sanitize metacharacters in test names
|
||
# [ticket 12597] Report tests with clashing names
|
||
# [ticket 12969] Problem linking `print_helper_t<nullptr_t>` under Clang
|
||
# [ticket 13058] `errors.hpp` in Boost Test requires warning `C4946` to be `off`
|
||
# [ticket 13149] Dependency decorators on parent suites
|
||
# [ticket 13170] `BOOST_AUTO_TEST_CASE_TEMPLATE` don't want `typedef` for list
|
||
# [ticket 13181] Boost test can't compare classes which have `begin` and `end` but not `const_iterator`
|
||
# [ticket 13371] Use-after-free with `--log_sink=file`
|
||
# [ticket 13387] Test header fails to compile
|
||
# [ticket 13398] Log format JUNIT generates invalid XML files
|
||
# [ticket 13407] Boost.Test appears to crash under Cygwin
|
||
# [ticket 13435] `BOOST_TEST_GLOBAL_CONFIGURATION` (result report shutdown time)
|
||
# [ticket 13443] Boost.Test data driven test fails to compile when number of samples greater than 9
|
||
|
||
[#ref_CHANGE_LOG_3_6][h4 Boost.Test v3.6 / boost 1.65]
|
||
|
||
[h5 Breaking changes]
|
||
* __BOOST_GLOBAL_FIXTURE__ is flagged as deprecated and will be removed in a later version
|
||
* Using test assertions and macros is not allowed when used inside __BOOST_GLOBAL_FIXTURE__. Please use __BOOST_TEST_GLOBAL_FIXTURE__
|
||
instead (see below).
|
||
* the interface for loggers has slightly changed to take into account the current log level. This is for addressing [ticket 12631].
|
||
|
||
[h5 New features]
|
||
* VS2017 / C++17 compatibility (thanks to Daniela Engert)
|
||
* Deprecating __BOOST_GLOBAL_FIXTURE__ in favor of __BOOST_TEST_GLOBAL_FIXTURE__ and __BOOST_TEST_GLOBAL_CONFIGURATION__. This
|
||
helps separating the logic of the fixtures associated to the master test suite, from the one used for setting up the logging
|
||
and reporting facility, and results in a general cleaner design.
|
||
* It is possible to use now the __BOOST_TEST__ check to comparing a collection with respect to regular arrays. See
|
||
[link ref_boost_test_coll_c_arrays this section] for more details.
|
||
|
||
[h5 Bugfixes and feature requests]
|
||
# [pull_request 106] replace deprecated binders and adapters, and `random_shuffle` by more modern equivalents
|
||
# [ticket 5282] Test fixtures do not support virtual inheritance
|
||
# [ticket 5563] using a test macro in a global fixture crashes Boost.Test
|
||
# [ticket 11471] array is a sequence
|
||
# [ticket 11962] `BOOST_TEST_MESSAGE` in fixture constructor - invalid XML
|
||
# [ticket 12228] Some test headers fail to compile independently
|
||
# [ticket 12631] `BOOST_TEST_MESSAGE` generates incorrect output when used in `BOOST_DATA_TEST_CASE`
|
||
# [ticket 13011] `BOOST_TEST` broken with floating point relational operators
|
||
|
||
[#ref_CHANGE_LOG_3_5][h4 Boost.Test v3.5 / boost 1.64]
|
||
|
||
[h5 New features]
|
||
* Now Boost.Test provides [link ref_log_output_custom_customization_point customization points] for logging user defined types:
|
||
this solution is less intrusive than forcing the definition of `operator<<` for a specific type.
|
||
* [link boost_test.test_output.log_formats.log_junit_format JUnit output format] can now have a
|
||
[link boost_test.test_output.log_formats.test_log_output log-level] set between `success` and
|
||
`non-fatal error`, and defaults to `general information`.
|
||
* [link boost_test.test_output.log_formats.log_junit_format JUnit output format] is now more
|
||
efficient in case a lot of checks are done in a test module.
|
||
|
||
[h5 Bugfixes and feature requests]
|
||
# [pull_request 107] `BOOST_NO_EXCEPTIONS` typo making `throw_exception` unusable under some circumstances
|
||
# [pull_request 108] Change capital variable names to lowercase
|
||
# [ticket 11756] boost.Test: non standards compliant use of `FE_*` macros (unable to compile boost test library on FPU-less arches) (reopened)
|
||
# [ticket 12540] Provide customization point for printing types in tests
|
||
# [ticket 12712] `BOOST_AUTO_TEST_SUITE`: Generate unique names by using `__COUNTER__`
|
||
# [ticket 12748] Boost.Test defines a variable called `VERSION`
|
||
# [ticket 12778] Boost.Test is broken against left shift operator in certain cases (`nullptr` issue)
|
||
|
||
[#ref_CHANGE_LOG_3_4][h4 Boost.Test v3.4 / boost 1.63]
|
||
|
||
[h5 Breaking changes]
|
||
# Now colons that appear in test case names are replaced with underscores. This affect mainly the
|
||
[link boost_test.tests_organization.test_cases.test_organization_templates template/typed test cases].
|
||
The change is needed since the colon '`:`' is interpreted as a filter separators since 1.62, and it is
|
||
otherwise not possible to execute the tests reported by `--list_content`. See [ticket 12531] for more details.
|
||
|
||
[h5 New features]
|
||
* Now [link boost_test_coll_perelement `per_element`] and [link boost_test_coll_default_lex `lexicographic`] modifiers of __BOOST_TEST__
|
||
can also be applied to string comparison. See
|
||
[link boost_test.testing_tools.extended_comparison.strings string comparison] for more details.
|
||
|
||
[h5 Bugfixes and feature requests]
|
||
# [pull_request 103] Syntactic change silences latest gcc warnings
|
||
# [pull_request 105] Fix unused parameter warnings/errors with gcc 6
|
||
# [ticket 11756] boost.Test: non standards compliant use of `FE_*` macros (unable to compile boost test library on FPU-less arches)
|
||
# [ticket 11907] Why does `BOOST_TEST()` treat `std::string` as a collection?
|
||
# [ticket 12339] Propose users given way to disable blink in colour output
|
||
# [ticket 12506] typo in Boost.test `report_sink` description
|
||
# [ticket 12507] Boost.test `--report_sink` parameter broken
|
||
# [ticket 12530] No way to find out Boost.Test version without running any tests
|
||
# [ticket 12531] `--run_test` in Boost 1.62 does not accept test names which contain ':'
|
||
|
||
[#ref_CHANGE_LOG_3_3][h4 Boost.Test v3.3 / boost 1.62]
|
||
|
||
[h5 New features]
|
||
* Boost.Test now treats each sample of a dataset test case as being a uniquely named test case under the same test suite,
|
||
which enables the (re)run of one particular sample from the command line interface. See
|
||
[link boost_test.tests_organization.test_cases.test_case_generation.datasets_auto_registration.samples_and_test_tree here]
|
||
for more details,
|
||
* Boost.Test learned to interpret ':' as a separator for the test filters: the string passed to
|
||
[link boost_test.utf_reference.rt_param_reference.run_test `--run_test`]
|
||
generates tokens as if `--run_test` has been repeated, which enables the set up of several test filters
|
||
through the associated environment variable `BOOST_TEST_RUN_FILTERS`
|
||
* the __UTF__ learned to log the messages in the xUnit/JUNIT log format.
|
||
See [link boost_test.test_output.log_formats.log_junit_format here] for more details.
|
||
* the __UTF__ learned to have several loggers at the same time, each of which with their own log level and log sink.
|
||
See the associated command line switch [link boost_test.utf_reference.rt_param_reference.logger `--logger`] and
|
||
corresponding environment variable `BOOST_TEST_LOGGER` for more details.
|
||
* loggers are now able to indicate their default output stream and log level.
|
||
|
||
[h5 Bugfixes and feature requests]
|
||
# [pull_request 81] Possibility to remove the support of the alternative stack at compilation time. See
|
||
[link boost_test.utf_reference.link_references.config_disable_alt_stack `BOOST_TEST_DISABLE_ALT_STACK`] for more details.
|
||
# [ticket 8707] Provide Standard xUnit XML Output from Boost Test
|
||
# [ticket 8834] Boost Test should be able to generate report in both XML and HRF together
|
||
# [ticket 11128] `[bb10/qnx failures]` Build error
|
||
# [ticket 11845] Ability to generate the unique and stable test name for every data set in `BOOST_DATA_TEST_CASE`
|
||
# [ticket 11859] Wrong handling of "," in Run-Parameters
|
||
# [ticket 12024] boost test depends on nonexisting `abi::__cxa_demangle` on android
|
||
# [ticket 12093] Boost 1.60.0: Build fails (gcc 4.6)
|
||
# [ticket 12103] Fix for gcc bug 58952 (`getchar()` is defined as a macro in `uClibc`)
|
||
# [ticket 12224] Crash on MSVC with RTTI disabled
|
||
# [ticket 12241] Data-driven testing over a range of `std::tuple` has broken
|
||
# [ticket 12257] Incorrect line numbers in `test_units` generated from `test_case_gen`
|
||
# [ticket 12378] Compilation errors with clang 3.8
|
||
|
||
[#ref_CHANGE_LOG_3_2][h4 Boost.Test v3.2 / boost 1.61]
|
||
|
||
[h5 New features]
|
||
* now datasets support any [link boost_test.tests_organization.test_cases.test_case_generation.datasets arity], using the
|
||
variadic template support of the compiler.
|
||
* now datasets support fixtures through `BOOST_DATA_TEST_CASE_F`, see
|
||
[link boost_test.tests_organization.test_cases.test_case_generation.datasets here] for more details
|
||
* now datasets honors move semantics of the types used for samples
|
||
|
||
[h5 Bugfixes and feature requests]
|
||
# [ticket 6767] Use of namespace qualifier with floating point exception functions breaks if they are macros
|
||
# [ticket 8905] `boost/test/impl/debug.ipp`: Ignores return value from `WaitForSingleObject`
|
||
# [ticket 9443] Runtime parameter Random seed for random order of test cases not respected correctly
|
||
# [ticket 11854] Add fixture support in `BOOST_DATA_TEST_CASE`
|
||
# [ticket 11887] `BOOST_TEST(3u == (std::max)(0u, 3u))` fails
|
||
# [ticket 11889] `BOOST_DATA_TEST_CASE` fails to compile for 4D and higher dimensional grids
|
||
# [ticket 11983] Boost Test XML Report contains unescaped XML characters
|
||
|
||
[#ref_CHANGE_LOG_3_1][h4 Boost.Test v3.1 / boost 1.60]
|
||
|
||
[h5 New major features]
|
||
* improved API for datasets
|
||
* it is now possible to use initializer lists
|
||
* the use of `make` as top left dataset is not necessary anymore
|
||
* improved command line interface
|
||
* clearer help commands
|
||
* now proposes closest matching command in case of ambiguity
|
||
* reports invalid or ambiguous parameters: this might break existing calls when user defined commands are
|
||
provided to the test module. The following calling convention should be adopted:
|
||
* if the test module uses user supplied commands, those should be passed after an empty token `--`
|
||
* all boost.test related commands should be passed before `--`, if any
|
||
|
||
Example:
|
||
the call
|
||
``
|
||
test_module --user-arg1=xy --log_level=test_suite
|
||
``
|
||
should be rewritten to
|
||
``
|
||
test_module --log_level=test_suite -- --user-arg1=xy
|
||
``
|
||
|
||
[h5 Bugfixes and feature requests]
|
||
# [ticket 3384] Double-quoted arguments including spaces are divided by Boost.Test.
|
||
# [ticket 3897] Test framework does not include `<osreldate.h>` before testing `__FreeBSD_version` (fixed in 1.59)
|
||
# [ticket 6032] Program options within `init_unit_test_suite` are incorrect when using path and whitespaces
|
||
# [ticket 6859] Boost.Test eats away last empty command line parameter
|
||
# [ticket 7257] Boost.Test alters and does not restore `ostream` precision after any Test macro (fixed in 1.59)
|
||
# [ticket 9228] Patch to make Boost.Test work with RTTI disabled (fixed in 1.59)
|
||
# [ticket 10317] boost::test corrupts contents of `argv` if a paramter contains whitespace
|
||
# [ticket 11279] invalid parameters should be reported
|
||
# [ticket 11478] Boost Test Exception Assert Failure has poor message
|
||
# [ticket 11571] Can't compile `BOOST_TEST( ..., per_element() )` comparison of `vector<string>`
|
||
# [ticket 11623] Clang rejects some simple `BOOST_TEST()` statements
|
||
# [ticket 11624] `BOOST_TEST( 0.0 == 0.0 )` fails under C++11 (GCC and Clang)
|
||
# [ticket 11625] `BOOST_TEST( ..., per_element() )` erroneously requires collections are comparable
|
||
|
||
|
||
[#ref_CHANGE_LOG_3_0][h4 Boost.Test v3 / boost 1.59]
|
||
|
||
[h5 New major features]
|
||
|
||
* __BOOST_TEST__ generic assertion
|
||
* [link boost_test.tests_organization.test_cases.test_case_generation data driven test cases]: supersedes the parametric test case (unary test cases)
|
||
* test units [link boost_test.tests_organization.decorators attributes], that allow finer control over test units property and behavior
|
||
* logical grouping of the test units using [link boost_test.tests_organization.tests_grouping labels]
|
||
* support for declaring [link boost_test.tests_organization.tests_dependencies dependencies] over test cases
|
||
* attributes for [link boost_test.tests_organization.enabling enabling or disabling] test execution based on static, compile-time or runtime rules
|
||
* extended [link boost_test.runtime_config.test_unit_filtering unit test filtering] from the command line (negation, labels, ...)
|
||
* color output with [link boost_test.utf_reference.rt_param_reference.color_output `color_output`]
|
||
* test bed listing with [link boost_test.utf_reference.rt_param_reference.list_content `list_content`]
|
||
* rewritten documentation using quickbook
|
||
|
||
[/* now having a more accurate timing (see [ticket 7397]) for the tests. Old format is still available through the command line option __param_deprecated_timer_format__
|
||
in case you experience problems with the new output. ]
|
||
|
||
[h5 Bugfixes and feature requests]
|
||
[/ pending
|
||
# [ticket 1136] Let BOOST_CHECK_EQUAL support `std::wstring`
|
||
# [ticket 4222] `feenablexcept` does not exist on mac
|
||
# [ticket 7397] Boost.Test, since boost 1.48 is using the deprecated Boost.Timer class - it should be updated to use the new class
|
||
]
|
||
# [ticket 2018] Error in the documentation chapter "Runtime parameters reference"
|
||
# [ticket 2450] equations in Floating-point comparison algorithms html are not rendered properly
|
||
# [ticket 2600] Unit Test Framework - missed documentation
|
||
# [ticket 2717] `BOOST_<level>_EQUAL_COLLECTION` docs typo
|
||
# [ticket 2759] Typos in test new-year-resolution.html
|
||
# [ticket 3182] `_CrtSetReportFile` can be used to redirect memory leaks report
|
||
# [ticket 3316] Access violation when trying to log from `init_tests_func`
|
||
# [ticket 3392] Boost::Test: Wrong contents for documentation of the `BOOST_TEST_PASSPOINT` macro
|
||
# [ticket 3402] Invalid define name in documentation (duplicates #[ticket 2717])
|
||
# [ticket 3445] incorrect link in the docs
|
||
# [ticket 3463] `GT` is GREAT!
|
||
# [ticket 3542] Bug in documentation of detect_memory_leak parameter (duplicates #[ticket 2018])
|
||
# [ticket 3481] Boost Testing doesn't work under Sun Solaris Containers (duplicates #[ticket 3592])
|
||
# [ticket 3495] Boost::Test enters endless loop when running in `vserver` environment (duplicates #[ticket 3592])
|
||
# [ticket 3592] under_debugger() goes into infinite loop
|
||
# [ticket 3595] Typo (duplicates #[ticket 2759])
|
||
# [ticket 3623] Boost Test Typo (duplicates #[ticket 2759])
|
||
# [ticket 3664] `SIGCHLD` always considered fatal error
|
||
# [ticket 3784] Documentation errors in Execution Monitor Compilation
|
||
# [ticket 3785] Documentation errors in Program Execution Monitor implementation
|
||
# [ticket 3811] global namespace pollution
|
||
# [ticket 3834] doc: probably incorrect HTML rendering (duplicates #[ticket 2450])
|
||
# [ticket 3896] erroneous documentation in boost test command line parameter description
|
||
# [ticket 3932] Error in `BOOST_<level>_GT` description (duplicates #[ticket 3463])
|
||
# [ticket 3938] doc: incorrect macro name (duplicates #[ticket 2759])
|
||
# [ticket 3964] Documentation for `BOOST_<level>_CLOSE_FRACTION` is incorrect
|
||
# [ticket 3978] Failed to completely redirect TestLog to file, bugfix appended
|
||
# [ticket 3979] `<boost/test/exception_safety.hpp>` requires additional includes
|
||
# [ticket 4161] spelling mistakes...
|
||
# [ticket 4275] Documentation error Boost.Test (duplicates #[ticket 2717])
|
||
# [ticket 4389] Enable boost_test to run specific tests with any required dependent tests.
|
||
# [ticket 4434] `BOOST_AUTO_EST_CASE` typos in docs
|
||
# [ticket 4587] Broken link in website
|
||
# [ticket 4806] Invalid link (examples not showing up in documentation)
|
||
# [ticket 4911] ENH: boost.test output the exception real type name.
|
||
# [ticket 4923] Missing semicolon in documentation example
|
||
# [ticket 4924] Minor typo in Boost::Test docs
|
||
# [ticket 4982] Boost.Test has misspelled Gennadiy Rozental e-mail address
|
||
# [ticket 5008] Boost.Test does not do check-pointing of entry/exit of test cases
|
||
# [ticket 5036] Boost.Test VC memory leak report should direct to `stderr`
|
||
# [ticket 5262] Run tests by name utility doesn't support negation
|
||
# [ticket 5374] Errors from Boost.Test are no more shown in the Error list in VS2010
|
||
# [ticket 5412] XML formatter in test library processes strings with subsequences `]]>` incorrectly
|
||
# [ticket 5563] using a test macro in a global fixture crashes Boost.Test
|
||
# [ticket 5582] There is a memory leak in the `BOOST_AUTO_TEST_CASE_TEMPLATE`
|
||
# [ticket 5599] boost::test documentation gives poor instruction
|
||
# [ticket 5718] broken link to unit testing framework examples
|
||
# [ticket 5729] Missing static_cast in fpt_limits
|
||
# [ticket 5870] The warning stack is not maintained
|
||
# [ticket 5972] Support program option to only dump the test-tree in text to output stream
|
||
# [ticket 6002] Failed to completely redirect TestLog to file (duplicates)
|
||
# [ticket 6071] Boost Test (Boost 1.46.0) GCC 4.6.1 error: ambiguous overload for ‘operator[]’
|
||
# [ticket 6074] warnings-as-errors not usable with Boost.test in release mode
|
||
# [ticket 6161] SunOS: bad `putenv` declaration (duplicates [ticket 6766])
|
||
# [ticket 6766] incorrect declaration for `putenv` in `config.hpp`
|
||
# [ticket 6712] Eliminate warnings with GCC
|
||
# [ticket 6748] Link in the documentation points to wrong page
|
||
# [ticket 7046] Output full error message, not just 512 chars
|
||
# [ticket 7136] Correct documentation for `BOOST_<level>_CLOSE_FRACTION` is not reflected into released documents
|
||
# [ticket 7410] Test Units (Cases and Suites) in Boost.Test do not capture `__FILE__` and `__LINE__` at declaration point making it impossible to provide source file linking using external test management tools
|
||
# [ticket 7894] Boost.Test documentation contains no linking instructions
|
||
# [ticket 8201] Broken link in document
|
||
# [ticket 8272] `BOOST_REQUIRE_CLOSE` fails to compile with `boost::multiprecision::cpp_dec_float_100` (duplicates #[ticket 11054])
|
||
# [ticket 8467] Incorrect link in document (duplicates #[ticket 6748])
|
||
# [ticket 8679] Boost.Test pollutes boost namespace with it's own `enable_if/disable_if` templates
|
||
# [ticket 8862] Boost.Test typo in documentation
|
||
# [ticket 8895] English error in test collection comparison
|
||
# [ticket 9179] Documentation: broken link (unable to find =const_string.hpp/const_string_test.cpp=)
|
||
# [ticket 9272] boost::test `BOOST_<level>_GT` documentation bug (duplicates #[ticket 3463])
|
||
# [ticket 9390] Incomplete `BOOST_TEST_DONT_PRINT_LOG_VALUE`
|
||
# [ticket 9409] Some source code examples are missing
|
||
# [ticket 9537] const_string_test example fails
|
||
# [ticket 9539] Floating-point comparison algorithms aren't formatted correctly
|
||
# [ticket 9581] Squassabia reference link gives 404 not found
|
||
# [ticket 9960] Warnings on Clang
|
||
# [ticket 10256] [boost test] - issue: `sigaltstack`
|
||
# [ticket 10318] Minor documentation fix
|
||
# [ticket 10394] Broken links in Boost Test documentation
|
||
# [ticket 10888] Assertion failures don't show up in the errors pane in VS 2010, VS 2012 or VS 2013 (duplicates)
|
||
# [ticket 11054] Floating-point comparison of multiprecision values fails if expression template is on
|
||
# [ticket 11347] `DS` identifier causes test failures in `doc/examples/dataset_example*.cpp`
|
||
# [ticket 11358] Boost.Test v3 warning could helpfully be suppressed.
|
||
# [ticket 11359] `BOOST_CHECK_EQUAL_COLLECTIONS`: can't control output operator (duplicates #9390)
|
||
# [ticket 11425] use-of-uninitialized-value (obsolete)
|
||
|
||
[endsect]
|