private void processTest()

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);
  }