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

Skip to content

Commit 14bdb07

Browse files
authored
Merge pull request #449 from utPLSQL/feature/remove_pessimistic_coverage_on_project
Changed the way coverage is gathered on project files.
2 parents 093006d + 222d444 commit 14bdb07

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)