Skip to content

Commit 8903c51

Browse files
committed
Update to junit reporter, remove synonym and wrap xunit under junit.
Move old tests into new structure.
1 parent 366d209 commit 8903c51

19 files changed

Lines changed: 391 additions & 191 deletions

old_tests/RunAll.sql

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -83,12 +83,9 @@ exec ut_coverage.coverage_start_develop();
8383
@@lib/RunTest.sql ut_reporters/ut_sonar_test_reporter.AcceptsFileMapping.sql
8484
@@lib/RunTest.sql ut_reporters/ut_sonar_test_reporter.ProducesExpectedOutputs.sql
8585
@@lib/RunTest.sql ut_reporters/ut_teamcity_reporter.ProducesExpectedOutputs.sql
86-
@@lib/RunTest.sql ut_reporters/ut_junit_reporter.ProducesExpectedOutputs.sql
8786
@@lib/RunTest.sql ut_reporters/ut_html_reporter.UserOverrideSchemaCoverage.sql
8887
@@lib/RunTest.sql ut_reporters/ut_html_reporter.DefaultSchemaCoverage.sql
8988
@@lib/RunTest.sql ut_reporters/ut_documentation_reporter.reportMultipleWarnings.sql
90-
@@lib/RunTest.sql ut_reporters/ut_junit_reporter.ReportOnSuiteWithoutDesc.sql
91-
@@lib/RunTest.sql ut_reporters/ut_junit_reporter.ReportOnTestWithoutDesc.sql
9289
@@lib/RunTest.sql ut_reporters/ut_documentation_reporter.reportTestTiming.sql
9390

9491
@@lib/RunTest.sql ut/ut.run.AcceptsCoverageFileList.sql
@@ -436,9 +433,7 @@ begin
436433
'source/reporters/ut_teamcity_reporter.tpb',
437434
'source/reporters/ut_teamcity_reporter.tps',
438435
'source/reporters/ut_teamcity_reporter_helper.pkb',
439-
'source/reporters/ut_teamcity_reporter_helper.pks',
440-
'source/reporters/ut_junit_reporter.tpb',
441-
'source/reporters/ut_junit_reporter.tps');
436+
'source/reporters/ut_teamcity_reporter_helper.pks');
442437

443438
l_test_run := ut_run(a_items => ut_suite_items(), a_project_file_mappings => ut_file_mapper.build_file_mappings( user,l_project_file_list));
444439

old_tests/ut_reporters/ut_junit_reporter.ProducesExpectedOutputs.sql

Lines changed: 0 additions & 34 deletions
This file was deleted.

old_tests/ut_reporters/ut_junit_reporter.ReportOnSuiteWithoutDesc.sql

Lines changed: 0 additions & 51 deletions
This file was deleted.

old_tests/ut_reporters/ut_junit_reporter.ReportOnTestWithoutDesc.sql

Lines changed: 0 additions & 58 deletions
This file was deleted.

source/api/ut_xunit_reporter.syn

Lines changed: 0 additions & 1 deletion
This file was deleted.

source/create_synonyms_and_grants_for_public.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ grant execute on &&ut3_owner..ut_match to public;
4848
grant execute on &&ut3_owner..ut to public;
4949
grant execute on &&ut3_owner..ut_runner to public;
5050
grant execute on &&ut3_owner..ut_teamcity_reporter to public;
51+
grant execute on &&ut3_owner..ut_xunit_reporter to public;
5152
grant execute on &&ut3_owner..ut_junit_reporter to public;
5253
grant execute on &&ut3_owner..ut_tfs_junit_reporter to public;
5354
grant execute on &&ut3_owner..ut_documentation_reporter to public;

source/create_synonyms_and_grants_for_user.sql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ grant execute on &&ut3_owner..ut_match to &ut3_user;
6868
grant execute on &&ut3_owner..ut to &ut3_user;
6969
grant execute on &&ut3_owner..ut_runner to &ut3_user;
7070
grant execute on &&ut3_owner..ut_teamcity_reporter to &ut3_user;
71+
grant execute on &&ut3_owner..ut_xunit_reporter to &ut3_user;
7172
grant execute on &&ut3_owner..ut_junit_reporter to &ut3_user;
7273
grant execute on &&ut3_owner..ut_tfs_junit_reporter to &ut3_user;
7374
grant execute on &&ut3_owner..ut_documentation_reporter to &ut3_user;
@@ -127,7 +128,7 @@ create or replace synonym &ut3_user..match for &&ut3_owner..match;
127128
create or replace synonym &ut3_user..ut for &&ut3_owner..ut;
128129
create or replace synonym &ut3_user..ut_runner for &&ut3_owner..ut_runner;
129130
create or replace synonym &ut3_user..ut_teamcity_reporter for &&ut3_owner..ut_teamcity_reporter;
130-
create or replace synonym &ut3_user..ut_xunit_reporter for &&ut3_owner..ut_junit_reporter;
131+
create or replace synonym &ut3_user..ut_xunit_reporter for &&ut3_owner..ut_xunit_reporter;
131132
create or replace synonym &ut3_user..ut_junit_reporter for &&ut3_owner..ut_junit_reporter;
132133
create or replace synonym &ut3_user..ut_tfs_junit_reporter for &&ut3_owner..ut_tfs_junit_reporter;
133134
create or replace synonym &ut3_user..ut_documentation_reporter for &&ut3_owner..ut_documentation_reporter;

