in agent/src/jetbrains/buildServer/xmlReportPlugin/parsers/mstest/TestResultsTableParser.java [98:148]
private void processTest(final TestResult result) {
final TestName testId = result.getTestName();
if (testId == null) {
myCallback.warning((TestName)null, "Failed to read testId");
return;
}
TestOutcome testOutcome = null;
switch (result.getVersion()) {
case VS_8:
testOutcome = TestOutcome.parse8(result.getOutcome());
break;
case VS_9:
testOutcome = TestOutcome.parse9(result.getOutcome());
break;
}
myCallback.testFound(testId);
final String stdOut = result.getStdOutput();
if (stdOut != null) {
myCallback.testOutput(testId, stdOut);
}
for (String trace : result.getTraces()) {
if (!StringUtil.isEmptyOrSpaces(trace)) {
myCallback.testOutput(testId, trace);
}
}
final String stdErr = result.getStdError();
if (stdErr != null) {
myCallback.testError(testId, stdErr);
}
String error = result.getError();
String stacktrace = result.getStacktrace();
if (StringUtil.isEmptyOrSpaces(error) && StringUtil.isEmptyOrSpaces(stacktrace)) {
error = testOutcome.getOutcomeName();
}
if (testOutcome.isIgnored()) {
myCallback.testIgnored(testId, error, stacktrace);
} else if (testOutcome.isFailed()) {
myCallback.testException(testId, error, stacktrace);
}
final long duration = parseDuration(result, testId);
myCallback.testFinished(testId, testOutcome, duration);
}