blitzdg
an open-source project aiming to implement parallel discontinuous Galerkin (dg) solvers for common partial differential equations systems using blitz++ for array and tensor manipulations and MPI for distributed parallelism.
coloredconsoletestresultsoutput.h
1 // Copyright Joakim Karlsson & Kim Gräsman 2010-2013.
2 // Distributed under the Boost Software License, Version 1.0.
3 // (See accompanying file LICENSE_1_0.txt or copy at
4 // http://www.boost.org/LICENSE_1_0.txt)
5 
6 #ifndef IGLOO_COLOREDCONSOLETESTRESULTSOUTPUT_H
7 #define IGLOO_COLOREDCONSOLETESTRESULTSOUTPUT_H
8 
9 #include "consoleoutputcolors.h"
10 
11 namespace igloo {
12 
14  {
15  public:
16  ColoredConsoleTestResultsOutput(std::ostream& outstream = std::cout) : TestResultsOutput(outstream) {}
17 
18  void PrintResult(const TestResults& results) const
19  {
20  for (TestResults::FailedTestsType::const_iterator it = results.FailedTests().begin(); it != results.FailedTests().end(); it++)
21  {
22  const FailedTestResult& result = *it;
23  output << FAILED_OUTPUT_COLOR << result.GetContextName() << "::" << result.GetSpecName() << " failed:" << std::endl;
24 
25  if(result.HasLineNumber() && result.HasFilename())
26  {
27  output << result.Filename() << "(" << result.LineNumber() << "): Assertion failed." << std::endl << result.GetErrorMessage() << DEFAULT_OUTPUT_COLOR << std::endl;
28  }
29  else
30  {
31  output << result.GetErrorMessage() << DEFAULT_OUTPUT_COLOR << std::endl;
32  }
33  }
34 
35  output << ((results.NumberOfFailedTests() > 0) ? FAILED_OUTPUT_COLOR : PASSED_OUTPUT_COLOR) << "Test run complete. " << results.NumberOfTestsRun() << " tests run:\n" << results.NumberOfSucceededTests() << " succeeded\n" << results.NumberOfFailedTests() << " failed" << DEFAULT_OUTPUT_COLOR << std::endl;
36  }
37  };
38 }
39 
40 #endif
Definition: testresult.h:52
Definition: testresultsoutput.h:12
Definition: context.h:13
Definition: coloredconsoletestresultsoutput.h:13
Definition: testresults.h:12