public void finishedTest()

in src/main/java/com/oracle/plugin/jtreg/runtime/TestListener.java [70:107]


    public void finishedTest(TestResult testResult) {
        Status status = testResult.getStatus();
        int statusType = status.getType();
        File file = testResult.getFile();
        String statusReason = status.getReason();
        String elapsed = getProperty(testResult, "elapsed", "0");
        String presentationName = getPresentationName(testResult);
        if (statusType == FAILED || statusType == ERROR) {
            if (file.isFile()) {
                final String output = loadText(file);
                if (!output.isEmpty()) {
                    System.out.println("##teamcity[testStdOut name='" + presentationName + "' " +
                            "out='" + escapeName(output) + "']");
                }
            }
            System.out.println("##teamcity[testFailed name='" + presentationName + "' " +
                    "message='" + escapeName(statusReason) + "']");
        } else if (statusType == NOT_RUN) {
            System.out.println("##teamcity[testIgnored name='" + presentationName + "']");
        }

        String duration = elapsed.split(" ")[0];
        System.out.println("##teamcity[testFinished name='" + presentationName + "' " +
                (!duration.equals("0") ? "duration='" + duration : "") + "'" +
                (statusType != FAILED ? "outputFile='" + escapeName(file.getAbsolutePath()) + "'" : "") +
                " ]");

        final String repeatMode = getProperty(testResult, "repeatMode", "once");
        boolean passCondition = repeatMode.equalsIgnoreCase("until_success") && statusType == PASSED;
        boolean failCondition = repeatMode.equalsIgnoreCase("until_failure") && statusType == FAILED;
        int maxRepeatCount = getIntProperty(testResult, "maxRepeatCount", -1);
        int executionNumber = getIntProperty(testResult, "executionNumber", 0);
        boolean isLastNRun = repeatMode.equalsIgnoreCase("n") && (maxRepeatCount == executionNumber);
        if (passCondition || failCondition || isLastNRun) {
            final String baseTestName = escapeName(testResult.getTestName());
            System.out.println("##teamcity[testSuiteFinished name='" + baseTestName + "']");
        }
    }