11create or replace package body test_teamcity_reporter as
22
3+ procedure create_a_test_package is
4+ pragma autonomous_transaction;
5+ begin
6+ execute immediate q'[create or replace package check_escape_special_chars is
7+ --%suite(A suite with 'quote')
8+
9+ --%test(A test with 'quote')
10+ procedure test_do_stuff;
11+
12+ end;]';
13+ execute immediate q'[create or replace package body check_escape_special_chars is
14+ procedure test_do_stuff is
15+ begin
16+ ut3.ut.expect(' [ ' || chr(13) || chr(10) || ' ] ' ).to_be_null;
17+ end;
18+
19+ end;]';
20+
21+ execute immediate q'[create or replace package check_trims_long_output is
22+ --%suite
23+
24+ --%test
25+ procedure long_output;
26+ end;]';
27+ execute immediate q'[create or replace package body check_trims_long_output is
28+ procedure long_output is
29+ begin
30+ ut3.ut.expect(rpad('aVarchar',4000,'a')).to_be_null;
31+ end;
32+ end;]';
33+
34+ end;
35+
36+
337 procedure report_produces_expected_out is
438 l_output_data ut3.ut_varchar2_list;
539 l_output clob;
@@ -23,14 +57,14 @@ create or replace package body test_teamcity_reporter as
2357<!beforeeach!>
2458<!failing test!>
2559<!aftereach!>
26- %##teamcity[testFailed timestamp='%' message='Fails as values are different' name='ut3_tester.test_reporters.failing_test']
60+ %##teamcity[testFailed timestamp='%' details='Actual: |'number |[1|] |' (varchar2) was expected to equal: |'number |[2|] |' (varchar2) ' message='Fails as values are different' name='ut3_tester.test_reporters.failing_test']
2761%##teamcity[testFinished timestamp='%' duration='%' name='ut3_tester.test_reporters.failing_test']
2862%##teamcity[testStarted timestamp='%' captureStandardOutput='true' name='ut3_tester.test_reporters.erroring_test']
2963<!beforeeach!>
3064<!erroring test!>
3165<!aftereach!>
32- %##teamcity[testStdErr timestamp='%' name='ut3_tester.test_reporters.erroring_test' out='Test exception:|rORA -06512: at | "UT3_TESTER.TEST_REPORTERS| ", line %|rORA -06512: at %|r|r ']
33- %##teamcity[testFailed timestamp='%' details='Test exception:|rORA -06512: at | "UT3_TESTER.TEST_REPORTERS| ", line %|rORA -06512: at %|r|r ' message='Error occured' name='ut3_tester.test_reporters.erroring_test']
66+ %##teamcity[testStdErr timestamp='%' name='ut3_tester.test_reporters.erroring_test' out='Test exception:|nORA -06512: at "UT3_TESTER.TEST_REPORTERS", line %|nORA -06512: at %|n|n ']
67+ %##teamcity[testFailed timestamp='%' details='Test exception:|nORA -06512: at "UT3_TESTER.TEST_REPORTERS", line %|nORA -06512: at %|n|n ' message='Error occured' name='ut3_tester.test_reporters.erroring_test']
3468%##teamcity[testFinished timestamp='%' duration='%' name='ut3_tester.test_reporters.erroring_test']
3569%##teamcity[testStarted timestamp='%' captureStandardOutput='true' name='ut3_tester.test_reporters.disabled_test']
3670%##teamcity[testIgnored timestamp='%' name='ut3_tester.test_reporters.disabled_test']
@@ -48,5 +82,50 @@ create or replace package body test_teamcity_reporter as
4882 ut.expect(ut3.ut_utils.table_to_clob(l_output_data)).to_be_like(l_expected);
4983 end;
5084
85+ procedure escape_special_chars is
86+ l_output_data ut3.ut_varchar2_list;
87+ l_output clob;
88+ l_expected varchar2(32767);
89+ begin
90+ l_expected := q'{%##teamcity[testSuiteStarted timestamp='%' name='A suite with |'quote|'']
91+ %##teamcity[testStarted timestamp='%' captureStandardOutput='true' name='ut3_tester.check_escape_special_chars.test_do_stuff']
92+ %##teamcity[testFailed timestamp='%' details='Actual: (varchar2)|n |' |[ |r|n |] |'|nwas expected to be null' name='ut3_tester.check_escape_special_chars.test_do_stuff']
93+ %##teamcity[testFinished timestamp='%' duration='%' name='ut3_tester.check_escape_special_chars.test_do_stuff']
94+ %##teamcity[testSuiteFinished timestamp='%' name='A suite with |'quote|'']}';
95+ --act
96+ select *
97+ bulk collect into l_output_data
98+ from table(ut3.ut.run('check_escape_special_chars',ut3.ut_teamcity_reporter()));
99+
100+ --assert
101+ ut.expect(ut3.ut_utils.table_to_clob(l_output_data)).to_be_like(l_expected);
102+ end;
103+
104+ procedure trims_long_output is
105+ l_output_data ut3.ut_varchar2_list;
106+ l_output clob;
107+ l_expected varchar2(32767);
108+ begin
109+ l_expected := q'{%##teamcity[testSuiteStarted timestamp='%' name='check_trims_long_output']
110+ %##teamcity[testStarted timestamp='%' captureStandardOutput='true' name='ut3_tester.check_trims_long_output.long_output']
111+ %##teamcity[testFailed timestamp='%' details='Actual: (varchar2)|n |'aVarcharaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa|[...|]' name='ut3_tester.check_trims_long_output.long_output']
112+ %##teamcity[testFinished timestamp='%' duration='%' name='ut3_tester.check_trims_long_output.long_output']
113+ %##teamcity[testSuiteFinished timestamp='%' name='check_trims_long_output']}';
114+ --act
115+ select *
116+ bulk collect into l_output_data
117+ from table(ut3.ut.run('check_trims_long_output',ut3.ut_teamcity_reporter()));
118+
119+ --assert
120+ ut.expect(ut3.ut_utils.table_to_clob(l_output_data)).to_be_like(l_expected);
121+ end;
122+
123+ procedure remove_test_package is
124+ pragma autonomous_transaction;
125+ begin
126+ execute immediate 'drop package check_escape_special_chars';
127+ execute immediate 'drop package check_trims_long_output';
128+ end;
129+
51130end;
52131/
0 commit comments