8000 Standalone coverage by jgebal · Pull Request #1079 · utPLSQL/utPLSQL · GitHub
[go: up one dir, main page]

Skip to content

Standalone coverage #1079

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Jul 18, 2020
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Workaround for 12.2 issue with conditional compilation in package spec.
Added missing testcase for get_report_cursor
  • Loading branch information
jgebal committed Jun 14, 2020
commit 52e1db9cbc94632f51f9d5f723a812f94847c31d
9 changes: 9 additions & 0 deletions test/ut3_user/reporters/test_coverage.pkb
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
create or replace package body test_coverage is

function block_coverage_available return boolean is
begin
$if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then
return true;
$else
return false;
$end
end;

end;
/
6 changes: 1 addition & 5 deletions test/ut3_user/reporters/test_coverage.pks
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,7 @@ create or replace package test_coverage is
--%suite
--%suitepath(utplsql.test_user.reporters)

$if dbms_db_version.version = 12 and dbms_db_version.release >= 2 or dbms_db_version.version > 12 $then
gc_block_coverage_enabled constant boolean := true;
$else
gc_block_coverage_enabled constant boolean := false;
$end
function block_coverage_available return boolean;

--%beforeall(ut3_tester_helper.coverage_helper.create_test_results_table)
--%beforeall(ut3_tester_helper.coverage_helper.create_dummy_coverage)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ create or replace package body test_coverage_sonar_reporter is
l_block_cov clob;
begin
--Arrange
if test_coverage.gc_block_coverage_enabled then
if test_coverage.block_coverage_available then
l_block_cov := '<lineToCover lineNumber="7" covered="true" branchesToCover="1" coveredBranches="1"/>';
else
l_block_cov := '<lineToCover lineNumber="7" covered="true"/>';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ create or replace package body test_coverage_standalone is
l_block_cov clob;
begin
--Arrange
if test_coverage.gc_block_coverage_enabled then
if test_coverage.block_coverage_available then
l_block_cov := '%<line number="5" hits="4" branch="true" condition-coverage="67% (2/3)"/>';
else
l_block_cov := '%<line number="5" hits="4" branch="false"/>';
Expand Down Expand Up @@ -38,5 +38,42 @@ create or replace package body test_coverage_standalone is
ut.expect(ut3_tester_helper.main_helper.table_to_clob(l_actual)).to_be_like( l_expected );
end;

procedure coverage_cursor_without_ut_run is
l_coverage_run_id raw(32) := sys_guid();
l_coverage_cursor sys_refcursor;
l_actual ut3_develop.ut_varchar2_list;
l_expected clob;
l_block_cov clob;
begin
--Arrange
if test_coverage.block_coverage_available then
l_block_cov := '%<line number="5" hits="4" branch="true" condition-coverage="67% (2/3)"/>';
else
l_block_cov := '%<line number="5" hits="4" branch="false"/>';
end if;
l_expected := '%<source>ut3_tester_helper.coverage_pkg</source>' ||
'%<package name="COVERAGE_PKG" ' ||
'%<class name="COVERAGE_PKG" filename="ut3_tester_helper.coverage_pkg"' ||
'%<lines>' ||
l_block_cov ||
'%<line number="7" hits="1" branch="false"/>%';
--Act
ut3_tester_helper.coverage_helper.run_coverage_job(l_coverage_run_id, 1);
ut3_tester_helper.coverage_helper.run_coverage_job(l_coverage_run_id, 3);

--Assert
l_coverage_cursor :=
ut3_develop.ut_coverage_cobertura_reporter( ).get_report_cursor(
ut3_develop.ut_coverage_options(
coverage_run_id => l_coverage_run_id,
include_objects => ut3_develop.ut_varchar2_rows('COVERAGE_PKG'),
schema_names => ut3_develop.ut_varchar2_rows('UT3_TESTER_HELPER')
)
);
fetch l_coverage_cursor bulk collect into l_actual;
close l_coverage_cursor;
ut.expect(ut3_tester_helper.main_helper.table_to_clob(l_actual)).to_be_like( l_expected );
end;

end;
/
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,7 @@ create or replace package test_coverage_standalone authid current_user is
--%test(Coverage can be invoked standalone in multiple sessions and a combined report can be produced at the end)
procedure coverage_without_ut_run;

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