Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 90858eb

Browse files
committed
Added 12.2 coverage
Fixes to cycle dependancies
1 parent 1f4f5f0 commit 90858eb

4 files changed

Lines changed: 33 additions & 31 deletions

File tree

source/core/coverage/ut_coverage.pkb

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,6 @@ create or replace package body ut_coverage is
1919

2020
type t_source_lines is table of binary_integer;
2121

22-
procedure set_coverage_type(a_coverage_type in varchar2) is
23-
begin
24-
g_coverage_type := a_coverage_type;
25-
end;
26-
27-
function get_coverage_type return varchar2 is
28-
begin
29-
return g_coverage_type;
30-
end;
31-
3222
-- The source query has two important transformations done in it.
3323
-- the flag: to_be_skipped ='Y' is set for a line of code that is badly reported by DBMS_PROFILER as executed 0 times.
3424
-- This includes lines that are:
@@ -159,15 +149,13 @@ create or replace package body ut_coverage is
159149
procedure coverage_start(a_coverage_options ut_coverage_options default null) is
160150
l_coverage_type varchar2(10) := coalesce(a_coverage_options.coverage_type, 'proftab');
161151
begin
162-
set_coverage_type(a_coverage_type => l_coverage_type);
163-
ut_coverage_helper.coverage_start('utPLSQL Code coverage run '||ut_utils.to_string(systimestamp));
152+
ut_coverage_helper.coverage_start('utPLSQL Code coverage run '||ut_utils.to_string(systimestamp),l_coverage_type);
164153
end;
165154

166155
procedure coverage_start_develop(a_coverage_options ut_coverage_options default null) is
167156
l_coverage_type varchar2(10) := coalesce(a_coverage_options.coverage_type, 'proftab');
168157
begin
169-
set_coverage_type(a_coverage_type => l_coverage_type);
170-
ut_coverage_helper.coverage_start_develop();
158+
ut_coverage_helper.coverage_start_develop(l_coverage_type);
171159
end;
172160

173161
procedure coverage_pause is
@@ -404,7 +392,7 @@ create or replace package body ut_coverage is
404392
function get_coverage_data(a_coverage_options ut_coverage_options) return t_coverage is
405393
begin
406394

407-
if get_coverage_type = 'block' then
395+
if a_coverage_options.coverage_type = 'block' then
408396
return get_coverage_data_block(a_coverage_options => a_coverage_options);
409397
else
410398
return get_coverage_data_profiler(a_coverage_options => a_coverage_options);

source/core/coverage/ut_coverage.pks

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,6 @@ create or replace package ut_coverage authid current_user is
5858
,uncovered_blocks binary_integer default null
5959
,executions number(38, 0) := 0
6060
,objects tt_program_units);
61-
62-
g_coverage_type varchar2(32);
63-
64-
function get_coverage_type return varchar2;
6561

6662
procedure coverage_start(a_coverage_options ut_coverage_options default null);
6763

source/core/coverage/ut_coverage_helper.pkb

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -35,17 +35,28 @@ create or replace package body ut_coverage_helper is
3535

3636
type t_block_rows is table of t_block_row;
3737

38+
procedure set_coverage_type(a_coverage_type in varchar2) is
39+
begin
40+
g_coverage_type := a_coverage_type;
41+
end;
42+
43+
function get_coverage_type return varchar2 is
44+
begin
45+
return g_coverage_type;
46+
end;
47+
3848
function is_develop_mode return boolean is
3949
begin
4050
return g_develop_mode;
4151
end;
4252

