-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPackage-Test.sql
More file actions
143 lines (133 loc) · 3.28 KB
/
Copy pathPackage-Test.sql
File metadata and controls
143 lines (133 loc) · 3.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
create or replace package test_dbms_output authid definer
as
procedure wtplsql_run;
end test_dbms_output;
/
create or replace package body test_dbms_output
as
procedure wtplsql_run
as
begin
dbms_output.enable(128000);
end wtplsql_run;
end test_dbms_output;
/
create or replace package body test_dbms_output
as
procedure test_put_get_line
is
c_test1 constant varchar2(100) := 'Test 1';
l_buffer varchar2(4000) := '';
l_status number := null;
begin
dbms_output.put_line(c_test1);
dbms_output.get_line(l_buffer,l_status);
wt_assert.eq('Test 1',l_buffer,c_test1);
end test_put_get_line;
procedure wtplsql_run
as
begin
dbms_output.enable(128000);
test_put_get_line;
end wtplsql_run;
end test_dbms_output;
/
begin
wtplsql.test_run('TEST_DBMS_OUTPUT');
wt_text_report.dbms_out(USER,'TEST_DBMS_OUTPUT',30);
end;
/
create or replace package body test_dbms_output
as
procedure test_put_get_line
is
c_test1 constant varchar2(100) := 'Test 1';
l_buffer varchar2(4000) := '';
l_status number := null;
begin
dbms_output.put_line(c_test1);
raise_application_error(-20000, 'Fault insertion exception');
dbms_output.get_line(l_buffer,l_status);
wt_assert.eq('Test 1',l_buffer,c_test1);
end test_put_get_line;
procedure wtplsql_run
as
begin
dbms_output.enable(128000);
test_put_get_line;
end wtplsql_run;
end test_dbms_output;
/
begin
wtplsql.test_run('TEST_DBMS_OUTPUT');
end;
/
begin
wt_text_report.dbms_out(USER,'TEST_DBMS_OUTPUT',30);
end;
/
create or replace package body test_dbms_output
as
-- Global variables to capture buffer contents
g_buffer_contents_va DBMSOUTPUT_LINESARRAY;
g_num_lines number;
--
procedure setup
is
begin
-- Capture buffer contents
dbms_output.get_lines(g_buffer_contents_va, g_num_lines);
end setup;
--
procedure test_put_get_line
is
c_test1 constant varchar2(100) := 'Test 1';
l_buffer varchar2(4000) := '';
l_status number := null;
begin
dbms_output.put_line(c_test1);
raise_application_error(-20000, 'Fault insertion exception');
dbms_output.get_line(l_buffer,l_status);
wt_assert.eq('Test 1',l_buffer,c_test1);
end test_put_get_line;
--
procedure teardown
is
l_junk_va DBMSOUTPUT_LINESARRAY;
l_num number;
begin
-- Clear buffer contents
dbms_output.get_lines(l_junk_va, l_num);
-- Restore the buffer
for i in 1 .. g_num_lines
loop
dbms_output.put_line(g_buffer_contents_va(i));
end loop;
end teardown;
--
procedure wtplsql_run
is
l_error_message varchar2(4000);
begin
dbms_output.enable(128000);
dbms_output.put_line('This should be preserved.');
setup;
test_put_get_line;
teardown;
exception when others then
l_error_message := substr(dbms_utility.format_error_stack ||
dbms_utility.format_error_backtrace,1,4000);
teardown;
raise_application_error(-20000, l_error_message);
end wtplsql_run;
--
end test_dbms_output;
/
begin
wtplsql.test_run('TEST_DBMS_OUTPUT');
end;
/
begin
wt_text_report.dbms_out(USER,'TEST_DBMS_OUTPUT',30);
end;
/