@@ -29,9 +29,7 @@ create or replace type body ut_tfs_junit_reporter is
2929
3030 member procedure junit_version_one(self in out nocopy ut_tfs_junit_reporter,a_run in ut_run) is
3131 l_suite_id integer := 0;
32- l_tests_count integer := a_run.results_count.disabled_count + a_run.results_count.success_count +
33- a_run.results_count.failure_count + a_run.results_count.errored_count;
34-
32+
3533 function get_common_suite_attributes(a_item ut_suite_item) return varchar2 is
3634 begin
3735 return ' errors="' ||a_item.results_count.errored_count || '"' ||
@@ -55,7 +53,6 @@ create or replace type body ut_tfs_junit_reporter is
5553
5654 procedure print_test_results(a_test ut_test) is
5755 l_results ut_varchar2_rows := ut_varchar2_rows();
58- l_lines ut_varchar2_list;
5956 begin
6057 self.print_text('<testcase classname="' || dbms_xmlgen.convert(get_path(a_test.path, a_test.name)) || '" ' ||
6158 get_common_testcase_attributes(a_test) || '>');
@@ -69,20 +66,12 @@ create or replace type body ut_tfs_junit_reporter is
6966
7067 if a_test.result = ut_utils.gc_error then
7168 ut_utils.append_to_list( l_results, '<error type="error" message="Error while executing '||a_test.name||'">');
72- ut_utils.append_to_list( l_results, '<![CDATA[');
73- ut_utils.append_to_list( l_results, ut_utils.table_to_clob(a_test.get_error_stack_traces()));
74- ut_utils.append_to_list( l_results, ']]>');
69+ ut_utils.append_to_list( l_results, ut_utils.to_cdata( ut_utils.convert_collection( a_test.get_error_stack_traces() ) ) );
7570 ut_utils.append_to_list( l_results, '</error>');
7671 -- Do not count error as failure
7772 elsif a_test.result = ut_utils.gc_failure then
7873 ut_utils.append_to_list( l_results, '<failure type="failure" message="Test '||a_test.name||' failed">');
79- for i in 1 .. a_test.failed_expectations.count loop
80- l_lines := a_test.failed_expectations(i).get_result_lines();
81- for j in 1 .. l_lines.count loop
82- ut_utils.append_to_list( l_results, dbms_xmlgen.convert(l_lines(j)));
83- end loop;
84- ut_utils.append_to_list( l_results, dbms_xmlgen.convert(a_test.failed_expectations(i).caller_info));
85- end loop;
74+ ut_utils.append_to_list( l_results, ut_utils.to_cdata( a_test.get_failed_expectation_lines() ) );
8675 ut_utils.append_to_list( l_results, '</failure>');
8776 end if;
8877
@@ -106,43 +95,39 @@ create or replace type body ut_tfs_junit_reporter is
10695 end if;
10796 end loop;
10897
109- if a_suite is of(ut_suite) then
110- a_suite_id := a_suite_id + 1;
111- self.print_text('<testsuite tests="' || l_tests_count || '"' || ' id="' || a_suite_id || '"' || ' package="' ||
112- dbms_xmlgen.convert(a_suite.path) || '" ' || get_common_suite_attributes(a_suite) || '>');
113- self.print_text('<properties/>');
114- for i in 1 .. a_suite.items.count loop
115- if a_suite.items(i) is of(ut_test) then
116- print_test_results(treat(a_suite.items(i) as ut_test));
117- end if;
118- end loop;
119- l_suite := treat(a_suite as ut_suite);
120- l_outputs := l_suite.get_serveroutputs();
121- if l_outputs is not null and l_outputs != empty_clob() then
122- ut_utils.append_to_list( l_results, '<system-out>');
123- ut_utils.append_to_list( l_results, '<![CDATA[');
124- ut_utils.append_to_list( l_results, l_outputs);
125- ut_utils.append_to_list( l_results, ']]>');
126- ut_utils.append_to_list( l_results, '</system-out>');
127- else
128- ut_utils.append_to_list( l_results, '<system-out/>');
129- end if;
98+ if a_suite is of(ut_suite) then
99+ a_suite_id := a_suite_id + 1;
100+ self.print_text('<testsuite tests="' || l_tests_count || '"' || ' id="' || a_suite_id || '"' || ' package="' ||
101+ dbms_xmlgen.convert(a_suite.path) || '" ' || get_common_suite_attributes(a_suite) || '>');
102+ self.print_text('<properties/>');
103+ for i in 1 .. a_suite.items.count loop
104+ if a_suite.items(i) is of(ut_test) then
105+ print_test_results(treat(a_suite.items(i) as ut_test));
106+ end if;
107+ end loop;
108+ l_suite := treat(a_suite as ut_suite);
109+ l_outputs := l_suite.get_serveroutputs();
110+ if l_outputs is not null and l_outputs != empty_clob() then
111+ ut_utils.append_to_list( l_results, '<system-out>');
112+ ut_utils.append_to_list( l_results, ut_utils.to_cdata( l_suite.get_serveroutputs() ) );
113+ ut_utils.append_to_list( l_results, '</system-out>');
114+ else
115+ ut_utils.append_to_list( l_results, '<system-out/>');
116+ end if;
130117
131- l_errors := l_suite.get_error_stack_traces();
132- if l_errors is not empty then
133- ut_utils.append_to_list( l_results, '<system-err>');
134- ut_utils.append_to_list( l_results, '<![CDATA[');
135- ut_utils.append_to_list( l_results, ut_utils.table_to_clob(l_errors));
136- ut_utils.append_to_list( l_results, ']]>');
137- ut_utils.append_to_list( l_results, '</system-err>');
138- else
139- ut_utils.append_to_list( l_results, '<system-err/>');
140- end if;
141- ut_utils.append_to_list( l_results, '</testsuite>');
118+ l_errors := l_suite.get_error_stack_traces();
119+ if l_errors is not empty then
120+ ut_utils.append_to_list( l_results, '<system-err>');
121+ ut_utils.append_to_list( l_results, ut_utils.to_cdata( ut_utils.convert_collection( l_errors ) ) );
122+ ut_utils.append_to_list( l_results, '</system-err>');
123+ else
124+ ut_utils.append_to_list( l_results, '<system-err/>');
125+ end if;
126+ ut_utils.append_to_list( l_results, '</testsuite>');
142127
143- self.print_text_lines(l_results);
128+ self.print_text_lines(l_results);
144129 end if;
145- end;
130+ end;
146131
147132 begin
148133 l_suite_id := 0;
0 commit comments