Releases: doctest/doctest
Releases · doctest/doctest
1.2.7
1.2.6
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
see the changelog
download the header from here
The main changes are:
- improved runtime by more than 30 times compared to version 1.1.4 by eliminating allocations in the common case:
- when asserts don't fail the expression is not stringified
- rewrote the String class to employ the small string optimization
- see the benchmarks
- templated test cases - parameterized by type
- an exception translation mechanism
- logging context with
INFO("text: " << some_variable)
with lazy string creation - only when an assert fails later in the current scope - an API for reporting failures by third-party code such as mocking frameworks
- !!! BREAKING CHANGE !!! the
TEST_SUITE()
macro now works with blocks of code - multiple binaries (dll/exe) can share the same test runner/registry by defining the DOCTEST_CONFIG_IMPLEMENTATION_IN_DLL config identifier
- subcases can be filtered
- added support for un-parenthesized expressions containing commas in asserts - like this:
CHECK(std::vector<int>{1, 2} == std::vector<int>{1, 3});
(only if variadic macros are enabled) - crash handling support - using signals under UNIX and SEH under Windows - reports which test case failed and exits
- added support for test case decorators - description, skip, may_fail, should_fail, expected_failures, timeout, etc.
- added option to show duration of test case execution
- statically analysed on the CI - Cppcheck / Clang-Tidy / Coverity Scan / OCLint / Visual Studio Analyzer