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

Skip to content

Commit 52e1db9

Browse files
committed
Workaround for 12.2 issue with conditional compilation in package spec.
Added missing testcase for get_report_cursor
1 parent 641d87c commit 52e1db9

5 files changed

Lines changed: 51 additions & 7 deletions

File tree

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
11
create or replace package body test_coverage is
22

3+
function block_coverage_available return boolean is
4+
begin
5+
$if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then
6+
return true;
7+
$else
8+
return false;
9+
$end
10+
end;
11+
312
end;
413
/

test/ut3_user/reporters/test_coverage.pks

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,7 @@ create or replace package test_coverage is
33
--%suite
44
--%suitepath(utplsql.test_user.reporters)
55

6-
$if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then
7-
gc_block_coverage_enabled constant boolean := true;
8-
$else
9-
gc_block_coverage_enabled constant boolean := false;
10-
$end
6+
function block_coverage_available return boolean;
117

128
--%beforeall(ut3_tester_helper.coverage_helper.create_test_results_table)
139
--%beforeall(ut3_tester_helper.coverage_helper.create_dummy_coverage)

test/ut3_user/reporters/test_coverage/test_coverage_sonar_reporter.pkb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ create or replace package body test_coverage_sonar_reporter is
66
l_block_cov clob;
77
begin
88
--Arrange
9-
if test_coverage.gc_block_coverage_enabled then
9+
if test_coverage.block_coverage_available then
1010
l_block_cov := '<lineToCover lineNumber="7" covered="true" branchesToCover="1" coveredBranches="1"/>';
1111
else
1212
l_block_cov := '<lineToCover lineNumber="7" covered="true"/>';

test/ut3_user/reporters/test_coverage/test_coverage_standalone.pkb

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ create or replace package body test_coverage_standalone is
77
l_block_cov clob;
88
begin
99
--Arrange
10-
if test_coverage.gc_block_coverage_enabled then
10+
if test_coverage.block_coverage_available then
1111
l_block_cov := '%<line number="5" hits="4" branch="true" condition-coverage="67% (2/3)"/>';
1212
else
1313
l_block_cov := '%<line number="5" hits="4" branch="false"/>';
@@ -38,5 +38,42 @@ create or replace package body test_coverage_standalone is
3838
ut.expect(ut3_tester_helper.main_helper.table_to_clob(l_actual)).to_be_like( l_expected );
3939
end;
4040

41+
procedure coverage_cursor_without_ut_run is
42+
l_coverage_run_id raw(32) := sys_guid();
43+
l_coverage_cursor sys_refcursor;
44+
l_actual ut3_develop.ut_varchar2_list;
45+
l_expected clob;
46+
l_block_cov clob;
47+
begin
48+
--Arrange
49+
if test_coverage.block_coverage_available then
50+
l_block_cov := '%<line number="5" hits="4" branch="true" condition-coverage="67% (2/3)"/>';
51+
else
52+
l_block_cov := '%<line number="5" hits="4" branch="false"/>';
53+
end if;
54+
l_expected := '%<source>ut3_tester_helper.coverage_pkg</source>' ||
55+
'%<package name="COVERAGE_PKG" ' ||
56+
'%<class name="COVERAGE_PKG" filename="ut3_tester_helper.coverage_pkg"' ||
57+
'%<lines>' ||
58+
l_block_cov ||
59+
'%<line number="7" hits="1" branch="false"/>%';
60+
--Act
61+
ut3_tester_helper.coverage_helper.run_coverage_job(l_coverage_run_id, 1);
62+
ut3_tester_helper.coverage_helper.run_coverage_job(l_coverage_run_id, 3);
63+
64+
--Assert
65+
l_coverage_cursor :=
66+
ut3_develop.ut_coverage_cobertura_reporter( ).get_report_cursor(
67+
ut3_develop.ut_coverage_options(
68+
coverage_run_id => l_coverage_run_id,
69+
include_objects => ut3_develop.ut_varchar2_rows('COVERAGE_PKG'),
70+
schema_names => ut3_develop.ut_varchar2_rows('UT3_TESTER_HELPER')
71+
)
72+
);
73+
fetch l_coverage_cursor bulk collect into l_actual;
74+
close l_coverage_cursor;
75+
ut.expect(ut3_tester_helper.main_helper.table_to_clob(l_actual)).to_be_like( l_expected );
76+
end;
77+
4178
end;
4279
/

test/ut3_user/reporters/test_coverage/test_coverage_standalone.pks

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,7 @@ create or replace package test_coverage_standalone authid current_user is
99
--%test(Coverage can be invoked standalone in multiple sessions and a combined report can be produced at the end)
1010
procedure coverage_without_ut_run;
1111

12+
--%test(Coverage can be invoked standalone in multiple sessions and a combined report can be produced at the end as cursor)
13+
procedure coverage_cursor_without_ut_run;
1214
end;
1315
/

0 commit comments

Comments
 (0)