1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- /*
- * 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
|