Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
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
2 changes: 2 additions & 0 deletions source/core/annotations/ut_annotation_manager.pkb
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ create or replace package body ut_annotation_manager as
and s.type = r.object_type
where s.owner = ']'||ut_utils.qualified_sql_name(a_object_owner)||q'['
and s.type = ']'||ut_utils.qualified_sql_name(a_object_type)||q'['
and s.origin_con_id = sys_context('userenv', 'con_id')
) x
where x.is_annotated = 'Y'
order by x.name, x.line]'
Expand Down Expand Up @@ -268,6 +269,7 @@ create or replace package body ut_annotation_manager as
where s.type = :a_object_type
and s.owner = :a_object_owner
and s.name = :a_object_name
and s.origin_con_id = sys_context('userenv', 'con_id')
order by s.line]'
using a_object_name, a_object_type, a_object_owner, a_object_name;
return l_result;
Expand Down
5 changes: 3 additions & 2 deletions source/core/coverage/ut_coverage.pkb
Original file line number Diff line number Diff line change
Expand Up @@ -55,10 +55,11 @@ create or replace package body ut_coverage is
s.text
from {sources_view} s {join_file_mappings}
where s.type in ('PACKAGE BODY', 'TYPE BODY', 'PROCEDURE', 'FUNCTION', 'TRIGGER')
and s.origin_con_id = sys_context('userenv', 'con_id')
{filters}
{regex_exc_filters}
and not exists (
select /*+ cardinality(el {excuded_objects_cardinality})*/ 1
select /*+ cardinality(el {excluded_objects_cardinality})*/ 1
from table(:l_excluded_objects) el
where s.owner = el.owner and s.name = el.name
)
Expand Down Expand Up @@ -152,7 +153,7 @@ create or replace package body ut_coverage is
l_result := replace(l_result, '{filters}', l_filters);
l_result := replace(l_result, '{mappings_cardinality}', l_mappings_cardinality);
l_result := replace(l_result, '{skipped_objects_cardinality}', ut_utils.scale_cardinality(cardinality(a_skip_objects)));
l_result := replace(l_result, '{excuded_objects_cardinality}', ut_utils.scale_cardinality(cardinality(coalesce(a_coverage_options.exclude_objects, ut_object_names()))));
l_result := replace(l_result, '{excluded_objects_cardinality}', ut_utils.scale_cardinality(cardinality(coalesce(a_coverage_options.exclude_objects, ut_object_names()))));
l_result := replace(l_result, '{regex_exc_filters}', l_regex_exc_filters);

return l_result;
Expand Down
21 changes: 21 additions & 0 deletions test/ut3_user/reporters/test_coverage/test_proftab_coverage.pkb
Original file line number Diff line number Diff line change
Expand Up @@ -207,5 +207,26 @@ create or replace package body test_proftab_coverage is
ut.expect(l_actual).to_be_like(coverage_helper.substitute_covered_package(l_expected));
end;

procedure no_issue_with_duplicate_source is
l_actual clob;
begin
--Act
l_actual :=
ut3_tester_helper.coverage_helper.run_tests_as_job(
coverage_helper.substitute_covered_package(
q'[
ut3_develop.ut.run(
'ut3_develop.test_dummy_coverage.zero_coverage',
ut3_develop.ut_coverage_sonar_reporter(),
a_include_schema_expr =>'SYS'
)
]'
)
);

--Running above line is successful if there is no exception thrown due to duplicate lines in coverage
ut.expect(l_actual).not_to_be_null();
end;

end;
/
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,8 @@ create or replace package test_proftab_coverage is
--%test(reports zero coverage on each line of non-executed database object - Issue #917)
procedure report_zero_coverage;

--%test(Allows reporting coverage on objects across SYS or MDSYS without errors - Issue #1323 )
procedure no_issue_with_duplicate_source;

end;
/
Loading