| #ifndef UNITTEST_RECORDINGREPORTER_H |
| #define UNITTEST_RECORDINGREPORTER_H |
| |
| #include "UnitTest++/TestReporter.h" |
| #include <cstring> |
| |
| #include "UnitTest++/TestDetails.h" |
| |
| struct RecordingReporter : public UnitTest::TestReporter |
| { |
| private: |
| enum { kMaxStringLength = 256 }; |
| |
| public: |
| RecordingReporter() |
| : testRunCount(0) |
| , testFailedCount(0) |
| , lastFailedLine(0) |
| , testFinishedCount(0) |
| , lastFinishedTestTime(0) |
| , summaryTotalTestCount(0) |
| , summaryFailedTestCount(0) |
| , summaryFailureCount(0) |
| , summarySecondsElapsed(0) |
| { |
| lastStartedSuite[0] = '\0'; |
| lastStartedTest[0] = '\0'; |
| lastFailedFile[0] = '\0'; |
| lastFailedSuite[0] = '\0'; |
| lastFailedTest[0] = '\0'; |
| lastFailedMessage[0] = '\0'; |
| lastFinishedSuite[0] = '\0'; |
| lastFinishedTest[0] = '\0'; |
| } |
| |
| virtual void ReportTestStart(UnitTest::TestDetails const& test) |
| { |
| using namespace std; |
| |
| ++testRunCount; |
| strcpy(lastStartedSuite, test.suiteName); |
| strcpy(lastStartedTest, test.testName); |
| } |
| |
| virtual void ReportFailure(UnitTest::TestDetails const& test, char const* failure) |
| { |
| using namespace std; |
| |
| ++testFailedCount; |
| strcpy(lastFailedFile, test.filename); |
| lastFailedLine = test.lineNumber; |
| strcpy(lastFailedSuite, test.suiteName); |
| strcpy(lastFailedTest, test.testName); |
| strcpy(lastFailedMessage, failure); |
| } |
| |
| virtual void ReportTestFinish(UnitTest::TestDetails const& test, float testDuration) |
| { |
| using namespace std; |
| |
| ++testFinishedCount; |
| strcpy(lastFinishedSuite, test.suiteName); |
| strcpy(lastFinishedTest, test.testName); |
| lastFinishedTestTime = testDuration; |
| } |
| |
| virtual void ReportSummary(int totalTestCount, int failedTestCount, int failureCount, float secondsElapsed) |
| { |
| summaryTotalTestCount = totalTestCount; |
| summaryFailedTestCount = failedTestCount; |
| summaryFailureCount = failureCount; |
| summarySecondsElapsed = secondsElapsed; |
| } |
| |
| int testRunCount; |
| char lastStartedSuite[kMaxStringLength]; |
| char lastStartedTest[kMaxStringLength]; |
| |
| int testFailedCount; |
| char lastFailedFile[kMaxStringLength]; |
| int lastFailedLine; |
| char lastFailedSuite[kMaxStringLength]; |
| char lastFailedTest[kMaxStringLength]; |
| char lastFailedMessage[kMaxStringLength]; |
| |
| int testFinishedCount; |
| char lastFinishedSuite[kMaxStringLength]; |
| char lastFinishedTest[kMaxStringLength]; |
| float lastFinishedTestTime; |
| |
| int summaryTotalTestCount; |
| int summaryFailedTestCount; |
| int summaryFailureCount; |
| float summarySecondsElapsed; |
| }; |
| |
| |
| #endif |