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)