mirror of
https://github.com/catchorg/Catch2.git
synced 2024-12-26 12:43:31 +01:00
Store singular TestRunNode in CumulativeReporterBase
There can never be more than one, so there is no reason to provide genericity over multiple nodes.
This commit is contained in:
parent
e5938007f7
commit
290c1b60e6
@ -100,8 +100,9 @@ namespace Catch {
|
||||
|
||||
|
||||
void CumulativeReporterBase::testRunEnded( TestRunStats const& testRunStats ) {
|
||||
m_testRuns.emplace_back( testRunStats );
|
||||
m_testRuns.back().children.swap( m_testCases );
|
||||
assert(!m_testRun && "CumulativeReporterBase assumes there can only be one test run");
|
||||
m_testRun = Detail::make_unique<TestRunNode>( testRunStats );
|
||||
m_testRun->children.swap( m_testCases );
|
||||
testRunEndedCumulative();
|
||||
}
|
||||
|
||||
|
@ -73,10 +73,11 @@ namespace Catch {
|
||||
|
||||
std::ostream& stream;
|
||||
// Note: We rely on pointer identity being stable, which is why
|
||||
// which is why we store around pointers rather than values.
|
||||
// we store pointers to the nodes rather than the values.
|
||||
std::vector<Detail::unique_ptr<TestCaseNode>> m_testCases;
|
||||
|
||||
std::vector<TestRunNode> m_testRuns;
|
||||
// We need lazy construction here. We should probably refactor it
|
||||
// later, after the events are redone.
|
||||
Detail::unique_ptr<TestRunNode> m_testRun;
|
||||
|
||||
Detail::unique_ptr<SectionNode> m_rootSection;
|
||||
SectionNode* m_deepestSection = nullptr;
|
||||
|
@ -99,10 +99,7 @@ namespace Catch {
|
||||
|
||||
void JunitReporter::testRunEndedCumulative() {
|
||||
const auto suiteTime = suiteTimer.getElapsedSeconds();
|
||||
// HACK: There can only be one testRunNode? This needs to be
|
||||
// refactored after the group nodes are excised.
|
||||
assert(m_testRuns.size() == 1);
|
||||
writeRun( m_testRuns.back(), suiteTime );
|
||||
writeRun( *m_testRun, suiteTime );
|
||||
xml.endElement();
|
||||
}
|
||||
|
||||
|
@ -35,10 +35,7 @@ namespace Catch {
|
||||
void testRunStarting( TestRunInfo const& testRunInfo ) override;
|
||||
|
||||
void testRunEndedCumulative() override {
|
||||
// HACK: There can only be one testRunNode? This needs to be
|
||||
// refactored after the group nodes are excised.
|
||||
assert( m_testRuns.size() == 1 );
|
||||
writeRun( m_testRuns.back() );
|
||||
writeRun( *m_testRun );
|
||||
xml.endElement();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user