diff options
| author | Martin Hořeňovský | 2026-07-07 20:44:33 +0200 |
|---|---|---|
| committer | Martin Hořeňovský | 2026-07-07 20:44:33 +0200 |
| commit | 191fa38c9b1596cd2576ab531d4ab4d5e8e05190 (patch) | |
| tree | fff533224af525cdeffabb386cb253894a3a7ccb /extras/catch_amalgamated.hpp | |
| parent | dd94b9a780e66651ff686083a66722386c540228 (diff) | |
| download | catch3-3.15.2.tar.gz | |
v3.15.2v3.15.2
Diffstat (limited to 'extras/catch_amalgamated.hpp')
| -rw-r--r-- | extras/catch_amalgamated.hpp | 29 |
1 files changed, 24 insertions, 5 deletions
diff --git a/extras/catch_amalgamated.hpp b/extras/catch_amalgamated.hpp index fc71645c..7e65eb93 100644 --- a/extras/catch_amalgamated.hpp +++ b/extras/catch_amalgamated.hpp @@ -6,8 +6,8 @@ // SPDX-License-Identifier: BSL-1.0 -// Catch v3.15.1 -// Generated: 2026-06-14 10:51:55.600632 +// Catch v3.15.2 +// Generated: 2026-07-07 20:39:49.020441 // ---------------------------------------------------------- // This file is an amalgamation of multiple different files. // You probably shouldn't edit it directly. @@ -7484,6 +7484,8 @@ namespace Catch { return m_translateFunction( ex ); } #else + (void)it; + (void)itEnd; return "You should never get here!"; #endif } @@ -7570,7 +7572,7 @@ namespace Catch { #define CATCH_VERSION_MAJOR 3 #define CATCH_VERSION_MINOR 15 -#define CATCH_VERSION_PATCH 1 +#define CATCH_VERSION_PATCH 2 #endif // CATCH_VERSION_MACROS_HPP_INCLUDED @@ -7910,8 +7912,7 @@ namespace Generators { bool isFinite() const override { for (auto const& gen : m_generators) { - if (!gen.isFinite()) { return false; - } + if (!gen.isFinite()) { return false; } } return true; } @@ -10657,6 +10658,8 @@ namespace TestCaseTracking { using Children = std::vector<ITrackerPtr>; + virtual bool isFilteredImpl() const = 0; + protected: enum CycleState { NotStarted, @@ -10754,6 +10757,20 @@ namespace TestCaseTracking { * for internal debug checks. */ virtual bool isGeneratorTracker() const; + + /** + * Returns true if the concrete tracker instance has a filter that applies to it. + */ + bool isFiltered() const { + // Fast path: are there even filters for tracker in this position? + const size_t filter_depth = + m_newStyleFilters ? m_allTrackerDepth : m_sectionOnlyDepth; + if ( m_filterRef->size() <= filter_depth ) { return false; } + + // Slow path: If there are filters, ask the concrete tracker. + // This handles things like match-all filters for that tracker. + return isFilteredImpl(); + } }; class TrackerContext { @@ -10809,6 +10826,8 @@ namespace TestCaseTracking { // to not own the name, the name still has to outlive the `ITracker` parent, so // this should still be safe. StringRef m_trimmed_name; + + bool isFilteredImpl() const override; public: SectionTracker( NameAndLocation&& nameAndLocation, TrackerContext& ctx, ITracker* parent ); |