source/install.sql

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,8 @@ prompt Installing PLSQL profiler objects into &&ut3_owner schema
241241
@@install_component.sql 'reporters/ut_junit_reporter.tpb'
242242
@@install_component.sql 'reporters/ut_tfs_junit_reporter.tps'
243243
@@install_component.sql 'reporters/ut_tfs_junit_reporter.tpb'
244+
@@install_component.sql 'reporters/ut_xunit_reporter.tps'
245+
@@install_component.sql 'reporters/ut_xunit_reporter.tpb'
244246
@@install_component.sql 'reporters/ut_sonar_test_reporter.tps'
245247
@@install_component.sql 'reporters/ut_sonar_test_reporter.tpb'
246248

@@ -269,7 +271,6 @@ prompt Installing PLSQL profiler objects into &&ut3_owner schema
269271
@@install_component.sql 'api/equal.syn'
270272
@@install_component.sql 'api/have_count.syn'
271273
@@install_component.sql 'api/match.syn'
272-
@@install_component.sql 'api/ut_xunit_reporter.syn'
273274

274275
set linesize 200
275276
set define on

source/reporters/ut_junit_reporter.tpb

Lines changed: 25 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,16 @@ create or replace type body ut_junit_reporter is
1515
See the License for the specific language governing permissions and
1616
limitations under the License.
1717
*/
18+
1819
constructor function ut_junit_reporter(self in out nocopy ut_junit_reporter) return self as result is
1920
begin
2021
self.init($$plsql_unit);
2122
return;
2223
end;
2324

2425
overriding member procedure after_calling_run(self in out nocopy ut_junit_reporter, a_run in ut_run) is
26+
c_cddata_tag_start constant varchar2(30) := '<![CDATA[';
27+
c_cddata_tag_end constant varchar2(10) := ']]>';
2528
l_suite_id integer := 0;
2629
l_tests_count integer := a_run.results_count.disabled_count + a_run.results_count.success_count +
2730
a_run.results_count.failure_count + a_run.results_count.errored_count;
@@ -34,57 +37,55 @@ create or replace type body ut_junit_reporter is
3437
procedure print_test_elements(a_test ut_test) is
3538
l_lines ut_varchar2_list;
3639
l_output clob;
37-
l_cdata_tag_start varchar2(10) := '<![CDATA[';
38-
l_cddata_tag_end varchar2(10) := ']]>';
3940
begin
4041
self.print_text('<testcase classname="' || dbms_xmlgen.convert(get_path(a_test.path, a_test.name)) || '"' || ' assertions="' ||
41-
nvl(a_test.all_expectations.count,0) || '"' || self.get_common_test_attributes(a_test) || case when
42+
nvl(a_test.all_expectations.count,0) || self.get_common_item_attributes(a_test) || case when
4243
a_test.result != ut_utils.gc_success then
4344
' status="' || ut_utils.test_result_to_char(a_test.result) || '"' end || '>');
4445
if a_test.result = ut_utils.gc_disabled then
4546
self.print_text('<skipped/>');
4647
end if;
4748
if a_test.result = ut_utils.gc_error then
4849
self.print_text('<error>');
49-
self.print_text('<![CDATA[');
50+
self.print_text(c_cddata_tag_start);
5051
self.print_clob(
51-
replace(replace(ut_utils.table_to_clob(a_test.get_error_stack_traces()),l_cdata_tag_start,''),l_cddata_tag_end,'')
52+
replace(replace(ut_utils.table_to_clob(a_test.get_error_stack_traces()),c_cddata_tag_start,''),c_cddata_tag_end,'')
5253
);
53-
self.print_text(']]>');
54+
self.print_text(c_cddata_tag_end);
5455
self.print_text('</error>');
5556
elsif a_test.result > ut_utils.gc_success then
5657
self.print_text('<failure>');
57-
self.print_text('<![CDATA[');
58+
self.print_text(c_cddata_tag_start);
5859
for i in 1 .. a_test.failed_expectations.count loop
5960

6061
l_lines := a_test.failed_expectations(i).get_result_lines();
6162

