Single Hpp File - v.8.7.0
See the v.8.7.0 milestone for the full list of changes.
- Breaking changes
- Planned deprecation: The overloads of
verify()
,verifyAll()
andverifyAllCombinations()
which take aReporter
have been deprecated.- The
Reporter
argument is replaced byOptions
- see below. - By default, there is currently no change, but this release marks the start of the plan to remove the deprecated methods.
- The
- If you happen to have specialised
StringUtils::toString()
, you would now need to specializeStringMaker::toString()
instead.- Note: this was previously unsupported behavior, so we are not bumping the major version number.
- Here is how to update your code:
- Planned deprecation: The overloads of
template <>
-std::string ApprovalTests::StringUtils::toString(const StringMakerPrintable& printable)
+std::string ApprovalTests::StringMaker::toString(const StringMakerPrintable& printable)
- New features
- New Scrubber feature for working with non-deterministic output. (#126, thank you @abdulg, @haraldreingruber, @jawn)
- New Options class provides consistent interface for customising the following in all
verify()
,verifyAll()
andverifyAllCombinations()
calls:- Reporter: see Why We Are Converting To Options
- Scrubber: see How to Scrub Non-Deterministic Output
- File extensions now customizable with
verifyAll()
andverifyAllCombinations()
: See File Extensions (#127)
- New mechanics for String conversions (thank you @alepez)
- The class
Approvals
is now an alias forTApprovals< ToStringCompileTimeOptions< StringMaker > >
CombinationApprovals
is now an alias for the classTCombinationApprovals< ToStringCompileTimeOptions<APPROVAL_TESTS_DEFAULT_STREAM_CONVERTER > >
, instead of being a namespace.- This is a completely backwards-compatible feature.
- It has been done to support a new feature in a future release. (#124)
- The class
- Our Conan.io package now supports our Boost.Test integration (#121)
- Bug fixes
- None
- Other changes
- User Guide available on Read the Docs
- This is more easily searchable and better formatted than on GitHub, and a PDF download is available. (#129)
- Documented workarounds for when running Catch2 tests in CLion gives 'unexpected exception' (#131)
- Consistent macro names
- All our Macros now start with
APPROVAL_TESTS_
. - We have kept the old macros, redirecting to the new ones, for backwards compatibility.
- All our Macros now start with
- User Guide available on Read the Docs
Old | New |
---|---|
APPROVALTESTS_VERSION |
APPROVAL_TESTS_VERSION |
APPROVALTESTS_VERSION_MAJOR |
APPROVAL_TESTS_VERSION_MAJOR |
APPROVALTESTS_VERSION_MINOR |
APPROVAL_TESTS_VERSION_MINOR |
APPROVALTESTS_VERSION_PATCH |
APPROVAL_TESTS_VERSION_PATCH |
APPROVALTESTS_VERSION_STR |
APPROVAL_TESTS_VERSION_STR |
APPROVALS_CATCH_DISABLE_FILE_MACRO_CHECK |
APPROVAL_TESTS_DISABLE_FILE_MACRO_CHECK |