     l_expected_list ut3.ut_varchar2_list;
     l_expected clob;
   begin
-    l_actual := 
-      g_actual_xml_report.extract(
-        '/report/runEvents/endSuiteEvent[@id="realtime_reporting.check_realtime_reporting3"]/errorStack/text()'
-      ).getclobval();
+    select t.column_value.extract('//event/suite/errorStack/text()').getstringval()
+      into l_actual
+      from table(g_xml_reports) t
+     where t.column_value.extract('/event[@type="post-suite"]/suite/@id').getstringval() 
+           = 'realtime_reporting.check_realtime_reporting3';
     ut3.ut_utils.append_to_list(l_expected_list, '<![CDATA[ORA-01403: no data found');
     ut3.ut_utils.append_to_list(l_expected_list, 'ORA-06512: at "%.CHECK_REALTIME_REPORTING3", line 21');
     ut3.ut_utils.append_to_list(l_expected_list, '%ORA-06512: at line 6]]>');

  begin
    select count(*)
      into l_actual
      from xmltable(
             '/report/runEvents/endTestEvent[@id="realtime_reporting.check_realtime_reporting2.test_4_nok"]/failedExpectations/expectation'
             passing g_actual_xml_report
             columns message clob path 'message',
                     caller  clob path 'caller'
           )
     where message is not null 
       and caller is not null;
    ut.expect(l_actual).to_equal(l_expected);
  end multiple_failed_messages;
  

    l_expected_list ut3.ut_varchar2_list;
    l_expected clob;
  begin
    select t.column_value.extract('//event/test/serverOutput/text()').getstringval()
      into l_actual
      from table(g_xml_reports) t
     where t.column_value.extract('/event[@type="post-test"]/test/@id').getstringval() 
           = 'realtime_reporting.check_realtime_reporting3.test_7_with_serveroutput';
    ut3.ut_utils.append_to_list(l_expected_list, '<![CDATA[before test 7');
    ut3.ut_utils.append_to_list(l_expected_list, 'after test 7');
    ut3.ut_utils.append_to_list(l_expected_list, ']]>');