6263
for j in 1 .. l_lines.count loop
6364
self.print_text(
64-
replace(replace(l_lines(j),l_cdata_tag_start,''),l_cddata_tag_end,'')
65+
replace(replace(l_lines(j),c_cddata_tag_start,''),c_cddata_tag_end,'')
6566
);
6667
end loop;
6768
self.print_text(a_test.failed_expectations(i).caller_info);
6869
end loop;
69-
self.print_text(']]>');
70+
self.print_text(c_cddata_tag_end);
7071
self.print_text('</failure>');
7172
end if;
7273
-- TODO - decide if we need/want to use the <system-err/> tag too
7374
l_output := a_test.get_serveroutputs();
7475
if l_output is not null then
7576
self.print_text('<system-out>');
76-
self.print_text('<![CDATA[');
77+
self.print_text(c_cddata_tag_start);
7778
self.print_clob(l_output);
78-
self.print_text(']]>');
79+
self.print_text(c_cddata_tag_end);
7980
self.print_text('</system-out>');
8081
else
8182
self.print_text('<system-out/>');
8283
end if;
8384
if a_test.before_test.get_error_stack_trace() is not null or a_test.after_test.get_error_stack_trace() is not null then
8485
self.print_text('<system-err>');
85-
self.print_text('<![CDATA[');
86+
self.print_text(c_cddata_tag_start);
8687
self.print_text(trim(a_test.before_test.get_error_stack_trace()) || trim(chr(10) || chr(10) || a_test.after_test.get_error_stack_trace()));
87-
self.print_text(']]>');
88+
self.print_text(c_cddata_tag_end);
8889
self.print_text('</system-err>');
8990
else
9091
self.print_text('<system-err/>');
@@ -117,32 +118,24 @@ create or replace type body ut_junit_reporter is
117118
print_test_elements(treat(l_tests(i) as ut_test));
118119
end loop;
119120

120-
/*for i in 1 .. a_suite.items.count loop
121-
if a_suite.items(i) is of(ut_test) then
122-
print_test_elements(treat(a_suite.items(i) as ut_test));
123-
elsif a_suite.items(i) is of(ut_logical_suite) then
124-
print_suite_elements(treat(a_suite.items(i) as ut_logical_suite), a_suite_id);
125-
end if;
126-
end loop;*/
127-
128121
if a_suite is of(ut_suite) then
129122
l_suite := treat(a_suite as ut_suite);
130123

131124
if l_suite.before_all.serveroutput is not null or l_suite.after_all.serveroutput is not null then
132125
self.print_text('<system-out>');
133-
self.print_text('<![CDATA[');
126+
self.print_text(c_cddata_tag_start);
134127
self.print_clob(l_suite.get_serveroutputs());
135-
self.print_text(']]>');
128+
self.print_text(c_cddata_tag_end);
136129
self.print_text('</system-out>');
137130
else
138131
self.print_text('<system-out/>');
139132
end if;
140133

141134
if l_suite.before_all.error_stack is not null or l_suite.after_all.error_stack is not null then
142135
self.print_text('<system-err>');
143-
self.print_text('<![CDATA[');
136+
self.print_text(c_cddata_tag_start);
144137
self.print_text(trim(l_suite.before_all.error_stack) || trim(chr(10) || chr(10) || l_suite.after_all.error_stack));
145-
self.print_text(']]>');
138+
self.print_text(c_cddata_tag_end);
146139
self.print_text('</system-err>');
147140
else
148141
self.print_text('<system-err/>');
@@ -159,19 +152,18 @@ create or replace type body ut_junit_reporter is
159152
self.print_text('</testsuites>');
160153
end;
161154

162-
member function get_common_suite_attributes(a_item ut_suite_item) return varchar2 is
155+
member function get_common_item_attributes(a_item ut_suite_item) return varchar2 is
163156
begin
164-
return ' disabled="' || a_item.results_count.disabled_count
165-
|| '" errors="' || a_item.results_count.errored_count
166-
|| '" failures="' || a_item.results_count.failure_count
167-
|| '" name="' || dbms_xmlgen.convert(nvl(a_item.description, a_item.name))
157+
return '" name="' || dbms_xmlgen.convert(nvl(a_item.description, a_item.name))
168158
|| '" time="' || ut_utils.to_xml_number_format(a_item.execution_time()) || '" ';
169159
end;
170160

171-
member function get_common_test_attributes(a_item ut_suite_item) return varchar2 is
161+
member function get_common_suite_attributes(a_item ut_suite_item) return varchar2 is
172162
begin
173-
return ' name="' || dbms_xmlgen.convert(nvl(a_item.description, a_item.name))
174-
|| '" time="' || ut_utils.to_xml_number_format(a_item.execution_time()) || '" ';
163+
return ' disabled="' || a_item.results_count.disabled_count
164+
|| '" errors="' || a_item.results_count.errored_count
165+
|| '" failures="' || a_item.results_count.failure_count
166+
|| get_common_item_attributes(a_item);
175167
end;
176168

177169
overriding member function get_description return varchar2 as

source/reporters/ut_junit_reporter.tps

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
create or replace type ut_junit_reporter under ut_output_reporter_base(
1+
create or replace type ut_junit_reporter force under ut_output_reporter_base(
22
/*
33
utPLSQL - Version 3
44
Copyright 2016 - 2017 utPLSQL Project
@@ -24,7 +24,7 @@ create or replace type ut_junit_reporter under ut_output_reporter_base(
2424

2525
overriding member procedure after_calling_run(self in out nocopy ut_junit_reporter, a_run in ut_run),
2626
member function get_common_suite_attributes(a_item ut_suite_item) return varchar2,
27-
member function get_common_test_attributes(a_item ut_suite_item) return varchar2,
27+
member function get_common_item_attributes(a_item ut_suite_item) return varchar2,
2828

2929
overriding member function get_description return varchar2
3030
)

0 commit comments

Comments
 (0)