@@ -11,8 +11,8 @@ create or replace package body test_coverage is
1111 end;
1212
1313 procedure create_dummy_coverage_package is
14+ pragma autonomous_transaction;
1415 begin
15- dbms_output.put_line('creating UT3.DUMMY_COVERAGE');
1616 execute immediate q'[create or replace package UT3.DUMMY_COVERAGE is
1717 procedure do_stuff;
1818 end;]';
@@ -29,10 +29,11 @@ create or replace package body test_coverage is
2929 end;
3030
3131 procedure create_dummy_coverage_test is
32+ pragma autonomous_transaction;
3233 begin
33- dbms_output.put_line('creating UT3.TEST_DUMMY_COVERAGE');
3434 execute immediate q'[create or replace package UT3.TEST_DUMMY_COVERAGE is
3535 --%suite(dummy coverage test)
36+ --%suitepath(coverage_testing)
3637
3738 --%test
3839 procedure test_do_stuff;
@@ -45,6 +46,45 @@ create or replace package body test_coverage is
4546 end;]';
4647 end;
4748
49+ procedure create_dummy_coverage_test_1 is
50+ pragma autonomous_transaction;
51+ begin
52+ execute immediate q'[create or replace package UT3.DUMMY_COVERAGE_1 is
53+ procedure do_stuff;
54+ end;]';
55+ execute immediate q'[create or replace package body UT3.DUMMY_COVERAGE_1 is
56+ procedure do_stuff is
57+ begin
58+ if 1 = 2 then
59+ dbms_output.put_line('should not get here');
60+ else
61+ dbms_output.put_line('should get here');
62+ end if;
63+ end;
64+ end;]';
65+ execute immediate q'[create or replace package UT3.TEST_DUMMY_COVERAGE_1 is
66+ --%suite(dummy coverage test 1)
67+ --%suitepath(coverage_testing)
68+
69+ --%test
70+ procedure test_do_stuff;
71+ end;]';
72+ execute immediate q'[create or replace package body UT3.TEST_DUMMY_COVERAGE_1 is
73+ procedure test_do_stuff is
74+ begin
75+ dummy_coverage_1.do_stuff;
76+ end;
77+ end;]';
78+ end;
79+
80+ procedure drop_dummy_coverage_test_1 is
81+ pragma autonomous_transaction;
82+ begin
83+ execute immediate q'[drop package UT3.DUMMY_COVERAGE_1]';
84+ execute immediate q'[drop package UT3.TEST_DUMMY_COVERAGE_1]';
85+ end;
86+
87+
4888 procedure mock_coverage_data(a_run_id integer) is
4989 c_unit_id constant integer := 1;
5090 begin
@@ -74,10 +114,8 @@ create or replace package body test_coverage is
74114 procedure cleanup_dummy_coverage is
75115 pragma autonomous_transaction;
76116 begin
77- dbms_output.put_line('dopping UT3.TEST_DUMMY_COVERAGE');
78- execute immediate q'[drop package ut3.test_dummy_coverage]';
79- dbms_output.put_line('dopping UT3.DUMMY_COVERAGE');
80- execute immediate q'[drop package ut3.dummy_coverage]';
117+ begin execute immediate q'[drop package ut3.test_dummy_coverage]'; exception when others then null; end;
118+ begin execute immediate q'[drop package ut3.dummy_coverage]'; exception when others then null; end;
81119 delete from ut3.plsql_profiler_data where runid = g_run_id;
82120 delete from ut3.plsql_profiler_units where runid = g_run_id;
83121 delete from ut3.plsql_profiler_runs where runid = g_run_id;
@@ -154,5 +192,40 @@ create or replace package body test_coverage is
154192 ut.expect(l_actual).to_be_like(l_expected);
155193 end;
156194
195+ procedure coverage_tmp_data_refresh is
196+ l_actual clob;
197+ l_results ut3.ut_varchar2_list;
198+ begin
199+ --Arrange
200+ select *
201+ bulk collect into l_results
202+ from table(
203+ ut3.ut.run(
204+ a_path => 'ut3:coverage_testing',
205+ a_reporter=> ut3.ut_coverage_sonar_reporter( ),
206+ a_include_objects => ut3.ut_varchar2_list( 'ut3.dummy_coverage' )
207+ )
208+ );
209+ cleanup_dummy_coverage();
210+ create_dummy_coverage_test_1;
211+
212+ --Act
213+ select *
214+ bulk collect into l_results
215+ from table(
216+ ut3.ut.run(
217+ a_path => 'ut3:coverage_testing',
218+ a_reporter=> ut3.ut_coverage_sonar_reporter( ),
219+ a_include_objects => ut3.ut_varchar2_list( 'ut3.dummy_coverage' )
220+ )
221+ );
222+
223+ --Assert
224+ l_actual := ut3.ut_utils.table_to_clob(l_results);
225+ ut.expect(l_actual).to_equal(to_clob('<coverage version="1">
226+ </coverage>'));
227+ drop_dummy_coverage_test_1;
228+ end;
229+
157230end;
158231/
0 commit comments