43-
procedure coverage_start_internal(a_run_comment varchar2) is
53+
procedure coverage_start_internal(a_run_comment varchar2,a_coverage_type in varchar2) is
4454
--l_start_block varchar2(32767):= 'call dbms_plsql_code_coverage.start_coverage(run_comment => :a_run_comment)
4555
-- into :g_coverage_id';
4656
begin
57+
set_coverage_type(a_coverage_type);
4758
-- Make it dynamic to allow for block coverage.
48-
if ut_coverage.get_coverage_type = 'block' then
59+
if get_coverage_type = 'block' then
4960
--execute immediate l_start_block USING IN a_run_comment, OUT g_coverage_id;
5061
g_coverage_id := dbms_plsql_code_coverage.start_coverage(run_comment => a_run_comment);
5162
else
@@ -55,27 +66,27 @@ create or replace package body ut_coverage_helper is
5566
g_is_started := true;
5667
end;
5768

58-
procedure coverage_start(a_run_comment varchar2) is
69+
procedure coverage_start(a_run_comment varchar2,a_coverage_type in varchar2) is
5970
begin
6071
if not g_is_started then
6172
g_develop_mode := false;
62-
coverage_start_internal(a_run_comment);
73+
coverage_start_internal(a_run_comment,a_coverage_type);
6374
end if;
6475
end;
6576

66-
procedure coverage_start_develop is
77+
procedure coverage_start_develop(a_coverage_type in varchar2) is
6778
begin
6879
if not g_is_started then
6980
g_develop_mode := true;
70-
coverage_start_internal('utPLSQL Code coverage run in development MODE '||ut_utils.to_string(systimestamp));
81+
coverage_start_internal('utPLSQL Code coverage run in development MODE '||ut_utils.to_string(systimestamp),a_coverage_type);
7182
end if;
7283
end;
7384

7485
procedure coverage_pause is
7586
l_return_code binary_integer;
7687
begin
7788
if not g_develop_mode then
78-
if ut_coverage.get_coverage_type = 'block' then
89+
if get_coverage_type = 'block' then
7990
null;
8091
else
8192
l_return_code := dbms_profiler.pause_profiler();
@@ -86,7 +97,7 @@ create or replace package body ut_coverage_helper is
8697
procedure coverage_resume is
8798
l_return_code binary_integer;
8899
begin
89-
if ut_coverage.get_coverage_type = 'block' then
100+
if get_coverage_type = 'block' then
90101
null;
91102
else
92103
l_return_code := dbms_profiler.resume_profiler();
@@ -97,7 +108,7 @@ create or replace package body ut_coverage_helper is
97108
begin
98109
if not g_develop_mode then
99110
g_is_started := false;
100-
if ut_coverage.get_coverage_type = 'block' then
111+
if get_coverage_type = 'block' then
101112
dbms_plsql_code_coverage.stop_coverage;
102113
else
103114
dbms_profiler.stop_profiler();
@@ -109,7 +120,7 @@ create or replace package body ut_coverage_helper is
109120
begin
110121
g_develop_mode := false;
111122
g_is_started := false;
112-
if ut_coverage.get_coverage_type = 'block' then
123+
if get_coverage_type = 'block' then
113124
null;
114125
else
115126
dbms_profiler.stop_profiler();

source/core/coverage/ut_coverage_helper.pks

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,13 @@ create or replace package ut_coverage_helper authid definer is
1616
limitations under the License.
1717
*/
1818

19+
20+
g_coverage_type varchar2(32);
21+
22+
function get_coverage_type return varchar2;
23+
24+
procedure set_coverage_type(a_coverage_type in varchar2);
25+
1926
--table of line calls indexed by line number
2027
--!!! this table is sparse!!!
2128
--type t_unit_line_calls is table of number(38,0) index by binary_integer;
@@ -51,12 +58,12 @@ create or replace package ut_coverage_helper authid definer is
5158

5259
function is_develop_mode return boolean;
5360

54-
procedure coverage_start(a_run_comment varchar2);
61+
procedure coverage_start(a_run_comment in varchar2,a_coverage_type in varchar2);
5562

5663
/*
5764
* Start coverage in develop mode, where all internal calls to utPLSQL itself are also included
5865
*/
59-
procedure coverage_start_develop;
66+
procedure coverage_start_develop(a_coverage_type in varchar2);
6067

6168
procedure coverage_stop;
6269

0 commit comments

Comments
 (0)