JunitReporter reimplemented using the new IStreamingReporter interface

* created new AccumulatingReporterBase class for accumulating test
results hierarchically and store them for a single processResults() call
after all tests have been executed; sections are currently not handled,
since their usage are optional and/or could be nested arbitrarily, which
would result in overly complex code, IMHO
* JunitReporter reimplemented on top of this new
AccumulatingReporterBase class
* added support for tracking time spend in each test case, each test
group, and overall tests to the base "*Stats" classes; this enables each
reporter (derived from IStreamingReporter interface) to report the
timings; for now only the JunitReporter takes advantage of that.
This commit is contained in:
Konstantin Baumann
2013-07-23 14:10:37 +02:00
parent b80c3b043a
commit d4fa900b84
6 changed files with 250 additions and 247 deletions

View File

@@ -51,16 +51,6 @@ namespace Catch {
tagsAsString = oss.str();
}
TestCaseInfo::TestCaseInfo( TestCaseInfo const& other )
: name( other.name ),
className( other.className ),
description( other.description ),
tags( other.tags ),
tagsAsString( other.tagsAsString ),
lineInfo( other.lineInfo ),
isHidden( other.isHidden )
{}
TestCase::TestCase( ITestCase* testCase, TestCaseInfo const& info ) : TestCaseInfo( info ), test( testCase ) {}
TestCase::TestCase( TestCase const& other )