test_runner: fix line feed escaping in JUnit #60274
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #59593 (a part related to the XML
failure:message
attribute value)Cause
In
escapeAttribute
line feed characters were simply removed, so multi-line messages were distorted in the report, like:However, the original message is:
Solution motivation
https://www.w3.org/TR/WD-xml-970807#sec3.3.3
Thus, the character reference
must be expanded by the XML report processor/application to the line feed character.Changes
I used the decimal code
as a decimal one is already used inescapeComment
./(&)(?!#\d{1,7};)/g
inescapeContent
prevents escaping&
in decimal character references.Updated the test snapshot.
Effect
Testing
Additional details
I haven't removed
testcase:failure
as it's submitted via #59685