Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
path: root/extras/catch_amalgamated.hpp
diff options
context:
space:
mode:
authorMartin Hořeňovský2026-07-07 20:44:33 +0200
committerMartin Hořeňovský2026-07-07 20:44:33 +0200
commit191fa38c9b1596cd2576ab531d4ab4d5e8e05190 (patch)
treefff533224af525cdeffabb386cb253894a3a7ccb /extras/catch_amalgamated.hpp
parentdd94b9a780e66651ff686083a66722386c540228 (diff)
downloadcatch3-3.15.2.tar.gz
v3.15.2v3.15.2
Diffstat (limited to 'extras/catch_amalgamated.hpp')
-rw-r--r--extras/catch_amalgamated.hpp29
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 );