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

Skip to content
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
Fixed failing tests and added additional test for missing coverage.
  • Loading branch information
jgebal committed Jun 10, 2018
commit ecae542fe46ddf0ea3c234f9f29000d8c405e3b1
11 changes: 5 additions & 6 deletions source/reporters/ut_coveralls_reporter.tpb
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,15 @@ create or replace type body ut_coveralls_reporter is

l_last_line_no := a_unit_coverage.lines.last;
if l_last_line_no is null then
l_last_line_no := a_unit_coverage.total_lines - 1;
for i in 1 .. l_last_line_no loop
ut_utils.append_to_clob(l_result, '0,'||chr(10));
end loop;
ut_utils.append_to_clob(l_result, '0');
ut_utils.append_to_clob(
l_result
, rpad( to_clob( '0' ), ( a_unit_coverage.total_lines * 3 ) - 2, ','||chr(10)||'0' )
);
else
for line_no in 1 .. l_last_line_no loop
if a_unit_coverage.lines.exists(line_no) then
l_file_part := to_char(a_unit_coverage.lines(line_no).executions);
else
else
l_file_part := c_null;
end if;
if line_no < l_last_line_no then
Expand Down
17 changes: 13 additions & 4 deletions test/core/reporters/test_coverage.pkb
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
create or replace package body test_coverage is

g_run_id integer;

function get_mock_run_id return integer is
v_result integer;
begin
Expand Down Expand Up @@ -100,22 +98,32 @@ create or replace package body test_coverage is
select a_run_id, c_unit_id, 7, 1, 1 from dual;
end;

procedure setup_dummy_coverage is
procedure create_dummy_coverage_pkg is
pragma autonomous_transaction;
begin
create_dummy_coverage_package();
create_dummy_coverage_test();
end;

procedure setup_dummy_coverage is
pragma autonomous_transaction;
begin
g_run_id := get_mock_run_id();
ut3.ut_coverage.mock_coverage_id(g_run_id, ut3.ut_coverage.gc_proftab_coverage);
mock_coverage_data(g_run_id);
commit;
end;

procedure cleanup_dummy_coverage is
procedure drop_dummy_coverage_pkg is
pragma autonomous_transaction;
begin
begin execute immediate q'[drop package ut3.test_dummy_coverage]'; exception when others then null; end;
begin execute immediate q'[drop package ut3.dummy_coverage]'; exception when others then null; end;
end;

procedure cleanup_dummy_coverage is
pragma autonomous_transaction;
begin
delete from ut3.plsql_profiler_data where runid = g_run_id;
delete from ut3.plsql_profiler_units where runid = g_run_id;
delete from ut3.plsql_profiler_runs where runid = g_run_id;
Expand Down Expand Up @@ -229,6 +237,7 @@ create or replace package body test_coverage is
)
);
cleanup_dummy_coverage();
drop_dummy_coverage_pkg();
create_dummy_coverage_test_1;

--Act
Expand Down
8 changes: 8 additions & 0 deletions test/core/reporters/test_coverage.pks
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,16 @@ create or replace package test_coverage is
--%suite
--%suitepath(utplsql.core.reporters)

g_run_id integer;

--%beforeall
procedure create_dummy_coverage_pkg;
--%beforeall
procedure setup_dummy_coverage;


--%afterall
procedure drop_dummy_coverage_pkg;
--%afterall
procedure cleanup_dummy_coverage;

Expand All @@ -23,6 +30,7 @@ create or replace package test_coverage is
procedure coverage_for_file;

--%test(Coverage data is not cached between runs - issue #562 )
--%aftertest(create_dummy_coverage_pkg)
--%aftertest(setup_dummy_coverage)
procedure coverage_tmp_data_refresh;

Expand Down
54 changes: 51 additions & 3 deletions test/core/reporters/test_coverage/test_coveralls_reporter.pkb
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,17 @@ create or replace package body test_coveralls_reporter is
l_actual clob;
begin
--Arrange
l_expected := '{"source_files":[
l_expected := q'[{"source_files":[
{ "name": "test/ut3.dummy_coverage.pkb",
"coverage": [null,null,null,1,0,null,1]}]}
';
"coverage": [null,
null,
null,
1,
0,
null,
1
]}]}
]';
--Act
select *
bulk collect into l_results
Expand All @@ -26,5 +33,46 @@ create or replace package body test_coveralls_reporter is
ut.expect(l_actual).to_equal(l_expected);
end;

procedure report_zero_coverage is
l_results ut3.ut_varchar2_list;
l_expected clob;
l_actual clob;
pragma autonomous_transaction;
begin
--Arrange
l_expected := q'[{"source_files":[
{ "name": "ut3.dummy_coverage",
"coverage": [0,
0,
0,
0,
0,
0,
0,
0,
0,
0]}]}
]';

test_coverage.cleanup_dummy_coverage;

--Act
select *
bulk collect into l_results
from table(
ut3.ut.run(
'ut3.test_dummy_coverage',
ut3.ut_coveralls_reporter(),
a_include_objects => ut3.ut_varchar2_list('UT3.DUMMY_COVERAGE')
)
);
l_actual := ut3.ut_utils.table_to_clob(l_results);
--Assert
ut.expect(l_actual).to_equal(l_expected);

test_coverage.setup_dummy_coverage;

end;

end;
/
3 changes: 3 additions & 0 deletions test/core/reporters/test_coverage/test_coveralls_reporter.pks
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,8 @@ create or replace package test_coveralls_reporter is
--%test(reports on a project file mapped to database object)
procedure report_on_file;

--%test(reports zero coverage on each line of non-executed database object)
procedure report_zero_coverage;

end;
/