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

Skip to content

Commit ecae542

Browse files
committed
Fixed failing tests and added additional test for missing coverage.
1 parent 5b33d2f commit ecae542

5 files changed

Lines changed: 80 additions & 13 deletions

File tree

source/reporters/ut_coveralls_reporter.tpb

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -40,16 +40,15 @@ create or replace type body ut_coveralls_reporter is
4040

4141
l_last_line_no := a_unit_coverage.lines.last;
4242
if l_last_line_no is null then
43-
l_last_line_no := a_unit_coverage.total_lines - 1;
44-
for i in 1 .. l_last_line_no loop
45-
ut_utils.append_to_clob(l_result, '0,'||chr(10));
46-
end loop;
47-
ut_utils.append_to_clob(l_result, '0');
43+
ut_utils.append_to_clob(
44+
l_result
45+
, rpad( to_clob( '0' ), ( a_unit_coverage.total_lines * 3 ) - 2, ','||chr(10)||'0' )
46+
);
4847
else
4948
for line_no in 1 .. l_last_line_no loop
5049
if a_unit_coverage.lines.exists(line_no) then
5150
l_file_part := to_char(a_unit_coverage.lines(line_no).executions);
52-
else
51+
else
5352
l_file_part := c_null;
5453
end if;
5554
if line_no < l_last_line_no then

test/core/reporters/test_coverage.pkb

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

3-
g_run_id integer;
4-
53
function get_mock_run_id return integer is
64
v_result integer;
75
begin
@@ -100,22 +98,32 @@ create or replace package body test_coverage is
10098
select a_run_id, c_unit_id, 7, 1, 1 from dual;
10199
end;
102100

103-
procedure setup_dummy_coverage is
101+
procedure create_dummy_coverage_pkg is
104102
pragma autonomous_transaction;
105103
begin
106104
create_dummy_coverage_package();
107105
create_dummy_coverage_test();
106+
end;
107+
108+
procedure setup_dummy_coverage is
109+
pragma autonomous_transaction;
110+
begin
108111
g_run_id := get_mock_run_id();
109112
ut3.ut_coverage.mock_coverage_id(g_run_id, ut3.ut_coverage.gc_proftab_coverage);
110113
mock_coverage_data(g_run_id);
111114
commit;
112115
end;
113116

114-
procedure cleanup_dummy_coverage is
117+
procedure drop_dummy_coverage_pkg is
115118
pragma autonomous_transaction;
116119
begin
117120
begin execute immediate q'[drop package ut3.test_dummy_coverage]'; exception when others then null; end;
118121
begin execute immediate q'[drop package ut3.dummy_coverage]'; exception when others then null; end;
122+
end;
123+
124+
procedure cleanup_dummy_coverage is
125+
pragma autonomous_transaction;
126+
begin
119127
delete from ut3.plsql_profiler_data where runid = g_run_id;
120128
delete from ut3.plsql_profiler_units where runid = g_run_id;
121129
delete from ut3.plsql_profiler_runs where runid = g_run_id;
@@ -229,6 +237,7 @@ create or replace package body test_coverage is
229237
)
230238
);
231239
cleanup_dummy_coverage();
240+
drop_dummy_coverage_pkg();
232241
create_dummy_coverage_test_1;
233242

234243
--Act

test/core/reporters/test_coverage.pks

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,16 @@ create or replace package test_coverage is
33
--%suite
44
--%suitepath(utplsql.core.reporters)
55

6+
g_run_id integer;
7+
8+
--%beforeall
9+
procedure create_dummy_coverage_pkg;
610
--%beforeall
711
procedure setup_dummy_coverage;
812

13+
14+
--%afterall
15+
procedure drop_dummy_coverage_pkg;
916
--%afterall
1017
procedure cleanup_dummy_coverage;
1118

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

2532
--%test(Coverage data is not cached between runs - issue #562 )
33+
--%aftertest(create_dummy_coverage_pkg)
2634
--%aftertest(setup_dummy_coverage)
2735
procedure coverage_tmp_data_refresh;
2836

test/core/reporters/test_coverage/test_coveralls_reporter.pkb

Lines changed: 51 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,17 @@ create or replace package body test_coveralls_reporter is
66
l_actual clob;
77
begin
88
--Arrange
9-
l_expected := '{"source_files":[
9+
l_expected := q'[{"source_files":[
1010
{ "name": "test/ut3.dummy_coverage.pkb",
11-
"coverage": [null,null,null,1,0,null,1]}]}
12-
';
11+
"coverage": [null,
12+
null,
13+
null,
14+
1,
15+
0,
16+
null,
17+
1
18+
]}]}
19+
]';
1320
--Act
1421
select *
1522
bulk collect into l_results
@@ -26,5 +33,46 @@ create or replace package body test_coveralls_reporter is
2633
ut.expect(l_actual).to_equal(l_expected);
2734
end;
2835

36+
procedure report_zero_coverage is
37+
l_results ut3.ut_varchar2_list;
38+
l_expected clob;
39+
l_actual clob;
40+
pragma autonomous_transaction;
41+
begin
42+
--Arrange
43+
l_expected := q'[{"source_files":[
44+
{ "name": "ut3.dummy_coverage",
45+
"coverage": [0,
46+
0,
47+
0,
48+
0,
49+
0,
50+
0,
51+
0,
52+
0,
53+
0,
54+
0]}]}
55+
]';
56+
57+
test_coverage.cleanup_dummy_coverage;
58+
59+
--Act
60+
select *
61+
bulk collect into l_results
62+
from table(
63+
ut3.ut.run(
64+
'ut3.test_dummy_coverage',
65+
ut3.ut_coveralls_reporter(),
66+
a_include_objects => ut3.ut_varchar2_list('UT3.DUMMY_COVERAGE')
67+
)
68+
);
69+
l_actual := ut3.ut_utils.table_to_clob(l_results);
70+
--Assert
71+
ut.expect(l_actual).to_equal(l_expected);
72+
73+
test_coverage.setup_dummy_coverage;
74+
75+
end;
76+
2977
end;
3078
/

test/core/reporters/test_coverage/test_coveralls_reporter.pks

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,8 @@ create or replace package test_coveralls_reporter is
66
--%test(reports on a project file mapped to database object)
77
procedure report_on_file;
88

9+
--%test(reports zero coverage on each line of non-executed database object)
10+
procedure report_zero_coverage;
11+
912
end;
1013
/

0 commit comments

Comments
 (0)