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

Skip to content

Commit 8b29e35

Browse files
authored
Merge branch 'develop' into feature/dbms_applicaiton_info
2 parents c067bb6 + d774b7f commit 8b29e35

16 files changed

Lines changed: 129 additions & 126 deletions

source/reporters/ut_sonar_test_reporter.tpb

Lines changed: 60 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -24,61 +24,75 @@ create or replace type body ut_sonar_test_reporter is
2424
return;
2525
end;
2626

27-
overriding member procedure before_calling_run(self in out nocopy ut_sonar_test_reporter, a_run in ut_run) is
28-
begin
29-
self.file_mappings := coalesce(a_run.test_file_mappings,ut_file_mappings());
30-
self.print_text('<testExecutions version="1">');
31-
end;
27+
overriding member procedure after_calling_run(self in out nocopy ut_sonar_test_reporter, a_run in ut_run) is
3228

33-
overriding member procedure before_calling_suite(self in out nocopy ut_sonar_test_reporter, a_suite ut_logical_suite) is
29+
function map_package_to_file(a_suite ut_suite, a_file_mappings ut_file_mappings) return varchar2 is
3430
l_file_name varchar2(4000);
35-
begin
36-
for i in 1 .. self.file_mappings.count loop
37-
if upper(self.file_mappings(i).object_name) = upper(a_suite.object_name)
38-
and upper(self.file_mappings(i).object_owner) = upper(a_suite.object_owner) then
39-
l_file_name := self.file_mappings(i).file_name;
40-
exit;
31+
begin
32+
if a_file_mappings is not null then
33+
for i in 1 .. a_file_mappings.count loop
34+
if upper(a_file_mappings(i).object_name) = upper(a_suite.object_name)
35+
and upper(a_file_mappings(i).object_owner) = upper(a_suite.object_owner) then
36+
l_file_name := a_file_mappings(i).file_name;
37+
exit;
38+
end if;
39+
end loop;
4140
end if;
42-
end loop;
43-
l_file_name := coalesce(l_file_name, a_suite.path);
44-
self.print_text('<file path="'||l_file_name||'">');
45-
end;
41+
return coalesce(l_file_name, a_suite.path);
42+
end;
4643

47-
overriding member procedure after_calling_test(self in out nocopy ut_sonar_test_reporter, a_test ut_test) is
48-
l_message varchar2(32757);
49-
l_lines ut_varchar2_list;
50-
begin
51-
self.print_text('<testCase name="'||a_test.name||'" duration="'||round(a_test.execution_time()*1000,0)||'" >');
52-
if a_test.result = ut_utils.tr_disabled then
53-
self.print_text('<skipped message="skipped"/>');
54-
elsif a_test.result = ut_utils.tr_error then
55-
self.print_text('<error message="encountered errors">');
56-
self.print_text('<![CDATA[');
57-
self.print_clob(ut_utils.table_to_clob(a_test.get_error_stack_traces()));
58-
self.print_text(']]>');
59-
self.print_text('</error>');
60-
elsif a_test.result > ut_utils.tr_success then
61-
self.print_text('<failure message="some expectations have failed">');
62-
self.print_text('<![CDATA[');
63-
for i in 1 .. a_test.results.count loop
64-
l_lines := a_test.results(i).get_result_lines();
65-
for i in 1 .. l_lines.count loop
66-
self.print_text(l_lines(i));
44+
procedure print_test_results(a_test ut_test) is
45+
l_lines ut_varchar2_list;
46+
begin
47+
self.print_text('<testCase name="'||a_test.name||'" duration="'||round(a_test.execution_time()*1000,0)||'" >');
48+
if a_test.result = ut_utils.tr_disabled then
49+
self.print_text('<skipped message="skipped"/>');
50+
elsif a_test.result = ut_utils.tr_error then
51+
self.print_text('<error message="encountered errors">');
52+
self.print_text('<![CDATA[');
53+
self.print_clob(ut_utils.table_to_clob(a_test.get_error_stack_traces()));
54+
self.print_text(']]>');
55+
self.print_text('</error>');
56+
elsif a_test.result > ut_utils.tr_success then
57+
self.print_text('<failure message="some expectations have failed">');
58+
self.print_text('<![CDATA[');
59+
for i in 1 .. a_test.results.count loop
60+
l_lines := a_test.results(i).get_result_lines();
61+
for i in 1 .. l_lines.count loop
62+
self.print_text(l_lines(i));
63+
end loop;
6764
end loop;
65+
self.print_text(']]>');
66+
self.print_text('</failure>');
67+
end if;
68+
self.print_text('</testCase>');
69+
end;
70+
71+
procedure print_suite_results(a_suite ut_logical_suite, a_file_mappings ut_file_mappings) is
72+
begin
73+
for i in 1 .. a_suite.items.count loop
74+
if a_suite.items(i) is of(ut_logical_suite) then
75+
print_suite_results(treat(a_suite.items(i) as ut_logical_suite), a_file_mappings);
76+
end if;
6877
end loop;
69-
self.print_text(']]>');
70-
self.print_text('</failure>');
71-
end if;
72-
self.print_text('</testCase>');
73-
end;
78+
if a_suite is of(ut_suite) then
79+
self.print_text('<file path="'||map_package_to_file(treat(a_suite as ut_suite), a_file_mappings)||'">');
7480

