@@ -70,15 +70,19 @@ create or replace package body ut is
7070 ut_assert_processor.report_error(a_message);
7171 end;
7272
73- function run(a_paths ut_varchar2_list, a_reporter ut_reporter_base := ut_documentation_reporter(), a_color_console boolean := false) return ut_varchar2_list pipelined is
74- l_reporter ut_reporter_base := a_reporter;
73+ procedure run_autonomous(a_paths ut_varchar2_list, a_reporter ut_reporter_base, a_color_console integer) is
74+ pragma autonomous_transaction;
75+ begin
76+ ut_runner.run(a_paths, a_reporter, ut_utils.int_to_boolean(a_color_console));
77+ rollback;
78+ end;
79+
80+ function run(a_paths ut_varchar2_list, a_reporter ut_reporter_base := ut_documentation_reporter(), a_color_console integer := 0) return ut_varchar2_list pipelined is
81+ l_reporter ut_reporter_base := coalesce(a_reporter, ut_documentation_reporter());
7582 l_lines sys_refcursor;
7683 l_line varchar2(4000);
7784 begin
78- if l_reporter is null then
79- l_reporter := ut_documentation_reporter();
80- end if;
81- ut_runner.run(a_paths, l_reporter, a_color_console);
85+ run_autonomous(a_paths, l_reporter, a_color_console);
8286 l_lines := ut_output_buffer.get_lines_cursor(l_reporter.reporter_id);
8387 loop
8488 fetch l_lines into l_line;
@@ -88,15 +92,13 @@ create or replace package body ut is
8892 close l_lines;
8993 end;
9094
91- function run(a_path varchar2 := null, a_reporter ut_reporter_base := ut_documentation_reporter(), a_color_console boolean := false) return ut_varchar2_list pipelined is
92- l_reporter ut_reporter_base := a_reporter;
95+ function run(a_path varchar2 := null, a_reporter ut_reporter_base := ut_documentation_reporter(), a_color_console integer := 0) return ut_varchar2_list pipelined is
96+ l_reporter ut_reporter_base := coalesce(a_reporter, ut_documentation_reporter());
97+ l_paths ut_varchar2_list := ut_varchar2_list(coalesce(a_path, sys_context('userenv', 'current_schema')));
9398 l_lines sys_refcursor;
9499 l_line varchar2(4000);
95100 begin
96- if l_reporter is null then
97- l_reporter := ut_documentation_reporter();
98- end if;
99- ut_runner.run(a_path, a_reporter, a_color_console);
101+ run_autonomous(l_paths, a_reporter, a_color_console );
100102 l_lines := ut_output_buffer.get_lines_cursor(l_reporter.reporter_id);
101103 loop
102104 fetch l_lines into l_line;
@@ -107,18 +109,16 @@ create or replace package body ut is
107109 end;
108110
109111 procedure run(a_paths ut_varchar2_list, a_reporter ut_reporter_base := ut_documentation_reporter(), a_color_console boolean := false) is
110- l_reporter ut_reporter_base := a_reporter;
112+ l_reporter ut_reporter_base := coalesce( a_reporter, ut_documentation_reporter()) ;
111113 begin
112- if l_reporter is null then
113- l_reporter := ut_documentation_reporter();
114- end if;
115114 ut_runner.run(a_paths, l_reporter, a_color_console);
116115 ut_output_buffer.lines_to_dbms_output(l_reporter.reporter_id);
117116 end;
118117
119118 procedure run(a_path varchar2 := null, a_reporter ut_reporter_base := ut_documentation_reporter(), a_color_console boolean := false) is
119+ l_paths ut_varchar2_list := ut_varchar2_list(coalesce(a_path, sys_context('userenv', 'current_schema')));
120120 begin
121- ut.run(ut_varchar2_list(coalesce(a_path, sys_context('userenv', 'current_schema'))) , a_reporter, a_color_console);
121+ ut.run(l_paths , a_reporter, a_color_console);
122122 end;
123123
124124end ut;
0 commit comments