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

Skip to content

Commit 08f35df

Browse files
committed
Resolves #393 and #394 and #367
1 parent eab7ad9 commit 08f35df

4 files changed

Lines changed: 66 additions & 17 deletions

File tree

source/core/ut_suite_manager.pkb

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -351,18 +351,34 @@ create or replace package body ut_suite_manager is
351351
l_schema_ut_packages ut_object_names := ut_object_names();
352352
l_schema_suites tt_schema_suites;
353353
l_iter varchar2(4000);
354+
procedure populate_suite_ut_packages(a_suite ut_logical_suite, a_packages in out nocopy ut_object_names) is
355+
l_sub_suite ut_logical_suite;
356+
begin
357+
if a_packages is null then
358+
a_packages := ut_object_names();
359+
end if;
360+
if a_suite is of (ut_suite) then
361+
a_packages.extend;
362+
a_packages(a_packages.last) := ut_object_name(a_suite.object_owner, a_suite.object_name);
363+
end if;
364+
for i in 1 .. a_suite.items.count loop
365+
if a_suite.items(i) is of (ut_logical_suite) then
366+
l_sub_suite := treat(a_suite.items(i) as ut_logical_suite);
367+
populate_suite_ut_packages(l_sub_suite, a_packages);
368+
end if;
369+
end loop;
370+
end;
354371
begin
355372
if a_schema_names is not null then
356373
for i in 1 .. a_schema_names.count loop
357374
l_schema_suites := get_schema_suites(a_schema_names(i));
358375
l_iter := l_schema_suites.first;
359376
while l_iter is not null loop
360-
l_schema_ut_packages.extend;
361-
l_schema_ut_packages(l_schema_ut_packages.last) := ut_object_name(l_schema_suites(l_iter).object_owner, l_schema_suites(l_iter).object_name);
377+
populate_suite_ut_packages(l_schema_suites(l_iter), l_schema_ut_packages);
362378
l_iter := l_schema_suites.next(l_iter);
363379
end loop;
364380
end loop;
365-
-- l_schema_ut_packages := set(l_schema_ut_packages);
381+
l_schema_ut_packages := set(l_schema_ut_packages);
366382
end if;
367383

368384
return l_schema_ut_packages;

tests/RunAll.sql

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ exec ut_coverage.coverage_start_develop();
259259
@@lib/RunTest.sql ut_utils/ut_utils.to_string.veryBigVarchar2.sql
260260
@@lib/RunTest.sql ut_utils/ut_utils.to_string.verySmallNumber.sql
261261

262-
262+
@@lib/RunTest.sql ut_suite_manager/ut_suite_manager.get_schema_ut_packages.IncludesPackagesWithSutePath.sql
263263
--Finally
264264
@@lib/RunSummary
265265

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
1-
CREATE OR REPLACE PACKAGE ut3$user#.html_coverage_test IS
1+
create or replace package ut3$user#.html_coverage_test is
22

33
-- Author : LUW07
44
-- Created : 23/05/2017 09:37:29
55
-- Purpose : Supporting html coverage procedure
66

77
-- Public type declarations
8-
PROCEDURE run_if_statment(o_result OUT NUMBER);
9-
END HTML_COVERAGE_TEST;
8+
procedure run_if_statment(o_result out number);
9+
end html_coverage_test;
1010
/
11-
CREATE OR REPLACE PACKAGE BODY ut3$user#.html_coverage_test IS
11+
create or replace package body ut3$user#.html_coverage_test is
1212

1313
-- Private type declarations
14-
PROCEDURE run_if_statment(o_result OUT NUMBER) IS
15-
l_testedvalue NUMBER := 1;
16-
l_success NUMBER := 0;
17-
BEGIN
18-
IF l_testedvalue = 1 THEN
14+
procedure run_if_statment(o_result out number) is
15+
l_testedvalue number := 1;
16+
l_success number := 0;
17+
begin
18+
if l_testedvalue = 1 then
1919
l_success := 1;
20-
END IF;
21-
20+
end if;
21+
2222
o_result := l_success;
23-
END run_if_statment;
24-
END HTML_COVERAGE_TEST;
23+
end run_if_statment;
24+
end html_coverage_test;
2525
/
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
-- set termout off
2+
-- create or replace package tests as
3+
-- procedure dummy;
4+
-- end;
5+
-- /
6+
-- set termout on
7+
8+
declare
9+
l_expected ut_object_names;
10+
l_actual ut_object_names;
11+
begin
12+
l_expected := ut_object_names(
13+
ut_object_name(user,'TEST_PACKAGE_1'),
14+
ut_object_name(user,'TEST_PACKAGE_2'),
15+
ut_object_name(user,'TEST_PACKAGE_3'),
16+
ut_object_name(user,'TEST_REPORTERS_1'),
17+
ut_object_name(user,'TEST_REPORTERS')
18+
);
19+
l_actual := ut_suite_manager.get_schema_ut_packages(ut_varchar2_list(user));
20+
if l_actual = l_expected then
21+
:test_result := ut_utils.tr_success;
22+
else
23+
dbms_output.put_line('actual:'||xmltype(anydata.convertcollection(l_actual)).getclobval());
24+
dbms_output.put_line('expected:'||xmltype(anydata.convertcollection(l_expected)).getclobval());
25+
end if;
26+
end;
27+
/
28+
29+
-- set termout off
30+
-- drop package tests
31+
-- /
32+
-- set termout on
33+
--

0 commit comments

Comments
 (0)