2 new timing related command line options have been added:
- performance-timings [-p]: print out performance timings per test case
and group
- performance-timings-threshold [-q <secs>]: print out only the timings
exceeding this given threshold value
* 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.
Implemented support for report test timings in the jUnit XML reporter.
The implementation uses the new C++11 chrono functionality, but all
this has been encapsulated in only 3 lines at the top of the
JunitReporter class, which should allow for an easy adjustment for
non-C++11-compilers...
className is passed through from class based test methods and held in the TestCaseInfo.
For free-function based test cases it is set to "global".
The JUnit reporter uses the className value to populate he class attribute.
Added MockReporter for tracking test runs.
Added intrusive smart pointer. Config holds reporter by smart pointer, so we can route the mock reporter through multiple test runs