Skip to content

Commit

Permalink
v3.5.4
Browse files Browse the repository at this point in the history
  • Loading branch information
horenmar committed Apr 10, 2024
1 parent cd8f97e commit b5373da
Show file tree
Hide file tree
Showing 7 changed files with 138 additions and 98 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Expand Up @@ -33,7 +33,7 @@ if (CMAKE_BINARY_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
endif()

project(Catch2
VERSION 3.5.3 # CML version placeholder, don't delete
VERSION 3.5.4 # CML version placeholder, don't delete
LANGUAGES CXX
# HOMEPAGE_URL is not supported until CMake version 3.12, which
# we do not target yet.
Expand Down
24 changes: 24 additions & 0 deletions docs/release-notes.md
Expand Up @@ -2,6 +2,7 @@

# Release notes
**Contents**<br>
[3.5.4](#354)<br>
[3.5.3](#353)<br>
[3.5.2](#352)<br>
[3.5.1](#351)<br>
Expand Down Expand Up @@ -61,6 +62,29 @@
[Even Older versions](#even-older-versions)<br>


## 3.5.4

### Fixes
* Fixed potential compilation error when asked to generate random integers whose type did not match `std::(u)int*_t`.
* This manifested itself when generating random `size_t`s on MacOS
* Added missing outlined destructor causing `Wdelete-incomplete` when compiling against libstdc++ in C++23 mode (#2852)
* Fixed regression where decomposing assertion with const instance of `std::foo_ordering` would not compile

### Improvements
* Reintroduced support for GCC 5 and 6 (#2836)
* As with VS2017, if they start causing trouble again, they will be dropped again.
* Added workaround for targetting newest MacOS (Sonoma) using GCC (#2837, #2839)
* `CATCH_CONFIG_DEFAULT_REPORTER` can now be an arbitrary reporter spec
* Previously it could only be a plain reporter name, so it was impossible to compile in custom arguments to the reporter.
* Improved performance of generating 64bit random integers by 20+%

### Miscellaneous
* Significantly improved Conan in-tree recipe (#2831)
* `DL_PATHS` in `catch_discover_tests` now supports multiple arguments (#2852, #2736)
* Fixed preprocessor logic for checking whether we expect reproducible floating point results in tests.
* Improved the floating point tests structure to avoid `Wunused` when the reproducibility tests are disabled (#2845)


## 3.5.3

### Fixes
Expand Down
22 changes: 13 additions & 9 deletions extras/catch_amalgamated.cpp
Expand Up @@ -6,8 +6,8 @@

// SPDX-License-Identifier: BSL-1.0

// Catch v3.5.3
// Generated: 2024-03-01 22:05:56.038084
// Catch v3.5.4
// Generated: 2024-04-10 12:03:46.281848
// ----------------------------------------------------------
// This file is an amalgamation of multiple different files.
// You probably shouldn't edit it directly.
Expand Down Expand Up @@ -187,7 +187,7 @@ namespace Catch {
double const* last,
Estimator& estimator ) {
auto n = static_cast<size_t>( last - first );
std::uniform_int_distribution<size_t> dist( 0, n - 1 );
Catch::uniform_integer_distribution<size_t> dist( 0, n - 1 );

sample out;
out.reserve( resamples );
Expand Down Expand Up @@ -807,14 +807,16 @@ namespace Catch {

// Insert the default reporter if user hasn't asked for a specific one
if ( m_data.reporterSpecifications.empty() ) {
m_data.reporterSpecifications.push_back( {
#if defined( CATCH_CONFIG_DEFAULT_REPORTER )
CATCH_CONFIG_DEFAULT_REPORTER,
const auto default_spec = CATCH_CONFIG_DEFAULT_REPORTER;
#else
"console",
const auto default_spec = "console";
#endif
{}, {}, {}
} );
auto parsed = parseReporterSpec(default_spec);
CATCH_ENFORCE( parsed,
"Cannot parse the provided default reporter spec: '"
<< default_spec << '\'' );
m_data.reporterSpecifications.push_back( std::move( *parsed ) );
}

if ( enableBazelEnvSupport() ) {
Expand Down Expand Up @@ -2271,7 +2273,7 @@ namespace Catch {
}

Version const& libraryVersion() {
static Version version( 3, 5, 3, "", 0 );
static Version version( 3, 5, 4, "", 0 );
return version;
}

Expand Down Expand Up @@ -6601,6 +6603,8 @@ namespace Catch {
return getRegistryHub().getTestCaseRegistry().getAllTestsSorted( config );
}

TestRegistry::~TestRegistry() = default;

void TestRegistry::registerTest(Detail::unique_ptr<TestCaseInfo> testInfo, Detail::unique_ptr<ITestInvoker> testInvoker) {
m_handles.emplace_back(testInfo.get(), testInvoker.get());
m_viewed_test_infos.push_back(testInfo.get());
Expand Down

0 comments on commit b5373da

Please sign in to comment.