private static void getTestProblems()

in maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/report/StatelessXmlReporter.java [428:478]


    private static void getTestProblems(
            OutputStreamWriter outputStreamWriter,
            XMLWriter ppw,
            WrappedReportEntry report,
            boolean trimStackTrace,
            OutputStream fw,
            String testErrorType,
            boolean createOutErrElementsInside)
            throws IOException {
        ppw.startElement(testErrorType);

        String stackTrace = report.getStackTrace(trimStackTrace);

        if (report.getMessage() != null && !report.getMessage().isEmpty()) {
            ppw.addAttribute("message", extraEscapeAttribute(report.getMessage()));
        }

        if (report.getStackTraceWriter() != null) {
            //noinspection ThrowableResultOfMethodCallIgnored
            SafeThrowable t = report.getStackTraceWriter().getThrowable();
            if (t != null) {
                if (t.getMessage() != null) {
                    int delimiter = stackTrace.indexOf(":");
                    String type = delimiter == -1 ? stackTrace : stackTrace.substring(0, delimiter);
                    ppw.addAttribute("type", type);
                } else {
                    ppw.addAttribute("type", new StringTokenizer(stackTrace).nextToken());
                }
            }
        }

        boolean hasNestedElements = createOutErrElementsInside & stackTrace != null;

        if (stackTrace != null) {
            if (hasNestedElements) {
                ppw.startElement("stackTrace");
            }

            extraEscapeElementValue(stackTrace, outputStreamWriter, ppw, fw);

            if (hasNestedElements) {
                ppw.endElement();
            }
        }

        if (createOutErrElementsInside) {
            createOutErrElements(outputStreamWriter, ppw, report, fw);
        }

        ppw.endElement(); // entry type
    }