Releases: catchorg/Catch2
Releases · catchorg/Catch2
v1.11.0
1.11.0
Fixes
- The original expression in
REQUIRE_FALSE( expr )
is now reporter properly as!( expr )
(#1051)- Previously the parentheses were missing and
x != y
would be expanded as!x != x
- Previously the parentheses were missing and
Approx::Margin
is now inclusive (#952)- Previously it was meant and documented as inclusive, but the check itself wasn't
- This means that
REQUIRE( 0.25f == Approx( 0.0f ).margin( 0.25f ) )
passes, instead of fails
RandomNumberGenerator::result_type
is now unsigned (#1050)
Improvements
__JETBRAINS_IDE__
macro handling is now CLion version specific (#1017)- When CLion 2017.3 or newer is detected,
__COUNTER__
is used instead of
- When CLion 2017.3 or newer is detected,
- TeamCity reporter now explicitly flushes output stream after each report (#1057)
- On some platforms, output from redirected streams would show up only after the tests finished running
ParseAndAddCatchTests
now can add test files as dependency to CMake configuration- This means you do not have to manually rerun CMake configuration step to detect new tests
V2.0.0-develop.6
Improvements
- Add
pkg-config
support to CMake install
Fixes
- More usages of
min
andmax
are enclosed in parentheses to solve MFC macro issues (#1034) - Bitfield capture now compiles (#1027)
- Expansion of
*_FALSE
now properly parenthesises original expression - Removed mismatch between
pragma warning(push)
andpragma warning(pop)
in single include - Suppressed
C4601
inside Catch - We now check if
WINAPI_FAMILY
is defined before using it to detect UWP build - Paths prefixed with '/' are parsed properly
V2.0.0-develop.5
Improvements
- Added stringification for std::chrono::{duration,time_point}
Fixes
- fixed benchmarks when using multiple reporters (which happens when you register a listener).
- fixed command line parser (Clara) to report unrecognised options again
- fixed single include for MSVC (#1020)
- (partial) workaround for long-standing bug in some compilers' support for uncaught_exception() (#1028)
v2.0.0-develop.4
Improvements
- More warnings are silenced
- Don't use console colour if running in XCode
- More compile time optimisations
Fixes
- CATCH_CONFIG_FAST_COMPILE now now builds again
- explicit constructor in reporter base class
- Many fixes for building in Objective-C context
- Fixed text formatting with multiple consecutive newlines (from Clara)
Breaking changes
- Removed deprecated matcher utility functions
Not
,AllOf
andAnyOf
.- They are superseded by operators
!
,&&
and||
, which are natural and do not have limited arity
- They are superseded by operators
- No longer accept non-const comparison operators
v2.0.0-develop.3
Fixes
- Fixed compilation error when comparing a pointer to long
NULL
- Fixed missing platform detection when
CATCH_CONFIG_FAST_COMPILE
was used - Silenced unused return value warning in
wait-for-keypress
option - Enabled workaround for VS2017 issue with raw string literals in assertions
Improvements
- Added
CATCH_CONFIG_DISABLE
compile-time toggle inspired by Doctest- Assertions are turned into no-ops
TEST_CASE
s are not registered- Exception translators are not registered
- Reporters are not registered
- Listeners are not registered
- Further improvements are coming
REGISTER_TEST_CASE
can be now used in global scope to provide automatic registration of test function
Breaking changes
- Removed legacy
[hide]
tag[!hide]
,[.]
and[.foo]
are kept
v1.10.0
1.10.0
Fixes
- Evaluation layer has been rewritten (backported from Catch 2)
- The new layer is much simpler and fixes some issues (#981)
- Implemented workaround for VS 2017 raw string literal stringification bug (#995)
- Fixed interaction between
[!shouldfail]
and[!mayfail]
tags and sections- Previously sections with failing assertions would be marked as failed, not failed-but-ok
Improvements
- Added libidentify support
- Added "wait-for-keypress" option
v2.0.0-develop.2
Fixes
- fixed issue when comparing non-copyable values
- fixed issue with exception message checking with matchers
Features
- introduced
CATCH_CONFIG_EXTERNAL_INTERFACES
so that, e.g., reporters can be implemented outside the main file.
Breaking changes
- reverted
-d
syntax to previous behaviour (so it takes an argument again,yes
orno
). - removed deprecated
INTERNAL_CATCH_REGISTER_LISTENER
(useCATCH_REGISTER_LISTENER
)
v2.0.0-develop.1
2.0.0-develop.1
This is the first beta release of Catch2, which rebases on C++11.
It includes many changes - some breaking - including:
Internal
- Migrated lots of code to C++11 and removed most compatibility workarounds
- Reworked expression decomposition layer - now much simpler and less code
- Added, and started using in some places, a
StringRef
, which is similar to C++17'sstring_view
- Use new, rewritten, version of Clara (for command line parsing)
- Use new, rewritten, text formatting sub-lib, TextFlow.
- Full project now has .cpp files instead of headers with implementation - still merged down to a single header.
- Lots of other fixes and tweaks
Features
- Can now use commas in assertion macros (e.g. when using template argument lists)
- Command line can now be easily extended (as Clara has a composable interface)
- Experimental micro-benchmarking support added
Breaking
- Removed
Catch::toString()
- you must now specialiseCatch::StringMaker<>
instead -d
command line option no longer takes an argument- Removed old, experimental, generators support (new version will be coming)
- Changed interface of
Catch::Session
as it relates to Clara - in particular removedunusedTokens()
, theunusedOptionBehaviour
argument fromapplyCommandLine()
and changed the type thatcli()
returns. - Removed redundant
SCOPED_MSG
andSCOPED_CAPTURE
v1.9.7
1.9.7
Fixes
- Various warnings from clang-tidy, Resharper-C++ and PVS Studio have been addressed (#957)
- Dynamically generated sections are now properly reported (#963)
- Writes to
std::clog
are redirected for reporters (#989)- Previously only
std::cerr
writes were redirected - Interleaved writes to
std::cerr
andstd::clog
are combined properly
- Previously only
- Assertions failed before signals/structured exceptions fails test case are properly reported as failed (#990)
Improvements
- Catch's runtime overhead has been decreased further (#940)
- Added support for IBM i ILE c++ compiler (#976)
- This means that AS/400 is now supported.
- The default reporter can be configured at compile time (#978)
- That is, the reporter used if no reporter is explicitly specified
Other
ParseAndAddCatchTests
cmake script has couple new customization options