75-
overriding member procedure after_calling_suite(self in out nocopy ut_sonar_test_reporter, a_suite ut_logical_suite) is
76-
begin
77-
self.print_text('</file>');
78-
end;
81+
for i in 1 .. a_suite.items.count loop
82+
if a_suite.items(i) is of(ut_test) then
83+
print_test_results(treat(a_suite.items(i) as ut_test));
84+
end if;
85+
end loop;
86+
self.print_text('</file>');
87+
end if;
88+
end;
7989

80-
overriding member procedure after_calling_run(self in out nocopy ut_sonar_test_reporter, a_run in ut_run) is
8190
begin
91+
self.print_text('<testExecutions version="1">');
92+
for i in 1 .. a_run.items.count loop
93+
print_suite_results(treat(a_run.items(i) as ut_logical_suite), a_run.test_file_mappings);
94+
end loop;
95+
8296
self.print_text('</testExecutions>');
8397
end;
8498

source/reporters/ut_sonar_test_reporter.tps

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,11 @@ create or replace type ut_sonar_test_reporter under ut_reporter_base(
1515
See the License for the specific language governing permissions and
1616
limitations under the License.
1717
*/
18-
file_mappings ut_file_mappings,
1918

2019
constructor function ut_sonar_test_reporter(
2120
self in out nocopy ut_sonar_test_reporter
2221
) return self as result,
2322

24-
overriding member procedure before_calling_run(self in out nocopy ut_sonar_test_reporter, a_run in ut_run),
25-
overriding member procedure before_calling_suite(self in out nocopy ut_sonar_test_reporter, a_suite ut_logical_suite),
26-
overriding member procedure after_calling_test(self in out nocopy ut_sonar_test_reporter, a_test ut_test),
27-
overriding member procedure after_calling_suite(self in out nocopy ut_sonar_test_reporter, a_suite ut_logical_suite),
2823
overriding member procedure after_calling_run(self in out nocopy ut_sonar_test_reporter, a_run in ut_run)
2924
)
3025
not final

source/reporters/ut_teamcity_reporter.tpb

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,20 @@ create or replace type body ut_teamcity_reporter is
2424

2525
overriding member procedure before_calling_suite(self in out nocopy ut_teamcity_reporter, a_suite in ut_logical_suite) is
2626
begin
27-
self.print_text(ut_teamcity_reporter_helper.test_suite_started(a_suite_name => nvl(replace(trim(a_suite.description)
28-
,'.')
29-
,a_suite.name)));
27+
self.print_text(
28+
ut_teamcity_reporter_helper.test_suite_started(
29+
a_suite_name => nvl(replace(trim(a_suite.description),'.'),a_suite.path)
30+
)
31+
);
3032
end;
3133

3234
overriding member procedure after_calling_suite(self in out nocopy ut_teamcity_reporter, a_suite in ut_logical_suite) is
3335
begin
34-
self.print_text(ut_teamcity_reporter_helper.test_suite_finished(a_suite_name => nvl(replace(trim(a_suite.description)
35-
,'.')
36-
,a_suite.name)));
36+
self.print_text(
37+
ut_teamcity_reporter_helper.test_suite_finished(
38+
a_suite_name => nvl(replace(trim(a_suite.description),'.'),a_suite.path)
39+
)
40+
);
3741
end;
3842

