89 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			89 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C++
		
	
	
	
| /*
 | |
|  *  Created by Phil on 5/12/2012.
 | |
|  *  Copyright 2012 Two Blue Cubes Ltd. All rights reserved.
 | |
|  *
 | |
|  *  Distributed under the Boost Software License, Version 1.0. (See accompanying
 | |
|  *  file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 | |
|  */
 | |
| #ifndef TWOBLUECUBES_CATCH_REPORTER_CONSOLE_H_INCLUDED
 | |
| #define TWOBLUECUBES_CATCH_REPORTER_CONSOLE_H_INCLUDED
 | |
| 
 | |
| #include "catch_reporter_bases.hpp"
 | |
| 
 | |
| #if defined(_MSC_VER)
 | |
| #pragma warning(push)
 | |
| #pragma warning(disable:4061) // Not all labels are EXPLICITLY handled in switch
 | |
|                               // Note that 4062 (not all labels are handled
 | |
|                               // and default is missing) is enabled
 | |
| #endif
 | |
| 
 | |
| 
 | |
| namespace Catch {
 | |
|     // Fwd decls
 | |
|     struct SummaryColumn;
 | |
|     class TablePrinter;
 | |
| 
 | |
|     struct ConsoleReporter : StreamingReporterBase<ConsoleReporter> {
 | |
|         std::unique_ptr<TablePrinter> m_tablePrinter;
 | |
| 
 | |
|         ConsoleReporter(ReporterConfig const& config);
 | |
|         ~ConsoleReporter() override;
 | |
|         static std::string getDescription();
 | |
| 
 | |
|         void noMatchingTestCases(std::string const& spec) override;
 | |
| 
 | |
|         void reportInvalidArguments(std::string const&arg) override;
 | |
| 
 | |
|         void assertionStarting(AssertionInfo const&) override;
 | |
| 
 | |
|         bool assertionEnded(AssertionStats const& _assertionStats) override;
 | |
| 
 | |
|         void sectionStarting(SectionInfo const& _sectionInfo) override;
 | |
|         void sectionEnded(SectionStats const& _sectionStats) override;
 | |
| 
 | |
| #if defined(CATCH_CONFIG_ENABLE_BENCHMARKING)
 | |
|         void benchmarkPreparing(std::string const& name) override;
 | |
|         void benchmarkStarting(BenchmarkInfo const& info) override;
 | |
|         void benchmarkEnded(BenchmarkStats<> const& stats) override;
 | |
|         void benchmarkFailed(std::string const& error) override;
 | |
| #endif // CATCH_CONFIG_ENABLE_BENCHMARKING
 | |
| 
 | |
|         void testCaseEnded(TestCaseStats const& _testCaseStats) override;
 | |
|         void testGroupEnded(TestGroupStats const& _testGroupStats) override;
 | |
|         void testRunEnded(TestRunStats const& _testRunStats) override;
 | |
|         void testRunStarting(TestRunInfo const& _testRunInfo) override;
 | |
|     private:
 | |
| 
 | |
|         void lazyPrint();
 | |
| 
 | |
|         void lazyPrintWithoutClosingBenchmarkTable();
 | |
|         void lazyPrintRunInfo();
 | |
|         void lazyPrintGroupInfo();
 | |
|         void printTestCaseAndSectionHeader();
 | |
| 
 | |
|         void printClosedHeader(std::string const& _name);
 | |
|         void printOpenHeader(std::string const& _name);
 | |
| 
 | |
|         // if string has a : in first line will set indent to follow it on
 | |
|         // subsequent lines
 | |
|         void printHeaderString(std::string const& _string, std::size_t indent = 0);
 | |
| 
 | |
| 
 | |
|         void printTotals(Totals const& totals);
 | |
|         void printSummaryRow(std::string const& label, std::vector<SummaryColumn> const& cols, std::size_t row);
 | |
| 
 | |
|         void printTotalsDivider(Totals const& totals);
 | |
|         void printSummaryDivider();
 | |
|         void printTestFilters();
 | |
| 
 | |
|     private:
 | |
|         bool m_headerPrinted = false;
 | |
|     };
 | |
| 
 | |
| } // end namespace Catch
 | |
| 
 | |
| #if defined(_MSC_VER)
 | |
| #pragma warning(pop)
 | |
| #endif
 | |
| 
 | |
| #endif // TWOBLUECUBES_CATCH_REPORTER_CONSOLE_H_INCLUDED
 |