Imported Upstream version 1.64.0
[platform/upstream/boost.git] / libs / test / doc / closing_chapters / change_log.qbk
1 [/
2  / Copyright (c) 2013 Boost.Test contributors
3  /
4  / Distributed under the Boost Software License, Version 1.0. (See accompanying
5  / file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6  /]
7
8 [section Change log]
9
10 [h4 Boost.Test v3.5 / boost 1.64]
11
12 [h5 New features]
13 * Now Boost.Test provides [link ref_log_output_custom_customization_point customization points] for logging user defined types:
14   this solution is less intrusive than forcing the definition of `operator<<` for a specific type.
15 * [link boost_test.test_output.log_formats.log_junit_format JUnit output format] can now have a
16   [link boost_test.test_output.log_formats.test_log_output log-level] set between `success` and
17   `non-fatal error`, and defaults to `general information`.
18 * [link boost_test.test_output.log_formats.log_junit_format JUnit output format] is now more
19   performant in case a lot of checks are done in a test module. 
20
21 [h5 Bugfixes and feature requests]
22 # [pull_request 107] `BOOST_NO_EXCEPTIONS` typo making `throw_exception` unusable under some circumstances 
23 # [pull_request 108] Change capital variable names to lowercase
24 # [ticket 11756] boost.Test: non standards compliant use of `FE_*` macros (unable to compile boost test library on FPU-less arches) (reopened)
25 # [ticket 12540] Provide customisation point for printing types in tests
26 # [ticket 12712] `BOOST_AUTO_TEST_SUITE`: Generate unique names by using `__COUNTER__`
27 # [ticket 12748] Boost.Test defines a variable called `VERSION`
28 # [ticket 12778] Boost.Test is broken against left shift operator in certain cases (`nullptr` issue)
29
30 [h4 Boost.Test v3.4 / boost 1.63]
31
32 [h5 Breaking changes]
33 # Now colons that appear in test case names are replaced with underscores. This affect mainly the
34   [link boost_test.tests_organization.test_cases.test_organization_templates template/typed test cases].
35   The change is needed since the colon '`:`' is interpreted as a filter separators since 1.62, and it is
36   otherwise not possible to execute the tests reported by `--list_content`. See [ticket 12531] for more details.
37
38 [h5 New features]
39 * Now [link boost_test_coll_perelement `per_element`] and [link boost_test_coll_default_lex `lexicographic`] modifiers of __BOOST_TEST__
40   can also be applied to string comparison. See
41   [link boost_test.testing_tools.extended_comparison.strings string comparison] for more details.
42
43 [h5 Bugfixes and feature requests]
44 # [pull_request 103] Syntactic change silences latest gcc warnings
45 # [pull_request 105] Fix unused parameter warnings/errors with gcc 6
46 # [ticket 11756] boost.Test: non standards compliant use of `FE_*` macros (unable to compile boost test library on FPU-less arches)
47 # [ticket 11907] Why does `BOOST_TEST()` treat `std::string` as a collection?
48 # [ticket 12339] Propose users given way to disable blink in colour output
49 # [ticket 12506] typo in Boost.test `report_sink` description
50 # [ticket 12507] Boost.test `--report_sink` parameter broken
51 # [ticket 12530] No way to find out Boost.Test version without running any tests
52 # [ticket 12531] `--run_test` in Boost 1.62 does not accept test names which contain ':'
53
54 [h4 Boost.Test v3.3 / boost 1.62]
55
56 [h5 New features]
57 * Boost.Test now treats each sample of a dataset test case as being a uniquely named test case under the same test suite,
58   which enables the (re)run of one particular sample from the command line interface. See
59   [link boost_test.tests_organization.test_cases.test_case_generation.datasets_auto_registration.samples_and_test_tree here]
60   for more details,
61 * Boost.Test learned to interpret ':' as a separator for the test filters: the string passed to
62   [link boost_test.utf_reference.rt_param_reference.run_test `--run_test`]
63   generates tokens as if `--run_test` has been repeated, which enables the set up of several test filters
64   through the associated environment variable `BOOST_TEST_RUN_FILTERS`
65 * the __UTF__ learned to log the messages in the xUnit/JUNIT log format.
66   See [link boost_test.test_output.log_formats.log_junit_format here] for more details.
67 * the __UTF__ learned to have several loggers at the same time, each of which with their own log level and log sink.
68   See the associated command line switch [link boost_test.utf_reference.rt_param_reference.logger `--logger`] and
69   corresponding environment variable `BOOST_TEST_LOGGER` for more details.
70 * loggers are now able to indicate their default output stream and log level.
71
72 [h5 Bugfixes and feature requests]
73 # [pull_request 81] Possibility to remove the support of the alternative stack at compilation time. See
74   [link boost_test.utf_reference.link_references.config_disable_alt_stack `BOOST_TEST_DISABLE_ALT_STACK`] for more details.
75 # [ticket 8707] Provide Standard xUnit XML Output from Boost Test
76 # [ticket 8834] Boost Test should be able to generate report in both XML and HRF together
77 # [ticket 11128] `[bb10/qnx failures]` Build error
78 # [ticket 11845] Ability to generate the unique and stable test name for every data set in `BOOST_DATA_TEST_CASE`
79 # [ticket 11859] Wrong handling of "," in Run-Parameters
80 # [ticket 12024] boost test depends on nonexisting `abi::__cxa_demangle` on android
81 # [ticket 12093] Boost 1.60.0: Build fails (gcc 4.6)
82 # [ticket 12103] Fix for gcc bug 58952 (`getchar()` is defined as a macro in `uClibc`)
83 # [ticket 12224] Crash on MSVC with RTTI disabled
84 # [ticket 12241] Data-driven testing over a range of `std::tuple` has broken
85 # [ticket 12257] Incorrect line numbers in `test_units` generated from `test_case_gen`
86 # [ticket 12378] Compilation errors with clang 3.8
87
88 [h4 Boost.Test v3.2 / boost 1.61]
89
90 [h5 New features]
91 * now datasets support any [link boost_test.tests_organization.test_cases.test_case_generation.datasets arity], using the
92   variadic template support of the compiler.
93 * now datasets support fixtures through `BOOST_DATA_TEST_CASE_F`, see
94   [link boost_test.tests_organization.test_cases.test_case_generation.datasets here] for more details
95 * now datasets honors move semantics of the types used for samples
96
97 [h5 Bugfixes and feature requests]
98 # [ticket 6767] Use of namespace qualifier with floating point exception functions breaks if they are macros
99 # [ticket 8905] `boost/test/impl/debug.ipp`: Ignores return value from `WaitForSingleObject`
100 # [ticket 9443] Runtime parameter Random seed for random order of test cases not respected correctly
101 # [ticket 11854] Add fixture support in `BOOST_DATA_TEST_CASE`
102 # [ticket 11887] `BOOST_TEST(3u == (std::max)(0u, 3u))` fails
103 # [ticket 11889] `BOOST_DATA_TEST_CASE` fails to compile for 4D and higher dimensional grids
104 # [ticket 11983] Boost Test XML Report contains unescaped XML characters
105
106 [h4 Boost.Test v3.1 / boost 1.60]
107
108 [h5 New major features]
109 * improved API for datasets
110   * it is now possible to use initializer lists
111   * the use of `make` as top left dataset is not necessary anymore
112 * improved command line interface
113   * clearer help commands
114   * now proposes closest matching command in case of ambiguity
115   * reports invalid or ambiguous parameters: this might break existing calls when user defined commands are
116     provided to the test module. The following calling convention should be adopted:
117     * if the test module uses user supplied commands, those should be passed after an empty token `--`
118     * all boost.test related commands should be passed before `--`, if any
119
120     Example:
121     the call
122     ``
123     test_module --user-arg1=xy --log_level=test_suite
124     ``
125     should be rewritten to
126     ``
127     test_module --log_level=test_suite -- --user-arg1=xy
128     ``
129
130 [h5 Bugfixes and feature requests]
131 # [ticket 3384] Double-quoted arguments including spaces are divided by Boost.Test.
132 # [ticket 3897] Test framework does not include `<osreldate.h>` before testing `__FreeBSD_version` (fixed in 1.59)
133 # [ticket 6032] Program options within `init_unit_test_suite` are incorrect when using path and whitespaces
134 # [ticket 6859] Boost.Test eats away last empty command line parameter
135 # [ticket 7257] Boost.Test alters and does not restore `ostream` precision after any Test macro (fixed in 1.59)
136 # [ticket 9228] Patch to make Boost.Test work with RTTI disabled (fixed in 1.59)
137 # [ticket 10317] boost::test corrupts contents of `argv` if a paramter contains whitespace
138 # [ticket 11279] invalid parameters should be reported
139 # [ticket 11478] Boost Test Exception Assert Failure has poor message
140 # [ticket 11571] Can't compile `BOOST_TEST( ..., per_element() )` comparison of `vector<string>`
141 # [ticket 11623] Clang rejects some simple `BOOST_TEST()` statements
142 # [ticket 11624] `BOOST_TEST( 0.0 == 0.0 )` fails under C++11 (GCC and Clang)
143 # [ticket 11625] `BOOST_TEST( ..., per_element() )` erroneously requires collections are comparable
144
145
146 [h4 Boost.Test v3 / boost 1.59]
147
148 [h5 New major features]
149
150 * __BOOST_TEST__ generic assertion
151 * [link boost_test.tests_organization.test_cases.test_case_generation data driven test cases]: supersedes the parametric test case (unary test cases)
152 * test units [link boost_test.tests_organization.decorators attributes], that allow finer control over test units property and behavior
153 * logical grouping of the test units using [link boost_test.tests_organization.tests_grouping labels]
154 * support for declaring [link boost_test.tests_organization.tests_dependencies dependencies] over test cases
155 * attributes for [link boost_test.tests_organization.enabling enabling or disabling] test execution based on static, compile-time or runtime rules
156 * extended [link boost_test.runtime_config.test_unit_filtering unit test filtering] from the command line (negation, labels, ...)
157 * color output with [link boost_test.utf_reference.rt_param_reference.color_output `color_output`]
158 * test bed listing with [link boost_test.utf_reference.rt_param_reference.list_content `list_content`]
159 * rewritten documentation using quickbook
160
161 [/* 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__
162   in case you experience problems with the new output. ]
163
164 [h5 Bugfixes and feature requests]
165 [/ pending
166 # [ticket 1136] Let BOOST_CHECK_EQUAL support `std::wstring`
167 # [ticket 4222] `feenablexcept` does not exist on mac
168 # [ticket 7397] Boost.Test, since boost 1.48 is using the deprecated Boost.Timer class - it should be updated to use the new class
169 ]
170 # [ticket 2018] Error in the documentation chapter "Runtime parameters reference"
171 # [ticket 2450] equations in Floating-point comparison algorithms html are not rendered properly
172 # [ticket 2600] Unit Test Framework - missed documentation
173 # [ticket 2717] `BOOST_<level>_EQUAL_COLLECTION` docs typo
174 # [ticket 2759] Typos in test new-year-resolution.html
175 # [ticket 3182] `_CrtSetReportFile` can be used to redirect memory leaks report
176 # [ticket 3316] Access violation when trying to log from `init_tests_func`
177 # [ticket 3392] Boost::Test: Wrong contents for documentation of the `BOOST_TEST_PASSPOINT` macro
178 # [ticket 3402] Invalid define name in docummentation (duplicates #[ticket 2717])
179 # [ticket 3445] incorreect link in the docs
180 # [ticket 3463] `GT` is GREAT!
181 # [ticket 3542] Bug in documentation of detect_memory_leak parameter (duplicates #[ticket 2018])
182 # [ticket 3481] Boost Testing doesn't work under Sun Solaris Containers (duplicates #[ticket 3592])
183 # [ticket 3495] Boost::Test enters endless loop when running in `vserver` environment (duplicates #[ticket 3592])
184 # [ticket 3592] under_debugger() goes into infinite loop
185 # [ticket 3595] Typo (duplicates #[ticket 2759])
186 # [ticket 3623] Boost Test Typo (duplicates #[ticket 2759])
187 # [ticket 3664] `SIGCHLD` always considered fatal error
188 # [ticket 3784] Documentation errors in Execution Monitor Compilation
189 # [ticket 3785] Documentation errors in Program Execution Monitor implementation
190 # [ticket 3811] global namespace polution
191 # [ticket 3834] doc: probably incorrect HTML rendering (duplicates #[ticket 2450])
192 # [ticket 3896] erroneous documentation in boost test commandline parameter description
193 # [ticket 3932] Error in `BOOST_<level>_GT` description (duplicates #[ticket 3463])
194 # [ticket 3938] doc: incorrect macro name (duplicates #[ticket 2759])
195 # [ticket 3964] Documentation for `BOOST_<level>_CLOSE_FRACTION` is incorrect
196 # [ticket 3978] Failed to completely redirect TestLog to file, bugfix appended
197 # [ticket 3979] `<boost/test/exception_safety.hpp>` requires additional includes
198 # [ticket 4161] spelling mistakes...
199 # [ticket 4275] Documentation error Boost.Test (duplicates #[ticket 2717])
200 # [ticket 4389] Enable boost_test to run specific tests with any required dependent tests.
201 # [ticket 4434] `BOOST_AUTO_EST_CASE` typos in docs
202 # [ticket 4587] Broken link in website
203 # [ticket 4806] Invalid link (examples not showing up in documentation)
204 # [ticket 4911] ENH: boost.test output the exception real type name.
205 # [ticket 4923] Missing semicolon in documentation example
206 # [ticket 4924] Minor typo in Boost::Test docs
207 # [ticket 4982] Boost.Test has misspelled Gennadiy Rozental e-mail address
208 # [ticket 5008] Boost.Test does not do checkpointing of entry/exit of test cases
209 # [ticket 5036] Boost.Test VC memory leak report should direct to `stderr`
210 # [ticket 5262] Run tests by name utility doesn't support negation
211 # [ticket 5374] Errors from Boost.Test are no more shown in the Error list in VS2010
212 # [ticket 5412] XML formatter in test library processes strings with subsequences `]]>` incorrectly
213 # [ticket 5563] using a test macro in a global fixture crashes Boost.Test
214 # [ticket 5582] There is a memory leak in the `BOOST_AUTO_TEST_CASE_TEMPLATE`
215 # [ticket 5599] boost::test documentation gives poor instruction
216 # [ticket 5718] broken link to unit testing framework examples
217 # [ticket 5729] Missing static_cast in fpt_limits
218 # [ticket 5870] The warning stack is not maintained
219 # [ticket 5972] Support program option to only dump the test-tree in text to output stream
220 # [ticket 6002] Failed to completely redirect TestLog to file (duplicates)
221 # [ticket 6071] Boost Test (Boost 1.46.0) GCC 4.6.1 error: ambiguous overload for ‘operator[]’
222 # [ticket 6074] warnings-as-errors not usable with Boost.test in release mode
223 # [ticket 6161] SunOS: bad putenv declaration (duplicates #[ticket 6766])
224 # [ticket 6766] incorrect declaration for putenv in `config.hpp`
225 # [ticket 6712] Eliminate warnings with GCC
226 # [ticket 6748] Link in the documentation points to wrong page
227 # [ticket 7046] Output full error message, not just 512 chars
228 # [ticket 7136] Correct documentation for `BOOST_<level>_CLOSE_FRACTION` is not reflected into released documents
229 # [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
230 # [ticket 7894] Boost.Test documentation contains no linking instructions
231 # [ticket 8201] Broken link in document
232 # [ticket 8272] `BOOST_REQUIRE_CLOSE` fails to compile with `boost::multiprecision::cpp_dec_float_100` (duplicates #[ticket 11054])
233 # [ticket 8467] Incorrect link in document (duplicates #[ticket 6748])
234 # [ticket 8679] Boost.Test pollutes boost namespace with it's own `enable_if/disable_if` templates
235 # [ticket 8862] Boost.Test typo in documentation
236 # [ticket 8895] English error in test collection comparison
237 # [ticket 9179] Documentation: broken link (unable to find =const_string.hpp/const_string_test.cpp=)
238 # [ticket 9272] boost::test `BOOST_<level>_GT` documentation bug (duplicates #[ticket 3463])
239 # [ticket 9390] Incomplete `BOOST_TEST_DONT_PRINT_LOG_VALUE`
240 # [ticket 9409] Some source code examples are missing
241 # [ticket 9537] const_string_test example fails
242 # [ticket 9539] Floating-point comparison algorithms aren't formatted correctly
243 # [ticket 9581] Squassabia reference link gives 404 not found
244 # [ticket 9960] Warnings on Clang
245 # [ticket 10256] [boost test] - issue: `sigaltstack`
246 # [ticket 10318] Minor documentation fix
247 # [ticket 10394] Broken links in Boost Test documentation
248 # [ticket 10888] Assertion failures don't show up in the errors pane in VS 2010, VS 2012 or VS 2013 (duplicates)
249 # [ticket 11054] Floating-point comparison of multiprecision values fails if expression template is on
250 # [ticket 11347] `DS` identifier causes test failures in `doc/examples/dataset_example*.cpp`
251 # [ticket 11358] Boost.Test v3 warning could helpfully be suppressed.
252 # [ticket 11359] `BOOST_CHECK_EQUAL_COLLECTIONS`: can't control output operator (duplicates #9390)
253 # [ticket 11425] use-of-uninitialized-value (obsolete)
254
255 [endsect]