@@ -36,7 +36,7 @@ create or replace type body ut_xunit_reporter is
3636 l_lines ut_varchar2_list;
3737 l_output clob;
3838 begin
39- self.print_text('<testcase classname="' || get_path(a_test.path, a_test.name) || '" ' || ' assertions="' ||
39+ self.print_text('<testcase classname="' || dbms_xmlgen.convert( get_path(a_test.path, a_test.name) ) || '" ' || ' assertions="' ||
4040 coalesce(cardinality(a_test.results), 0) || '"' || self.get_common_item_attributes(a_test) || case when
4141 a_test.result != ut_utils.tr_success then
4242 ' status="' || ut_utils.test_result_to_char(a_test.result) || '"' end || '>');
@@ -54,9 +54,10 @@ create or replace type body ut_xunit_reporter is
5454 self.print_text('<![CDATA[');
5555 for i in 1 .. a_test.results.count loop
5656 l_lines := a_test.results(i).get_result_lines();
57- for i in 1 .. l_lines.count loop
58- self.print_text(l_lines(i ));
57+ for j in 1 .. l_lines.count loop
58+ self.print_text(l_lines(j ));
5959 end loop;
60+ self.print_text(a_test.results(i).caller_info);
6061 end loop;
6162 self.print_text(']]>');
6263 self.print_text('</failure>');
@@ -80,7 +81,7 @@ create or replace type body ut_xunit_reporter is
8081 begin
8182 a_suite_id := a_suite_id + 1;
8283 self.print_text('<testsuite tests="' || l_tests_count || '"' || ' id="' || a_suite_id || '"' || ' package="' ||
83- a_suite.path || '" ' || self.get_common_item_attributes(a_suite) || '>');
84+ dbms_xmlgen.convert( a_suite.path) || '" ' || self.get_common_item_attributes(a_suite) || '>');
8485 if a_suite is of(ut_suite) then
8586 l_suite := treat(a_suite as ut_suite);
8687
@@ -122,7 +123,7 @@ create or replace type body ut_xunit_reporter is
122123
123124 member function get_common_item_attributes(a_item ut_suite_item) return varchar2 is
124125 begin
125- return ' skipped="' || a_item.results_count.disabled_count || '" error="' || a_item.results_count.errored_count || '"' || ' failure="' || a_item.results_count.failure_count || '" name="' || nvl(a_item.description, a_item.name) || '"' || ' time="' || a_item.execution_time() || '" ';
126+ return ' skipped="' || a_item.results_count.disabled_count || '" error="' || a_item.results_count.errored_count || '"' || ' failure="' || a_item.results_count.failure_count || '" name="' || dbms_xmlgen.convert( nvl(a_item.description, a_item.name) ) || '"' || ' time="' || a_item.execution_time() || '" ';
126127 end;
127128
128129end;
0 commit comments