Invalid characters in XML reports
---------------------------------

                 Key: SUREFIRE-57
                 URL: http://jira.codehaus.org/browse/SUREFIRE-57
             Project: surefire
          Issue Type: Bug
          Components: JUnit 3.x support
            Reporter: Klaus Brunner
            Priority: Critical


Surefire (or possibly Xpp3Dom?) should check for invalid characters in JUnit 
output and escape or mask them to ensure valid XML reports. This applies to all 
characters outside the allowed range defined in the XML spec 
(http://www.w3.org/TR/REC-xml/#NT-Char).

I have a JUnit test case that uses assertEquals on strings. In some situations, 
the string to compare against the reference may be completely garbled and 
contain things such as null characters, which then show up in the assertion 
failure message ("expected X but was Y") and consequently in the XML reports. 

Here's a simple test case to trigger the problem:

public class InvalidCharactersTest extends TestCase {
    public void testStrings() {
        String expected = "abc";
        String actual = "abc" + '\u0000';
        assertEquals(expected, actual);
    }
}

The resulting Surefire XML report contains the null character as is and is 
therefore not valid XML. Running the Surefire Reports plugin then fails with a 
parsing error.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to