3943
overriding member procedure before_calling_test(self in out nocopy ut_teamcity_reporter, a_test in ut_test) is
@@ -43,8 +47,12 @@ create or replace type body ut_teamcity_reporter is
4347
l_test_full_name := lower(a_test.item.owner_name) || '.' || lower(a_test.item.object_name) || '.' ||
4448
lower(a_test.item.procedure_name);
4549

46-
self.print_text(ut_teamcity_reporter_helper.test_started(a_test_name => l_test_full_name
47-
,a_capture_standard_output => true));
50+
self.print_text(
51+
ut_teamcity_reporter_helper.test_started(
52+
a_test_name => l_test_full_name,
53+
a_capture_standard_output => true
54+
)
55+
);
4856

4957
end;
5058

@@ -53,8 +61,6 @@ create or replace type body ut_teamcity_reporter is
5361
l_test_full_name varchar2(4000);
5462
l_std_err_msg varchar2(32767);
5563
begin
56-
-- l_test_full_name := self.suite_names_stack(self.suite_names_stack.last) || ':' ||
57-
-- nvl(replace(a_test.description, '.'), a_test.name);
5864
l_test_full_name := lower(a_test.item.owner_name) || '.' || lower(a_test.item.object_name) || '.' ||
5965
lower(a_test.item.procedure_name);
6066

source/reporters/ut_teamcity_reporter_helper.pkb

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -45,22 +45,6 @@ create or replace package body ut_teamcity_reporter_helper is
4545

4646
end message;
4747

48-
-- function block_opened(a_name varchar2, a_flow_id varchar2 default null) return varchar2 is
49-
-- l_props t_props;
50-
-- begin
51-
-- l_props('name') := a_name;
52-
-- l_props('flowId') := a_flow_id;
53-
-- return message('blockOpened', l_props);
54-
-- end;
55-
--
56-
-- function block_closed(a_name varchar2, a_flow_id varchar2 default null) return varchar2 is
57-
-- l_props t_props;
58-
-- begin
59-
-- l_props('name') := a_name;
60-
-- l_props('flowId') := a_flow_id;
61-
-- return message('blockClosed', l_props);
62-
-- end;
63-
--
6448
function test_suite_started(a_suite_name varchar2, a_flow_id varchar2 default null) return varchar2 is
6549
l_props t_props;
6650
begin
@@ -123,14 +107,7 @@ create or replace package body ut_teamcity_reporter_helper is
123107

124108
return message('testFailed', l_props);
125109
end;
126-
-- function test_std_out(a_test_name varchar2, a_out in varchar2, a_flow_id in varchar2 default null) return varchar2 is
127-
-- l_props t_props;
128-
-- begin
129-
-- l_props('name') := a_test_name;
130-
-- l_props('out') := a_out;
131-
-- l_props('flowId') := a_flow_id;
132-
-- return message('testStdOut', l_props);
133-
-- end;
110+
134111
function test_std_err(a_test_name varchar2, a_out in varchar2, a_flow_id in varchar2 default null) return varchar2 is
135112
l_props t_props;
136113
begin
@@ -140,15 +117,5 @@ create or replace package body ut_teamcity_reporter_helper is
140117
return message('testStdErr', l_props);
141118
end;
142119

143-
-- function custom_message(a_text in varchar2, a_status in varchar2, a_error_deatils in varchar2 default null, a_flow_id in varchar2 default null) return varchar2 is
144-
-- l_props t_props;
145-
-- begin
146-
-- l_props('text') := a_text;
147-
-- l_props('status') := a_status;
148-
-- l_props('errorDetails') := a_error_deatils;
149-
-- l_props('flowId') := a_flow_id;
150-
-- return message('message', l_props);
151-
-- end;
152-
153120
end ut_teamcity_reporter_helper;
154121
/

source/reporters/ut_teamcity_reporter_helper.pks

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,14 @@ create or replace package ut_teamcity_reporter_helper is
1616
limitations under the License.
1717
*/
1818

19-
-- function block_opened(a_name varchar2, a_flow_id varchar2 default null) return varchar2;
20-
-- function block_closed(a_name varchar2, a_flow_id varchar2 default null) return varchar2;
21-
2219
function test_suite_started(a_suite_name varchar2, a_flow_id varchar2 default null) return varchar2;
2320
function test_suite_finished(a_suite_name varchar2, a_flow_id varchar2 default null) return varchar2;
2421

