TeamCity reporter “ignores” failures in tests marked “ok to fail”

- also don’t report hidden/ not-selected tests
This commit is contained in:
Phil Nash 2017-04-07 11:15:37 +01:00
parent 250f0ee7fb
commit ca764ec8d9

View File

@ -50,13 +50,6 @@ namespace Catch {
} }
virtual void skipTest( TestCaseInfo const& testInfo ) CATCH_OVERRIDE { virtual void skipTest( TestCaseInfo const& testInfo ) CATCH_OVERRIDE {
stream << "##teamcity[testIgnored name='"
<< escape( testInfo.name ) << "'";
if( testInfo.isHidden() )
stream << " message='hidden test'";
else
stream << " message='test skipped because it didn|'t match the test spec'";
stream << "]\n";
} }
virtual void noMatchingTestCases( std::string const& /* spec */ ) CATCH_OVERRIDE {} virtual void noMatchingTestCases( std::string const& /* spec */ ) CATCH_OVERRIDE {}
@ -134,11 +127,20 @@ namespace Catch {
" " << result.getExpandedExpression() << "\n"; " " << result.getExpandedExpression() << "\n";
} }
if( currentTestCaseInfo->okToFail() ) {
msg << "- failure ignore as test marked as 'ok to fail'\n";
stream << "##teamcity[testIgnored"
<< " name='" << escape( currentTestCaseInfo->name )<< "'"
<< " message='" << escape( msg.str() ) << "'"
<< "]\n";
}
else {
stream << "##teamcity[testFailed" stream << "##teamcity[testFailed"
<< " name='" << escape( currentTestCaseInfo->name )<< "'" << " name='" << escape( currentTestCaseInfo->name )<< "'"
<< " message='" << escape( msg.str() ) << "'" << " message='" << escape( msg.str() ) << "'"
<< "]\n"; << "]\n";
} }
}
return true; return true;
} }
@ -203,7 +205,6 @@ namespace Catch {
} }
private: private:
bool m_headerPrintedForThisSection; bool m_headerPrintedForThisSection;
}; };
#ifdef CATCH_IMPL #ifdef CATCH_IMPL