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

Method writeAssertion

unittests/catch.hpp:12368–12413  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12366 }
12367
12368 void JunitReporter::writeAssertion( AssertionStats const& stats ) {
12369 AssertionResult const& result = stats.assertionResult;
12370 if( !result.isOk() ) {
12371 std::string elementName;
12372 switch( result.getResultType() ) {
12373 case ResultWas::ThrewException:
12374 case ResultWas::FatalErrorCondition:
12375 elementName = "error";
12376 break;
12377 case ResultWas::ExplicitFailure:
12378 elementName = "failure";
12379 break;
12380 case ResultWas::ExpressionFailed:
12381 elementName = "failure";
12382 break;
12383 case ResultWas::DidntThrowException:
12384 elementName = "failure";
12385 break;
12386
12387 // We should never see these here:
12388 case ResultWas::Info:
12389 case ResultWas::Warning:
12390 case ResultWas::Ok:
12391 case ResultWas::Unknown:
12392 case ResultWas::FailureBit:
12393 case ResultWas::Exception:
12394 elementName = "internalError";
12395 break;
12396 }
12397
12398 XmlWriter::ScopedElement e = xml.scopedElement( elementName );
12399
12400 xml.writeAttribute( "message", result.getExpandedExpression() );
12401 xml.writeAttribute( "type", result.getTestMacroName() );
12402
12403 ReusableStringStream rss;
12404 if( !result.getMessage().empty() )
12405 rss << result.getMessage() << '\n';
12406 for( auto const& msg : stats.infoMessages )
12407 if( msg.type == ResultWas::Info )
12408 rss << msg.message << '\n';
12409
12410 rss << "at " << result.getSourceInfo();
12411 xml.writeText( rss.str(), false );
12412 }
12413 }
12414
12415 CATCH_REGISTER_REPORTER( "junit", JunitReporter )
12416

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