@@ -24,6 +24,7 @@ create or replace type body ut_realtime_reporter is
2424 total_number_of_tests := 0;
2525 current_test_number := 0;
2626 current_indent := 0;
27+ print_buffer := ut_varchar2_rows();
2728 return;
2829 end;
2930
@@ -78,6 +79,7 @@ create or replace type body ut_realtime_reporter is
7879 self.print_node('totalNumberOfTests', to_char(total_number_of_tests));
7980 self.print_end_node('preRun');
8081 self.print_start_node('runEvents');
82+ self.flush_print_buffer();
8183 end before_calling_run;
8284
8385 overriding member procedure after_calling_run(
@@ -87,6 +89,7 @@ create or replace type body ut_realtime_reporter is
8789 begin
8890 self.print_end_node('runEvents');
8991 self.print_end_node('report');
92+ self.flush_print_buffer();
9093 end after_calling_run;
9194
9295 overriding member procedure before_calling_suite(
@@ -96,6 +99,7 @@ create or replace type body ut_realtime_reporter is
9699 begin
97100 self.print_start_node('startSuiteEvent', a_suite.path);
98101 self.print_end_node('startSuiteEvent');
102+ self.flush_print_buffer();
99103 end before_calling_suite;
100104
101105 overriding member procedure after_calling_suite(
@@ -117,6 +121,7 @@ create or replace type body ut_realtime_reporter is
117121 self.print_cdata_node('errorStack', ut_utils.table_to_clob(a_suite.get_error_stack_traces()));
118122 self.print_cdata_node('serverOutput', a_suite.get_serveroutputs());
119123 self.print_end_node('endSuiteEvent');
124+ self.flush_print_buffer();
120125 end after_calling_suite;
121126
122127 overriding member procedure before_calling_test(
@@ -129,6 +134,7 @@ create or replace type body ut_realtime_reporter is
129134 self.print_node('testNumber', to_char(current_test_number));
130135 self.print_node('totalNumberOfTests', to_char(total_number_of_tests));
131136 self.print_end_node('startTestEvent');
137+ self.flush_print_buffer();
132138 end before_calling_test;
133139
134140 overriding member procedure after_calling_test(
@@ -164,6 +170,7 @@ create or replace type body ut_realtime_reporter is
164170 self.print_end_node('failedExpectations');
165171 end if;
166172 self.print_end_node('endTestEvent');
173+ self.flush_print_buffer();
167174 end after_calling_test;
168175
169176 overriding member function get_description return varchar2 is
@@ -230,9 +237,17 @@ create or replace type body ut_realtime_reporter is
230237 ) is
231238 begin
232239 current_indent := current_indent + a_indent_summand_before;
233- self.print_text( lpad(' ', 2 * current_indent) || a_fragment);
240+ ut_utils.append_to_list(print_buffer, lpad(' ', 2 * current_indent) || a_fragment);
234241 current_indent := current_indent + a_indent_summand_after;
235242 end print_xml_fragment;
243+
244+ member procedure flush_print_buffer(
245+ self in out nocopy ut_realtime_reporter
246+ ) is
247+ begin
248+ self.print_text_lines(print_buffer);
249+ print_buffer.delete;
250+ end flush_print_buffer;
236251
237252end;
238253/
0 commit comments