mirror of
https://github.com/catchorg/Catch2.git
synced 2024-12-22 19:33:29 +01:00
Refactored to resetAssertionInfo()
This commit is contained in:
parent
4353614df7
commit
fcba30569c
@ -8,8 +8,6 @@
|
||||
#include <algorithm>
|
||||
#include <sstream>
|
||||
|
||||
static auto const& defaultExpression = "{Unknown expression after the reported line}";
|
||||
|
||||
namespace Catch {
|
||||
|
||||
StreamRedirect::StreamRedirect(std::ostream& stream, std::string& targetString)
|
||||
@ -129,9 +127,13 @@ namespace Catch {
|
||||
static_cast<void>(m_reporter->assertionEnded(AssertionStats(result, m_messages, m_totals)));
|
||||
|
||||
// Reset working state
|
||||
m_lastAssertionInfo = { "", m_lastAssertionInfo.lineInfo, "{Unknown expression after the reported line}", m_lastAssertionInfo.resultDisposition };
|
||||
resetAssertionInfo();
|
||||
m_lastResult = result;
|
||||
}
|
||||
void RunContext::resetAssertionInfo() {
|
||||
m_lastAssertionInfo.macroName = StringRef();
|
||||
m_lastAssertionInfo.capturedExpression = "{Unknown expression after the reported line}";
|
||||
}
|
||||
|
||||
bool RunContext::sectionStarted(SectionInfo const & sectionInfo, Counts & assertions) {
|
||||
ITracker& sectionTracker = SectionTracker::acquire(m_trackerContext, TestCaseTracking::NameAndLocation(sectionInfo.name, sectionInfo.lineInfo));
|
||||
@ -255,8 +257,7 @@ namespace Catch {
|
||||
|
||||
void RunContext::assertionPassed() {
|
||||
++m_totals.assertions.passed;
|
||||
m_lastAssertionInfo.capturedExpression = StringRef(defaultExpression, sizeof(defaultExpression) - 1);
|
||||
m_lastAssertionInfo.macroName = StringRef("", 0);
|
||||
resetAssertionInfo();
|
||||
}
|
||||
|
||||
void RunContext::assertionRun() {
|
||||
@ -274,18 +275,19 @@ namespace Catch {
|
||||
Counts prevAssertions = m_totals.assertions;
|
||||
double duration = 0;
|
||||
m_shouldReportUnexpected = true;
|
||||
m_lastAssertionInfo = { "TEST_CASE", testCaseInfo.lineInfo, "", ResultDisposition::Normal };
|
||||
|
||||
seedRng(*m_config);
|
||||
|
||||
Timer timer;
|
||||
try {
|
||||
m_lastAssertionInfo = { "TEST_CASE", testCaseInfo.lineInfo, "", ResultDisposition::Normal };
|
||||
|
||||
seedRng(*m_config);
|
||||
|
||||
Timer timer;
|
||||
timer.start();
|
||||
if (m_reporter->getPreferences().shouldRedirectStdOut) {
|
||||
StreamRedirect coutRedir(cout(), redirectedCout);
|
||||
StdErrRedirect errRedir(redirectedCerr);
|
||||
timer.start();
|
||||
invokeActiveTestCase();
|
||||
} else {
|
||||
timer.start();
|
||||
invokeActiveTestCase();
|
||||
}
|
||||
duration = timer.getElapsedSeconds();
|
||||
|
@ -116,6 +116,8 @@ namespace Catch {
|
||||
void runCurrentTest(std::string& redirectedCout, std::string& redirectedCerr);
|
||||
void invokeActiveTestCase();
|
||||
|
||||
void resetAssertionInfo();
|
||||
|
||||
private:
|
||||
|
||||
void handleUnfinishedSections();
|
||||
|
Loading…
Reference in New Issue
Block a user