2522
function test_started(a_test_name varchar2, a_capture_standard_output boolean default null, a_flow_id varchar2 default null) return varchar2;
2623
function test_finished(a_test_name varchar2, a_test_duration_milisec number default null, a_flow_id varchar2 default null) return varchar2;
2724
function test_disabled(a_test_name varchar2, a_flow_id varchar2 default null) return varchar2;
2825
function test_failed(a_test_name varchar2, a_msg in varchar2 default null, a_details varchar2 default null, a_flow_id varchar2 default null, a_actual varchar2 default null, a_expected varchar2 default null) return varchar2;
29-
-- function test_std_out(a_test_name varchar2, a_out in varchar2, a_flow_id in varchar2 default null) return varchar2;
3026
function test_std_err(a_test_name varchar2, a_out in varchar2, a_flow_id in varchar2 default null) return varchar2;
3127

32-
-- function custom_message(a_text in varchar2, a_status in varchar2, a_error_deatils in varchar2 default null, a_flow_id in varchar2 default null) return varchar2;
33-
3428
end ut_teamcity_reporter_helper;
3529
/

tests/helpers/test_reporters.pks

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
create or replace package test_reporters
22
as
33
--%suite(A suite for testing different outcomes from reporters)
4-
4+
--%suitepath(org.utplsql.utplsql.test)
55
--%beforeall
66
procedure beforeall;
77

tests/helpers/test_reporters_1.pks

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
create or replace package test_reporters_1
22
as
33
--%suite(A suite for testing html coverage options)
4-
4+
--%suitepath(org.utplsql.utplsql.test.test_reporters)
5+
56
--%test(a test calling package outside schema)
67
procedure diffrentowner_test;
78

tests/ut/ut.run.AcceptsSutePaths.sql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ begin
88
dbms_output.get_lines( l_output_data, l_num_lines);
99

1010
for i in 1 .. l_num_lines loop
11-
if l_output_data(i) like '%Finished %''test\_package\_1''%' escape '\'
12-
or l_output_data(i) like '%Finished %''test_package_2''%'
13-
or l_output_data(i) like '%Finished %''test_package_3''%' then
11+
if l_output_data(i) like '%Finished %''%test\_package\_1''%' escape '\'
12+
or l_output_data(i) like '%Finished %''%test_package_2''%'
13+
or l_output_data(i) like '%Finished %''%test_package_3''%' then
1414
l_packages_executed := l_packages_executed + 1;
1515
end if;
1616
end loop;

tests/ut/ut.run.WithGivenReporter.ExectutesAllInCurrentSchemaUsingReporter.sql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ begin
88
dbms_output.get_lines( l_output_data, l_num_lines);
99

1010
for i in 1 .. l_num_lines loop
11-
if l_output_data(i) like '%Finished %''test\_package\_1''%' escape '\'
12-
or l_output_data(i) like '%Finished %''test_package_2''%'
13-
or l_output_data(i) like '%Finished %''test_package_3''%' then
11+
if l_output_data(i) like '%Finished %''%test\_package\_1''%' escape '\'
12+
or l_output_data(i) like '%Finished %''%test_package_2''%'
13+
or l_output_data(i) like '%Finished %''%test_package_3''%' then
1414
l_packages_executed := l_packages_executed + 1;
1515
end if;
1616
end loop;

tests/ut/ut.run.function.AcceptsSutePaths.sql

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@ begin
77
from table(ut.run(ut_varchar2_list('test_package_1','test_package_3'),ut_teamcity_reporter()));
88

99
for i in 1 .. l_output_data.count loop
10-
if l_output_data(i) like '%Finished %''test\_package\_1''%' escape '\'
11-
or l_output_data(i) like '%Finished %''test_package_2''%'
12-
or l_output_data(i) like '%Finished %''test_package_3''%' then
10+
if l_output_data(i) like '%Finished %''%test\_package\_1''%' escape '\'
11+
or l_output_data(i) like '%Finished %''%test_package_2''%'
12+
or l_output_data(i) like '%Finished %''%test_package_3''%' then
1313
l_packages_executed := l_packages_executed + 1;
1414
end if;
1515
end loop;

0 commit comments

Comments
 (0)