Description
When I run the realtime reporter via ut3_tester_helper
for ut3$user#
and the test core.check_fail_escape.fail_miserably
exists the realtime reporter crashes while processing the following post-test event:
<event type="post-test">
<test id="core.check_fail_escape.fail_miserably">
<testNumber>1</testNumber>
<totalNumberOfTests>673</totalNumberOfTests>
<startTime>2020-06-02T23:10:03.579607</startTime>
<endTime>2020-06-02T23:10:03.591826</endTime>
<executionTime>.012219</executionTime>
<counter>
<disabled>0</disabled>
<success>1</success>
<failure>0</failure>
<error>0</error>
<warning>0</warning>
</counter>
<serverOutput><![CDATA[FAILURE
Actual: 'test' (varchar2) was expected to equal: '<![CDATA[some stuff]]>' (varchar2)
at "UT3$USER#.CHECK_FAIL_ESCAPE.FAIL_MISERABLY", line 4 ut3_develop.ut.expect('test').to_equal('<![CDATA[some stuff]]>');
]]></serverOutput>
</test>
</event>
The realtime reporter gets stuck. It looks like this "forever" (I expect it to time out after 4h, but not checked ;-) ). Not possible to stop/abort the process:
The reason is clear. Nested CDATA sections are not supported by XML. It is the reponsibility of the realtime reporter in the utPLSQL framework to produce a valid XML. However, the SQL Developer extension must still be capable to process data produced by utPLSQL 3.1.4 .. 3.1.10 (or so). Hence I suggest to implement some pre-processing to fix such wrong XML.
This link might be helpful: https://stackoverflow.com/questions/12860754/using-cdata-inside-another-cdata .