8000 Exclude Unit Test packages from coverage · utPLSQL/utPLSQL@7d897a8 · GitHub
[go: up one dir, main page]

Skip to content

Commit 7d897a8

Browse files
committed
Exclude Unit Test packages from coverage
1 parent 0e43e7b commit 7d897a8

File tree

4 files changed

+19
-10
lines changed

4 files changed

+19
-10
lines changed

source/core/coverage/ut_coverage.pkb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ create or replace package body ut_coverage is
167167
begin
168168
if not is_develop_mode() then
169169
--skip all the utplsql framework objects and all the unit test packages that could potentially be reported by coverage.
170-
l_skip_objects := coalesce( ut_utils.get_utplsql_objects_list() multiset union all ut_suite_manager.get_schema_ut_packages(a_coverage_options.schema_names) , ut_object_names() );
170+
l_skip_objects := coalesce( ut_utils.get_utplsql_objects_list() multiset union all ut_suite_manager.get_schema_ut_packages(a_coverage_options.schema_names, a_coverage_options.include_schema_expr) , ut_object_names() );
171171
end if;
172172

173173
--Regex exclusion override the standard exclusion objects.

source/core/ut_suite_manager.pkb

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -493,13 +493,21 @@ create or replace package body ut_suite_manager is
493493
return l_suites;
494494
end;
495495

496-
function get_schema_ut_packages(a_schema_names ut_varchar2_rows) return ut_object_names is
496+
function get_schema_ut_packages(a_schema_names ut_varchar2_rows, a_schema_name_expr varchar2) return ut_object_names is
497+
l_schema_names ut_varchar2_rows := a_schema_names;
497498
begin
498-
for i in 1 .. a_schema_names.count loop
499-
refresh_cache(a_schema_names(i));
499+
if a_schema_name_expr is not null then
500+
select username
501+
bulk collect into l_schema_names
502+
from all_users
503+
where regexp_like(username,a_schema_name_expr,'i');
504+
end if;
505+
506+
for i in 1 .. l_schema_names.count loop
507+
refresh_cache(l_schema_names(i));
500508
end loop;
501509

502-
return ut_suite_cache_manager.get_cached_packages( a_schema_names );
510+
return ut_suite_cache_manager.get_cached_packages( l_schema_names );
503511
end;
504512

505513
function get_schema_names(a_paths ut_varchar2_list) return ut_varchar2_rows is

source/core/ut_suite_manager.pks

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ create or replace package ut_suite_manager authid current_user is
3030
* @param a_schema_names list of schemas to return the information for
3131
* @return array containing unit test schema and object names
3232
*/
33-
function get_schema_ut_packages(a_schema_names ut_varchar2_rows) return ut_object_names;
33+
function get_schema_ut_packages(a_schema_names ut_varchar2_rows, a_schema_name_expr varchar2) return ut_object_names;
3434

3535
/**
3636
* Builds a hierarchical suites based on given suite-paths

test/ut3_user/reporters/test_coverage/test_extended_coverage.pkb

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -112,9 +112,9 @@ create or replace package body test_extended_coverage is
112112
l_actual clob;
113113
begin
114114
--Arrange
115-
l_expected := '%<file path="package body ut3_develop.regex_dummy_cov">' ||
115+
l_expected := '%<file path="package body ut3_tester_helper.regex_dummy_cov">' ||
116116
'%<lineToCover lineNumber="4" covered="true"%/>%';
117-
l_not_expected := '%<file path="package body ut3_tester_helper.regex_dummy_cov">' ||
117+
l_not_expected := '%<file path="package body ut3_develop.regex_dummy_cov">' ||
118118
'%<lineToCover lineNumber="4" covered="true"%/>%';
119119
--Act
120120
l_actual :=
@@ -123,14 +123,15 @@ create or replace package body test_extended_coverage is
123123
ut3_develop.ut.run(
124124
a_paths => ut3_develop.ut_varchar2_list('ut3_develop.test_regex_dummy_cov', 'ut3_tester_helper.test_regex_dummy_cov'),
125125
a_reporter=> ut3_develop.ut_coverage_sonar_reporter( ),
126-
a_include_schema_expr => '^ut3_develop',
127-
a_include_objects => ut3_develop.ut_varchar2_list( 'ut3_tester_helper.regex_dummy_cov' )
126+
a_include_schema_expr => '^ut3_tester_hel.*',
127+
a_include_objects => ut3_develop.ut_varchar2_list( 'ut3_develop.regex_dummy_cov' )
128128
)
129129
]'
130130
);
131131
--Assert
132132
ut.expect(l_actual).to_be_like(l_expected);
133133
ut.expect(l_actual).not_to_be_like(l_not_expected);
134+
ut.expect(l_actual).not_to_be_like('%ut3_tester_helper.test_regex_dummy_cov%');
134135
end;
135136

136137
procedure coverage_regex_include_object is

0 commit comments

Comments
 (0)
0