removed redundant virtuals on override functions (and added a couple of overrides)

This commit is contained in:
Phil Nash
2017-07-20 15:57:17 +01:00
parent 74ab1cd94b
commit f0890dcdf8
23 changed files with 183 additions and 206 deletions

View File

@@ -21,17 +21,17 @@ namespace Catch {
: StreamingReporterBase( _config )
{}
virtual ~AutomakeReporter();
~AutomakeReporter() override;
static std::string getDescription() {
return "Reports test results in the format of Automake .trs files";
}
virtual void assertionStarting( AssertionInfo const& ) override {}
void assertionStarting( AssertionInfo const& ) override {}
virtual bool assertionEnded( AssertionStats const& /*_assertionStats*/ ) override { return true; }
bool assertionEnded( AssertionStats const& /*_assertionStats*/ ) override { return true; }
virtual void testCaseEnded( TestCaseStats const& _testCaseStats ) override {
void testCaseEnded( TestCaseStats const& _testCaseStats ) override {
// Possible values to emit are PASS, XFAIL, SKIP, FAIL, XPASS and ERROR.
stream << ":test-result: ";
if (_testCaseStats.totals.assertions.allPassed()) {
@@ -45,7 +45,7 @@ namespace Catch {
StreamingReporterBase::testCaseEnded( _testCaseStats );
}
virtual void skipTest( TestCaseInfo const& testInfo ) override {
void skipTest( TestCaseInfo const& testInfo ) override {
stream << ":test-result: SKIP " << testInfo.name << '\n';
}

View File

@@ -32,7 +32,7 @@ namespace Catch {
CATCH_ENFORCE( DerivedT::getSupportedVerbosities().count( m_config->verbosity() ), "Verbosity level not supported by this reporter" );
}
virtual ReporterPreferences getPreferences() const override {
ReporterPreferences getPreferences() const override {
return m_reporterPrefs;
}
@@ -40,40 +40,40 @@ namespace Catch {
return { Verbosity::Normal };
}
virtual ~StreamingReporterBase() override = default;
~StreamingReporterBase() override = default;
virtual void noMatchingTestCases(std::string const&) override {}
void noMatchingTestCases(std::string const&) override {}
virtual void testRunStarting(TestRunInfo const& _testRunInfo) override {
void testRunStarting(TestRunInfo const& _testRunInfo) override {
currentTestRunInfo = _testRunInfo;
}
virtual void testGroupStarting(GroupInfo const& _groupInfo) override {
void testGroupStarting(GroupInfo const& _groupInfo) override {
currentGroupInfo = _groupInfo;
}
virtual void testCaseStarting(TestCaseInfo const& _testInfo) override {
void testCaseStarting(TestCaseInfo const& _testInfo) override {
currentTestCaseInfo = _testInfo;
}
virtual void sectionStarting(SectionInfo const& _sectionInfo) override {
void sectionStarting(SectionInfo const& _sectionInfo) override {
m_sectionStack.push_back(_sectionInfo);
}
virtual void sectionEnded(SectionStats const& /* _sectionStats */) override {
void sectionEnded(SectionStats const& /* _sectionStats */) override {
m_sectionStack.pop_back();
}
virtual void testCaseEnded(TestCaseStats const& /* _testCaseStats */) override {
void testCaseEnded(TestCaseStats const& /* _testCaseStats */) override {
currentTestCaseInfo.reset();
}
virtual void testGroupEnded(TestGroupStats const& /* _testGroupStats */) override {
void testGroupEnded(TestGroupStats const& /* _testGroupStats */) override {
currentGroupInfo.reset();
}
virtual void testRunEnded(TestRunStats const& /* _testRunStats */) override {
void testRunEnded(TestRunStats const& /* _testRunStats */) override {
currentTestCaseInfo.reset();
currentGroupInfo.reset();
currentTestRunInfo.reset();
}
virtual void skipTest(TestCaseInfo const&) override {
void skipTest(TestCaseInfo const&) override {
// Don't do anything with this by default.
// It can optionally be overridden in the derived class.
}
@@ -144,9 +144,9 @@ namespace Catch {
m_reporterPrefs.shouldRedirectStdOut = false;
CATCH_ENFORCE( DerivedT::getSupportedVerbosities().count( m_config->verbosity() ), "Verbosity level not supported by this reporter" );
}
virtual ~CumulativeReporterBase() = default;
~CumulativeReporterBase() override = default;
virtual ReporterPreferences getPreferences() const override {
ReporterPreferences getPreferences() const override {
return m_reporterPrefs;
}
@@ -154,12 +154,12 @@ namespace Catch {
return { Verbosity::Normal };
}
virtual void testRunStarting( TestRunInfo const& ) override {}
virtual void testGroupStarting( GroupInfo const& ) override {}
void testRunStarting( TestRunInfo const& ) override {}
void testGroupStarting( GroupInfo const& ) override {}
virtual void testCaseStarting( TestCaseInfo const& ) override {}
void testCaseStarting( TestCaseInfo const& ) override {}
virtual void sectionStarting( SectionInfo const& sectionInfo ) override {
void sectionStarting( SectionInfo const& sectionInfo ) override {
SectionStats incompleteStats( sectionInfo, Counts(), 0, false );
std::shared_ptr<SectionNode> node;
if( m_sectionStack.empty() ) {
@@ -184,9 +184,9 @@ namespace Catch {
m_deepestSection = node;
}
virtual void assertionStarting(AssertionInfo const&) override {}
void assertionStarting(AssertionInfo const&) override {}
virtual bool assertionEnded(AssertionStats const& assertionStats) override {
bool assertionEnded(AssertionStats const& assertionStats) override {
assert(!m_sectionStack.empty());
SectionNode& sectionNode = *m_sectionStack.back();
sectionNode.assertions.push_back(assertionStats);
@@ -198,13 +198,13 @@ namespace Catch {
prepareExpandedExpression(sectionNode.assertions.back().assertionResult);
return true;
}
virtual void sectionEnded(SectionStats const& sectionStats) override {
void sectionEnded(SectionStats const& sectionStats) override {
assert(!m_sectionStack.empty());
SectionNode& node = *m_sectionStack.back();
node.stats = sectionStats;
m_sectionStack.pop_back();
}
virtual void testCaseEnded(TestCaseStats const& testCaseStats) override {
void testCaseEnded(TestCaseStats const& testCaseStats) override {
auto node = std::make_shared<TestCaseNode>(testCaseStats);
assert(m_sectionStack.size() == 0);
node->children.push_back(m_rootSection);
@@ -215,12 +215,12 @@ namespace Catch {
m_deepestSection->stdOut = testCaseStats.stdOut;
m_deepestSection->stdErr = testCaseStats.stdErr;
}
virtual void testGroupEnded(TestGroupStats const& testGroupStats) override {
void testGroupEnded(TestGroupStats const& testGroupStats) override {
auto node = std::make_shared<TestGroupNode>(testGroupStats);
node->children.swap(m_testCases);
m_testGroups.push_back(node);
}
virtual void testRunEnded(TestRunStats const& testRunStats) override {
void testRunEnded(TestRunStats const& testRunStats) override {
auto node = std::make_shared<TestRunNode>(testRunStats);
node->children.swap(m_testGroups);
m_testRuns.push_back(node);
@@ -228,9 +228,9 @@ namespace Catch {
}
virtual void testRunEndedCumulative() = 0;
virtual void skipTest(TestCaseInfo const&) override {}
void skipTest(TestCaseInfo const&) override {}
virtual void prepareExpandedExpression(AssertionResult& result) const {
void prepareExpandedExpression(AssertionResult& result) const {
if (result.isOk())
result.discardDecomposedExpression();
else
@@ -266,8 +266,8 @@ namespace Catch {
struct TestEventListenerBase : StreamingReporterBase<TestEventListenerBase> {
TestEventListenerBase( ReporterConfig const& _config );
virtual void assertionStarting(AssertionInfo const&) override;
virtual bool assertionEnded(AssertionStats const&) override;
void assertionStarting(AssertionInfo const&) override;
bool assertionEnded(AssertionStats const&) override;
};
} // end namespace Catch

View File

@@ -17,7 +17,7 @@ namespace Catch {
using StreamingReporterBase::StreamingReporterBase;
virtual ~CompactReporter();
~CompactReporter() override;
static std::string getDescription() {
return "Reports test results on a single line, suitable for IDEs";
@@ -54,7 +54,7 @@ namespace Catch {
return true;
}
virtual void sectionEnded(SectionStats const& _sectionStats) override {
void sectionEnded(SectionStats const& _sectionStats) override {
if (m_config->showDurations() == ShowDurations::Always) {
stream << getFormattedDuration(_sectionStats.durationInSeconds) << " s: " << _sectionStats.sectionInfo.name << std::endl;
}
@@ -73,7 +73,6 @@ namespace Catch {
AssertionPrinter( AssertionPrinter const& ) = delete;
AssertionPrinter( std::ostream& _stream, AssertionStats const& _stats, bool _printInfoMessages )
: stream( _stream )
, stats( _stats )
, result( _stats.assertionResult )
, messages( _stats.infoMessages )
, itMessage( _stats.infoMessages.begin() )
@@ -241,7 +240,6 @@ namespace Catch {
private:
std::ostream& stream;
AssertionStats const& stats;
AssertionResult const& result;
std::vector<MessageInfo> messages;
std::vector<MessageInfo>::const_iterator itMessage;

View File

@@ -22,19 +22,18 @@ namespace Catch {
using StreamingReporterBase::StreamingReporterBase;
virtual ~ConsoleReporter() override;
~ConsoleReporter() override;
static std::string getDescription() {
return "Reports test results as plain lines of text";
}
virtual void noMatchingTestCases( std::string const& spec ) override {
void noMatchingTestCases( std::string const& spec ) override {
stream << "No test cases matched '" << spec << '\'' << std::endl;
}
virtual void assertionStarting( AssertionInfo const& ) override {
}
void assertionStarting( AssertionInfo const& ) override {}
virtual bool assertionEnded( AssertionStats const& _assertionStats ) override {
bool assertionEnded( AssertionStats const& _assertionStats ) override {
AssertionResult const& result = _assertionStats.assertionResult;
bool includeResults = m_config->includeSuccessfulResults() || !result.isOk();
@@ -51,11 +50,11 @@ namespace Catch {
return true;
}
virtual void sectionStarting( SectionInfo const& _sectionInfo ) override {
void sectionStarting( SectionInfo const& _sectionInfo ) override {
m_headerPrinted = false;
StreamingReporterBase::sectionStarting( _sectionInfo );
}
virtual void sectionEnded( SectionStats const& _sectionStats ) override {
void sectionEnded( SectionStats const& _sectionStats ) override {
if( _sectionStats.missingAssertions ) {
lazyPrint();
Colour colour( Colour::ResultError );
@@ -74,11 +73,11 @@ namespace Catch {
StreamingReporterBase::sectionEnded( _sectionStats );
}
virtual void testCaseEnded( TestCaseStats const& _testCaseStats ) override {
void testCaseEnded( TestCaseStats const& _testCaseStats ) override {
StreamingReporterBase::testCaseEnded( _testCaseStats );
m_headerPrinted = false;
}
virtual void testGroupEnded( TestGroupStats const& _testGroupStats ) override {
void testGroupEnded( TestGroupStats const& _testGroupStats ) override {
if( currentGroupInfo.used ) {
printSummaryDivider();
stream << "Summary for group '" << _testGroupStats.groupInfo.name << "':\n";
@@ -87,7 +86,7 @@ namespace Catch {
}
StreamingReporterBase::testGroupEnded( _testGroupStats );
}
virtual void testRunEnded( TestRunStats const& _testRunStats ) override {
void testRunEnded( TestRunStats const& _testRunStats ) override {
printTotalsDivider( _testRunStats.totals );
printTotals( _testRunStats.totals );
stream << std::endl;

View File

@@ -57,20 +57,20 @@ namespace Catch {
m_reporterPrefs.shouldRedirectStdOut = true;
}
virtual ~JunitReporter() override;
~JunitReporter() override;
static std::string getDescription() {
return "Reports test results in an XML format that looks like Ant's junitreport target";
}
virtual void noMatchingTestCases( std::string const& /*spec*/ ) override {}
void noMatchingTestCases( std::string const& /*spec*/ ) override {}
virtual void testRunStarting( TestRunInfo const& runInfo ) override {
void testRunStarting( TestRunInfo const& runInfo ) override {
CumulativeReporterBase::testRunStarting( runInfo );
xml.startElement( "testsuites" );
}
virtual void testGroupStarting( GroupInfo const& groupInfo ) override {
void testGroupStarting( GroupInfo const& groupInfo ) override {
suiteTimer.start();
stdOutForSuite.str("");
stdErrForSuite.str("");
@@ -78,28 +78,28 @@ namespace Catch {
CumulativeReporterBase::testGroupStarting( groupInfo );
}
virtual void testCaseStarting( TestCaseInfo const& testCaseInfo ) override {
void testCaseStarting( TestCaseInfo const& testCaseInfo ) override {
m_okToFail = testCaseInfo.okToFail();
}
virtual bool assertionEnded( AssertionStats const& assertionStats ) override {
bool assertionEnded( AssertionStats const& assertionStats ) override {
if( assertionStats.assertionResult.getResultType() == ResultWas::ThrewException && !m_okToFail )
unexpectedExceptions++;
return CumulativeReporterBase::assertionEnded( assertionStats );
}
virtual void testCaseEnded( TestCaseStats const& testCaseStats ) override {
void testCaseEnded( TestCaseStats const& testCaseStats ) override {
stdOutForSuite << testCaseStats.stdOut;
stdErrForSuite << testCaseStats.stdErr;
CumulativeReporterBase::testCaseEnded( testCaseStats );
}
virtual void testGroupEnded( TestGroupStats const& testGroupStats ) override {
void testGroupEnded( TestGroupStats const& testGroupStats ) override {
double suiteTime = suiteTimer.getElapsedSeconds();
CumulativeReporterBase::testGroupEnded( testGroupStats );
writeGroup( *m_testGroups.back(), suiteTime );
}
virtual void testRunEndedCumulative() override {
void testRunEndedCumulative() override {
xml.endElement();
}

View File

@@ -18,40 +18,27 @@ namespace Catch {
public: // IStreamingReporter
virtual ReporterPreferences getPreferences() const override;
ReporterPreferences getPreferences() const override;
virtual void noMatchingTestCases( std::string const& spec ) override;
void noMatchingTestCases( std::string const& spec ) override;
static std::set<Verbosity> getSupportedVerbosities();
virtual void testRunStarting( TestRunInfo const& testRunInfo ) override;
virtual void testGroupStarting( GroupInfo const& groupInfo ) override;
virtual void testCaseStarting( TestCaseInfo const& testInfo ) override;
virtual void sectionStarting( SectionInfo const& sectionInfo ) override;
virtual void assertionStarting( AssertionInfo const& assertionInfo ) override;
void testRunStarting( TestRunInfo const& testRunInfo ) override;
void testGroupStarting( GroupInfo const& groupInfo ) override;
void testCaseStarting( TestCaseInfo const& testInfo ) override;
void sectionStarting( SectionInfo const& sectionInfo ) override;
void assertionStarting( AssertionInfo const& assertionInfo ) override;
// The return value indicates if the messages buffer should be cleared:
virtual bool assertionEnded( AssertionStats const& assertionStats ) override;
bool assertionEnded( AssertionStats const& assertionStats ) override;
void sectionEnded( SectionStats const& sectionStats ) override;
void testCaseEnded( TestCaseStats const& testCaseStats ) override;
void testGroupEnded( TestGroupStats const& testGroupStats ) override;
void testRunEnded( TestRunStats const& testRunStats ) override;
virtual void sectionEnded( SectionStats const& sectionStats ) override;
virtual void testCaseEnded( TestCaseStats const& testCaseStats ) override;
virtual void testGroupEnded( TestGroupStats const& testGroupStats ) override;
virtual void testRunEnded( TestRunStats const& testRunStats ) override;
virtual void skipTest( TestCaseInfo const& testInfo ) override;
virtual bool isMulti() const override;
void skipTest( TestCaseInfo const& testInfo ) override;
bool isMulti() const override;
};

View File

@@ -23,25 +23,25 @@ namespace Catch {
using StreamingReporterBase::StreamingReporterBase;
virtual ~TAPReporter();
~TAPReporter() override;
static std::string getDescription() {
return "Reports test results in TAP format, suitable for test harneses";
}
virtual ReporterPreferences getPreferences() const {
ReporterPreferences getPreferences() const override {
ReporterPreferences prefs;
prefs.shouldRedirectStdOut = false;
return prefs;
}
virtual void noMatchingTestCases( std::string const& spec ) {
void noMatchingTestCases( std::string const& spec ) override {
stream << "# No test cases matched '" << spec << "'" << std::endl;
}
virtual void assertionStarting( AssertionInfo const& ) {}
void assertionStarting( AssertionInfo const& ) override {}
virtual bool assertionEnded( AssertionStats const& _assertionStats ) {
bool assertionEnded( AssertionStats const& _assertionStats ) override {
++counter;
AssertionPrinter printer( stream, _assertionStats, counter );
@@ -52,7 +52,7 @@ namespace Catch {
return true;
}
virtual void testRunEnded( TestRunStats const& _testRunStats ) {
void testRunEnded( TestRunStats const& _testRunStats ) override {
printTotals( _testRunStats.totals );
stream << "\n" << std::endl;
StreamingReporterBase::testRunEnded( _testRunStats );
@@ -66,7 +66,6 @@ namespace Catch {
AssertionPrinter( AssertionPrinter const& ) = delete;
AssertionPrinter( std::ostream& _stream, AssertionStats const& _stats, size_t counter )
: stream( _stream )
, stats( _stats )
, result( _stats.assertionResult )
, messages( _stats.infoMessages )
, itMessage( _stats.infoMessages.begin() )
@@ -229,7 +228,6 @@ namespace Catch {
private:
std::ostream& stream;
AssertionStats const& stats;
AssertionResult const& result;
std::vector<MessageInfo> messages;
std::vector<MessageInfo>::const_iterator itMessage;

View File

@@ -42,33 +42,32 @@ namespace Catch {
replaceInPlace( escaped, "]", "|]" );
return escaped;
}
virtual ~TeamCityReporter() override;
~TeamCityReporter() override;
static std::string getDescription() {
return "Reports test results as TeamCity service messages";
}
virtual void skipTest( TestCaseInfo const& /* testInfo */ ) override {
void skipTest( TestCaseInfo const& /* testInfo */ ) override {
}
virtual void noMatchingTestCases( std::string const& /* spec */ ) override {}
void noMatchingTestCases( std::string const& /* spec */ ) override {}
virtual void testGroupStarting( GroupInfo const& groupInfo ) override {
void testGroupStarting( GroupInfo const& groupInfo ) override {
StreamingReporterBase::testGroupStarting( groupInfo );
stream << "##teamcity[testSuiteStarted name='"
<< escape( groupInfo.name ) << "']\n";
}
virtual void testGroupEnded( TestGroupStats const& testGroupStats ) override {
void testGroupEnded( TestGroupStats const& testGroupStats ) override {
StreamingReporterBase::testGroupEnded( testGroupStats );
stream << "##teamcity[testSuiteFinished name='"
<< escape( testGroupStats.groupInfo.name ) << "']\n";
}
virtual void assertionStarting( AssertionInfo const& ) override {
}
void assertionStarting( AssertionInfo const& ) override {}
virtual bool assertionEnded( AssertionStats const& assertionStats ) override {
bool assertionEnded( AssertionStats const& assertionStats ) override {
AssertionResult const& result = assertionStats.assertionResult;
if( !result.isOk() ) {
@@ -139,19 +138,19 @@ namespace Catch {
return true;
}
virtual void sectionStarting( SectionInfo const& sectionInfo ) override {
void sectionStarting( SectionInfo const& sectionInfo ) override {
m_headerPrintedForThisSection = false;
StreamingReporterBase::sectionStarting( sectionInfo );
}
virtual void testCaseStarting( TestCaseInfo const& testInfo ) override {
void testCaseStarting( TestCaseInfo const& testInfo ) override {
m_testTimer.start();
StreamingReporterBase::testCaseStarting( testInfo );
stream << "##teamcity[testStarted name='"
<< escape( testInfo.name ) << "']\n";
}
virtual void testCaseEnded( TestCaseStats const& testCaseStats ) override {
void testCaseEnded( TestCaseStats const& testCaseStats ) override {
StreamingReporterBase::testCaseEnded( testCaseStats );
if( !testCaseStats.stdOut.empty() )
stream << "##teamcity[testStdOut name='"

View File

@@ -23,7 +23,7 @@ namespace Catch {
m_reporterPrefs.shouldRedirectStdOut = true;
}
virtual ~XmlReporter() override;
~XmlReporter() override;
static std::string getDescription() {
return "Reports test results as an XML document";
@@ -41,11 +41,11 @@ namespace Catch {
public: // StreamingReporterBase
virtual void noMatchingTestCases( std::string const& s ) override {
void noMatchingTestCases( std::string const& s ) override {
StreamingReporterBase::noMatchingTestCases( s );
}
virtual void testRunStarting( TestRunInfo const& testInfo ) override {
void testRunStarting( TestRunInfo const& testInfo ) override {
StreamingReporterBase::testRunStarting( testInfo );
std::string stylesheetRef = getStylesheetRef();
if( !stylesheetRef.empty() )
@@ -55,13 +55,13 @@ namespace Catch {
m_xml.writeAttribute( "name", m_config->name() );
}
virtual void testGroupStarting( GroupInfo const& groupInfo ) override {
void testGroupStarting( GroupInfo const& groupInfo ) override {
StreamingReporterBase::testGroupStarting( groupInfo );
m_xml.startElement( "Group" )
.writeAttribute( "name", groupInfo.name );
}
virtual void testCaseStarting( TestCaseInfo const& testInfo ) override {
void testCaseStarting( TestCaseInfo const& testInfo ) override {
StreamingReporterBase::testCaseStarting(testInfo);
m_xml.startElement( "TestCase" )
.writeAttribute( "name", trim( testInfo.name ) )
@@ -75,7 +75,7 @@ namespace Catch {
m_xml.ensureTagClosed();
}
virtual void sectionStarting( SectionInfo const& sectionInfo ) override {
void sectionStarting( SectionInfo const& sectionInfo ) override {
StreamingReporterBase::sectionStarting( sectionInfo );
if( m_sectionDepth++ > 0 ) {
m_xml.startElement( "Section" )
@@ -86,9 +86,9 @@ namespace Catch {
}
}
virtual void assertionStarting( AssertionInfo const& ) override { }
void assertionStarting( AssertionInfo const& ) override { }
virtual bool assertionEnded( AssertionStats const& assertionStats ) override {
bool assertionEnded( AssertionStats const& assertionStats ) override {
AssertionResult const& result = assertionStats.assertionResult;
@@ -163,7 +163,7 @@ namespace Catch {
return true;
}
virtual void sectionEnded( SectionStats const& sectionStats ) override {
void sectionEnded( SectionStats const& sectionStats ) override {
StreamingReporterBase::sectionEnded( sectionStats );
if( --m_sectionDepth > 0 ) {
XmlWriter::ScopedElement e = m_xml.scopedElement( "OverallResults" );
@@ -178,7 +178,7 @@ namespace Catch {
}
}
virtual void testCaseEnded( TestCaseStats const& testCaseStats ) override {
void testCaseEnded( TestCaseStats const& testCaseStats ) override {
StreamingReporterBase::testCaseEnded( testCaseStats );
XmlWriter::ScopedElement e = m_xml.scopedElement( "OverallResult" );
e.writeAttribute( "success", testCaseStats.totals.assertions.allOk() );
@@ -194,7 +194,7 @@ namespace Catch {
m_xml.endElement();
}
virtual void testGroupEnded( TestGroupStats const& testGroupStats ) override {
void testGroupEnded( TestGroupStats const& testGroupStats ) override {
StreamingReporterBase::testGroupEnded( testGroupStats );
// TODO: Check testGroupStats.aborting and act accordingly.
m_xml.scopedElement( "OverallResults" )
@@ -204,7 +204,7 @@ namespace Catch {
m_xml.endElement();
}
virtual void testRunEnded( TestRunStats const& testRunStats ) override {
void testRunEnded( TestRunStats const& testRunStats ) override {
StreamingReporterBase::testRunEnded( testRunStats );
m_xml.scopedElement( "OverallResults" )
.writeAttribute( "successes", testRunStats.totals.assertions.passed )