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

Skip to content

Commit 689b991

Browse files
committed
Merge remote-tracking branch 'upstream/develop' into feature/matrix_cleanup
2 parents 6cba3ae + 54f7d21 commit 689b991

5 files changed

Lines changed: 58 additions & 5 deletions

File tree

source/core/types/ut_suite_item.tpb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ create or replace type body ut_suite_item as
5858
return l_savepoint;
5959
end;
6060

61-
member procedure rollback_to_savepoint(self in ut_suite_item, a_savepoint varchar2) is
61+
member procedure rollback_to_savepoint(self in out nocopy ut_suite_item, a_savepoint varchar2) is
6262
ex_savepoint_not_exists exception;
6363
pragma exception_init(ex_savepoint_not_exists, -1086);
6464
begin
@@ -67,7 +67,7 @@ create or replace type body ut_suite_item as
6767
end if;
6868
exception
6969
when ex_savepoint_not_exists then
70-
null;
70+
put_warning('Savepoint not established. Implicit commit might have occured.');
7171
end;
7272

7373
member function execution_time return number is

source/core/types/ut_suite_item.tps

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ create or replace type ut_suite_item force under ut_suite_item_base (
2323
member procedure set_disabled_flag(self in out nocopy ut_suite_item, a_disabled_flag boolean),
2424
member function get_disabled_flag return boolean,
2525
member function create_savepoint_if_needed return varchar2,
26-
member procedure rollback_to_savepoint(self in ut_suite_item, a_savepoint varchar2),
26+
member procedure rollback_to_savepoint(self in out nocopy ut_suite_item, a_savepoint varchar2),
2727
member function execution_time return number,
2828

2929
not instantiable member function do_execute(self in out nocopy ut_suite_item, a_listener in out nocopy ut_event_listener_base) return boolean,

source/reporters/ut_teamcity_reporter.tpb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@ create or replace type body ut_teamcity_reporter is
8989
,a_out => trim(l_std_err_msg)));
9090
self.print_text(ut_teamcity_reporter_helper.test_failed(a_test_name => l_test_full_name
9191
,a_msg => 'Error occured'
92-
,a_details => trim(l_std_err_msg) || a_test.results(1)
93-
.message));
92+
,a_details => trim(l_std_err_msg) || case when a_test.results is not null and a_test.results.count>0 then a_test.results(1)
93+
.message end));
9494
elsif a_test.results is not null and a_test.results.count > 0 then
9595
for i in 1 .. a_test.results.count loop
9696

tests/RunAll.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@ exec ut_coverage.coverage_start_develop();
164164
@@lib/RunTest.sql ut_test/ut_test.BeforeEachProcedureNameNull.sql
165165
@@lib/RunTest.sql ut_test/ut_test.TestOutputGathering.sql
166166
@@lib/RunTest.sql ut_test/ut_test.TestOutputGatheringForTeamcity.sql
167+
@@lib/RunTest.sql ut_test/ut_test.ReportWarningOnRollbackFailed.sql
167168

168169
@@lib/RunTest.sql ut_test_suite/ut_test_suite.ErrorsATestWhenAfterTestFails.sql
169170
@@lib/RunTest.sql ut_test_suite/ut_test_suite.ErrorsATestWhenBeforeTestFails.sql
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
create or replace package ut_output_test_rollback
2+
as
3+
--%suite
4+
5+
--%test
6+
procedure tt;
7+
8+
end;
9+
/
10+
11+
create or replace package body ut_output_test_rollback
12+
as
13+
14+
procedure tt is
15+
begin
16+
commit;
17+
end;
18+
19+
end;
20+
/
21+
22+
declare
23+
l_output_data dbms_output.chararr;
24+
l_num_lines integer := 100000;
25+
l_output clob;
26+
begin
27+
--act
28+
ut.run('ut_output_test_rollback');
29+
30+
--assert
31+
dbms_output.get_lines( l_output_data, l_num_lines);
32+
dbms_lob.createtemporary(l_output,true);
33+
for i in 1 .. l_num_lines loop
34+
dbms_lob.append(l_output,l_output_data(i));
35+
end loop;
36+
37+
if l_output like '%Warnings:%Savepoint not established. Implicit commit might have occured.%0 disabled, 1 warning(s)%' then
38+
:test_result := ut_utils.tr_success;
39+
end if;
40+
41+
if :test_result != ut_utils.tr_success or :test_result is null then
42+
for i in 1 .. l_num_lines loop
43+
dbms_output.put_line(l_output_data(i));
44+
end loop;
45+
dbms_output.put_line('Failed: Wrong output');
46+
end if;
47+
end;
48+
/
49+
50+
drop package ut_output_test_rollback
51+
/
52+

0 commit comments

Comments
 (0)