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

Skip to content

Commit 055d2de

Browse files
Fixes #818 - composite items (item is either a suite or test)
1 parent a3c0480 commit 055d2de

3 files changed

Lines changed: 46 additions & 2 deletions

File tree

source/reporters/ut_realtime_reporter.tpb

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,25 +57,27 @@ create or replace type body ut_realtime_reporter is
5757
self.print_node('name', a_suite.name);
5858
self.print_node('description', a_suite.description);
5959
<<suite_elements>>
60+
self.print_start_node('items');
6061
for i in 1 .. a_suite.items.count loop
6162
if a_suite.items(i) is of(ut_test) then
6263
print_test_elements(treat(a_suite.items(i) as ut_test));
6364
elsif a_suite.items(i) is of(ut_logical_suite) then
6465
print_suite_elements(treat(a_suite.items(i) as ut_logical_suite));
6566
end if;
6667
end loop suite_elements;
68+
self.print_end_node('items');
6769
self.print_end_node('suite');
6870
end print_suite_elements;
6971
begin
7072
xml_header := ut_utils.get_xml_header(a_run.client_character_set);
7173
self.print_xml_fragment(xml_header);
7274
self.print_start_node('event', 'type', 'pre-run');
73-
self.print_start_node('suites');
75+
self.print_start_node('items');
7476
<<items>>
7577
for i in 1 .. a_run.items.count loop
7678
print_suite_elements(treat(a_run.items(i) as ut_logical_suite));
7779
end loop items;
78-
self.print_end_node('suites');
80+
self.print_end_node('items');
7981
self.print_node('totalNumberOfTests', to_char(total_number_of_tests));
8082
self.print_end_node('event');
8183
self.flush_print_buffer('pre-run');

test/core/reporters/test_realtime_reporter.pkb

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,45 @@ create or replace package body test_realtime_reporter as
153153
select 'post-run' as event_type, null as item_id from dual;
154154
ut.expect(l_actual).to_equal(l_expected);
155155
end xml_report_structure;
156+
157+
procedure pre_run_composite_nodes is
158+
l_actual sys_refcursor;
159+
l_expected sys_refcursor;
160+
begin
161+
open l_actual for
162+
select x.node_path
163+
from table(g_events) t,
164+
xmltable(
165+
q'[
166+
for $i in //(event|items|suite|test)
167+
return <result>{$i/string-join(ancestor-or-self::*/name(.), '/')}</result>
168+
]'
169+
passing t.event_doc
170+
columns node_path varchar2(128) path '.'
171+
) x
172+
where event_type = 'pre-run';
173+
open l_expected for
174+
select 'event' as node_path from dual union all
175+
select 'event/items' as node_path from dual union all
176+
select 'event/items/suite' as node_path from dual union all
177+
select 'event/items/suite/items' as node_path from dual union all
178+
select 'event/items/suite/items/suite' as node_path from dual union all
179+
select 'event/items/suite/items/suite/items' as node_path from dual union all
180+
select 'event/items/suite/items/suite/items/test' as node_path from dual union all
181+
select 'event/items/suite/items/suite/items/test' as node_path from dual union all
182+
select 'event/items/suite/items/suite' as node_path from dual union all
183+
select 'event/items/suite/items/suite/items' as node_path from dual union all
184+
select 'event/items/suite/items/suite/items/test' as node_path from dual union all
185+
select 'event/items/suite/items/suite/items/test' as node_path from dual union all
186+
select 'event/items/suite/items/suite/items/test' as node_path from dual union all
187+
select 'event/items/suite/items/suite' as node_path from dual union all
188+
select 'event/items/suite/items/suite/items' as node_path from dual union all
189+
select 'event/items/suite/items/suite/items/suite' as node_path from dual union all
190+
select 'event/items/suite/items/suite/items/suite/items' as node_path from dual union all
191+
select 'event/items/suite/items/suite/items/suite/items/test' as node_path from dual union all
192+
select 'event/items/suite/items/suite/items/suite/items/test' as node_path from dual;
193+
ut.expect(l_actual).to_equal(l_expected);
194+
end pre_run_composite_nodes;
156195

157196
procedure total_number_of_tests is
158197
l_actual integer;

test/core/reporters/test_realtime_reporter.pks

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@ create or replace package test_realtime_reporter as
1212
--%test(Provide the total number of tests as part of the pre-run information structure)
1313
procedure total_number_of_tests;
1414

15+
--%test(Provide composite structure for items, an item is either a suite or a test, suites may have nested items)
16+
procedure pre_run_composite_nodes;
17+
1518
--%test(Provide the execution time as part of the post-run information structure)
1619
procedure execution_time_of_run;
1720

0 commit comments

Comments
 (0)