File: TestReporterStdout.cpp

package info (click to toggle)
etlcpp 20.40.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky
  • size: 18,548 kB
  • sloc: cpp: 257,359; ansic: 10,566; sh: 1,730; asm: 301; python: 281; makefile: 24
file content (44 lines) | stat: -rw-r--r-- 1,466 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include "TestReporterStdout.h"
#include <cstdio>

#include "TestDetails.h"

// cstdio doesn't pull in namespace std on VC6, so we do it here.
#if defined(UNITTEST_WIN32) && (_MSC_VER == 1200)
namespace std {}
#endif

namespace UnitTest {

   void TestReporterStdout::ReportFailure(TestDetails const& details, char const* failure)
   {
      using namespace std;
#if defined(__APPLE__) || defined(__GNUG__)
      char const* const errorFormat = "%s:%d:%d: error: Failure in %s: %s\n";
      fprintf(stderr, errorFormat, details.filename, details.lineNumber, 1, details.testName, failure);
#else
      char const* const errorFormat = "%s(%d): error: Failure in %s: %s\n";
      fprintf(stderr, errorFormat, details.filename, details.lineNumber, details.testName, failure);
#endif
   }

   void TestReporterStdout::ReportTestStart(TestDetails const& /*test*/)
   {}

   void TestReporterStdout::ReportTestFinish(TestDetails const& /*test*/, float)
   {}

   void TestReporterStdout::ReportSummary(int const totalTestCount, int const failedTestCount,
                                          int const failureCount, float const secondsElapsed)
   {
      using namespace std;

      if (failureCount > 0)
         printf("FAILURE: %d out of %d tests failed (%d failures).\n", failedTestCount, totalTestCount, failureCount);
      else
         printf("Success: %d tests passed.\n", totalTestCount);

      printf("Test time: %.2f seconds.\n", secondsElapsed);
   }

}