MCPcopy Create free account
hub / github.com/ObEngine/ObEngine / writeAssertion

Method writeAssertion

extlibs/catch/include/catch/catch.hpp:16156–16201  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

16154 }
16155
16156 void JunitReporter::writeAssertion( AssertionStats const& stats ) {
16157 AssertionResult const& result = stats.assertionResult;
16158 if( !result.isOk() ) {
16159 std::string elementName;
16160 switch( result.getResultType() ) {
16161 case ResultWas::ThrewException:
16162 case ResultWas::FatalErrorCondition:
16163 elementName = "error";
16164 break;
16165 case ResultWas::ExplicitFailure:
16166 elementName = "failure";
16167 break;
16168 case ResultWas::ExpressionFailed:
16169 elementName = "failure";
16170 break;
16171 case ResultWas::DidntThrowException:
16172 elementName = "failure";
16173 break;
16174
16175 // We should never see these here:
16176 case ResultWas::Info:
16177 case ResultWas::Warning:
16178 case ResultWas::Ok:
16179 case ResultWas::Unknown:
16180 case ResultWas::FailureBit:
16181 case ResultWas::Exception:
16182 elementName = "internalError";
16183 break;
16184 }
16185
16186 XmlWriter::ScopedElement e = xml.scopedElement( elementName );
16187
16188 xml.writeAttribute( "message", result.getExpandedExpression() );
16189 xml.writeAttribute( "type", result.getTestMacroName() );
16190
16191 ReusableStringStream rss;
16192 if( !result.getMessage().empty() )
16193 rss << result.getMessage() << '\n';
16194 for( auto const& msg : stats.infoMessages )
16195 if( msg.type == ResultWas::Info )
16196 rss << msg.message << '\n';
16197
16198 rss << "at " << result.getSourceInfo();
16199 xml.writeText( rss.str(), false );
16200 }
16201 }
16202
16203 CATCH_REGISTER_REPORTER( "junit", JunitReporter )
16204

Callers

nothing calls this directly

Calls 9

isOkMethod · 0.80
getResultTypeMethod · 0.80
scopedElementMethod · 0.80
getExpandedExpressionMethod · 0.80
getTestMacroNameMethod · 0.80
getMessageMethod · 0.80
getSourceInfoMethod · 0.80
emptyMethod · 0.45
strMethod · 0.45

Tested by

no test coverage detected