JUnit XML report contains invalid XML characters in <system-out> and <system-err> content. The illegal characters handling defined in
SUREFIRE-456 doesn't work since version 2.15. The problem is that EncodingOutputStream in StatelessXmlReporter does not convert the illegal XML characters to their string representation (e.g. 0 -> "0").
Please find attached a possible fix for this issue as well as extended test case that includes illegal XML characters in system-out and system-err content.