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

Skip to content

Commit 3042f77

Browse files
committed
Changed the way coverage is gathered on project files.
Files that were not covered at all will not have coverage reported.
1 parent ffc190b commit 3042f77

1 file changed

Lines changed: 32 additions & 29 deletions

File tree

source/core/coverage/ut_coverage.pkb

Lines changed: 32 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -199,35 +199,38 @@ create or replace package body ut_coverage is
199199
end loop;
200200
end if;
201201

202-
if not l_result.objects.exists(src_object.full_name) then
203-
l_result.objects(src_object.full_name) := l_new_unit;
204-
l_result.objects(src_object.full_name).owner := src_object.owner;
205-
l_result.objects(src_object.full_name).name := src_object.name;
206-
end if;
207-
l_result.total_lines := l_result.total_lines + src_object.lines_count;
208-
l_result.objects(src_object.full_name).total_lines := src_object.lines_count;
209-
--map to results
210-
line_no := l_line_calls.first;
211-
if line_no is null then
212-
l_result.uncovered_lines := l_result.uncovered_lines + src_object.lines_count;
213-
l_result.objects(src_object.full_name).uncovered_lines := src_object.lines_count;
214-
else
215-
loop
216-
exit when line_no is null;
217-
218-
if l_line_calls(line_no) > 0 then
219-
l_result.covered_lines := l_result.covered_lines + 1;
220-
l_result.executions := l_result.executions + l_line_calls(line_no);
221-
l_result.objects(src_object.full_name).covered_lines := l_result.objects(src_object.full_name).covered_lines + 1;
222-
l_result.objects(src_object.full_name).executions := l_result.objects(src_object.full_name).executions + l_line_calls(line_no);
223-
elsif l_line_calls(line_no) = 0 then
224-
l_result.uncovered_lines := l_result.uncovered_lines + 1;
225-
l_result.objects(src_object.full_name).uncovered_lines := l_result.objects(src_object.full_name).uncovered_lines + 1;
226-
end if;
227-
l_result.objects(src_object.full_name).lines(line_no) := l_line_calls(line_no);
228-
229-
line_no := l_line_calls.next(line_no);
230-
end loop;
202+
--if there are no file mappings or object was actually captured by profiler
203+
if a_coverage_options.file_mappings is null or l_line_calls.count > 0 then
204+
if not l_result.objects.exists(src_object.full_name) then
205+
l_result.objects(src_object.full_name) := l_new_unit;
206+
l_result.objects(src_object.full_name).owner := src_object.owner;
207+
l_result.objects(src_object.full_name).name := src_object.name;
208+
end if;
209+
l_result.total_lines := l_result.total_lines + src_object.lines_count;
210+
l_result.objects(src_object.full_name).total_lines := src_object.lines_count;
211+
--map to results
212+
line_no := l_line_calls.first;
213+
if line_no is null then
214+
l_result.uncovered_lines := l_result.uncovered_lines + src_object.lines_count;
215+
l_result.objects(src_object.full_name).uncovered_lines := src_object.lines_count;
216+
else
217+
loop
218+
exit when line_no is null;
219+
220+
if l_line_calls(line_no) > 0 then
221+
l_result.covered_lines := l_result.covered_lines + 1;
222+
l_result.executions := l_result.executions + l_line_calls(line_no);
223+
l_result.objects(src_object.full_name).covered_lines := l_result.objects(src_object.full_name).covered_lines + 1;
224+
l_result.objects(src_object.full_name).executions := l_result.objects(src_object.full_name).executions + l_line_calls(line_no);
225+
elsif l_line_calls(line_no) = 0 then
226+
l_result.uncovered_lines := l_result.uncovered_lines + 1;
227+
l_result.objects(src_object.full_name).uncovered_lines := l_result.objects(src_object.full_name).uncovered_lines + 1;
228+
end if;
229+
l_result.objects(src_object.full_name).lines(line_no) := l_line_calls(line_no);
230+
231+
line_no := l_line_calls.next(line_no);
232+
end loop;
233+
end if;
231234
end if;
232235

233236

0 commit comments

Comments
 (0)