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

summaryrefslogtreecommitdiffhomepage
path: root/src/catch2/internal/catch_run_context.cpp
diff options
context:
space:
mode:
authorMartin Hořeňovský2023-05-06 11:48:25 +0200
committerMartin Hořeňovský2023-05-06 11:48:41 +0200
commitd84777c9cbf5b1b7d0e9ef2e14606ece254adf7a (patch)
treefcf806ea44c6822ba8202f9ba5a922bab629d2a2 /src/catch2/internal/catch_run_context.cpp
parent51fdbedd1337955bedc02b570bb2a7fb19061f2e (diff)
downloadcatch3-d84777c9cbf5b1b7d0e9ef2e14606ece254adf7a.tar.gz
Fix assertionStarting events being sent after the expr is evaluated
Closes #2678
Diffstat (limited to 'src/catch2/internal/catch_run_context.cpp')
-rw-r--r--src/catch2/internal/catch_run_context.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/catch2/internal/catch_run_context.cpp b/src/catch2/internal/catch_run_context.cpp
index 6fd63450..c6171a5c 100644
--- a/src/catch2/internal/catch_run_context.cpp
+++ b/src/catch2/internal/catch_run_context.cpp
@@ -301,7 +301,13 @@ namespace Catch {
m_lastAssertionInfo.capturedExpression = "{Unknown expression after the reported line}"_sr;
}
- bool RunContext::sectionStarted(StringRef sectionName, SourceLineInfo const& sectionLineInfo, Counts & assertions) {
+ void RunContext::notifyAssertionStarted( AssertionInfo const& info ) {
+ m_reporter->assertionStarting( info );
+ }
+
+ bool RunContext::sectionStarted( StringRef sectionName,
+ SourceLineInfo const& sectionLineInfo,
+ Counts& assertions ) {
ITracker& sectionTracker =
SectionTracker::acquire( m_trackerContext,
TestCaseTracking::NameAndLocationRef(
@@ -561,8 +567,6 @@ namespace Catch {
ITransientExpression const& expr,
AssertionReaction& reaction
) {
- m_reporter->assertionStarting( info );
-
bool negated = isFalseTest( info.resultDisposition );
bool result = expr.getResult() != negated;
@@ -600,8 +604,6 @@ namespace Catch {
StringRef message,
AssertionReaction& reaction
) {
- m_reporter->assertionStarting( info );
-
m_lastAssertionInfo = info;
AssertionResultData data( resultType, LazyExpression( false ) );