Skip to content

Commit 6d8b099

Browse files
committed
Phase 2 : switch to varchar_rows()
1 parent ddf3a7f commit 6d8b099

File tree

11 files changed

+275
-30
lines changed

11 files changed

+275
-30
lines changed

docs/userguide/annotations.md

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1243,7 +1243,7 @@ or
12431243

12441244

12451245

1246-
Tags are defined as a coma separated list. When executing a tests filtering by tag utPLSQL will find all tests associated with a given tag and execute it. It will apply `OR` logic when resolving a tags so any tests / suites that got matching at least one tag will get executed.
1246+
Tags are defined as a coma separated list. When executing a test run with tag filter applied, framework will find all tests associated with given tags and execute them. Framework applies `OR` logic when resolving a tags so any tests / suites that match at least one tag will be included in the test run.
12471247

12481248
When a suite gets tagged all of its children will automatically inherit a tag and get executed along the parent. Parent suit tests are not executed. but a suitepath hierarchy is kept.
12491249

@@ -1259,9 +1259,9 @@ create or replace PACKAGE ut_sample_test IS
12591259
--%tag(test1,sample)
12601260
PROCEDURE ut_refcursors1;
12611261

1262-
--%test(Compare Ref Cursors #2)
1262+
--%test(Run equality test)
12631263
--%tag(test2,sample)
1264-
PROCEDURE ut_refcursors2;
1264+
PROCEDURE ut_test;
12651265

12661266
END ut_sample_test;
12671267
/
@@ -1278,21 +1278,16 @@ create or replace PACKAGE BODY ut_sample_test IS
12781278
ut.expect(v_actual).to_equal(v_expected);
12791279
END;
12801280

1281-
PROCEDURE ut_refcursors2 IS
1282-
v_actual SYS_REFCURSOR;
1283-
v_expected SYS_REFCURSOR;
1281+
PROCEDURE ut_test IS
12841282
BEGIN
1285-
open v_expected for select 1 as test from dual;
1286-
open v_actual for select 2 as test from dual;
1287-
1288-
ut.expect(v_actual).to_equal(v_expected);
1283+
ut.expect(1).to_equal(0);
12891284
END;
12901285

12911286
END ut_sample_test;
12921287
/
12931288
```
12941289

1295-
Execution of the test is done by using a new parameter `a_tags`
1290+
Execution of the test is done by using a parameter `a_tags`
12961291

12971292
```sql
12981293
select * from table(ut.run(a_path => 'ut_sample_test',a_tags => 'suite1'));
@@ -1303,10 +1298,22 @@ begin
13031298
ut.run(a_path => 'ut_sample_test',a_tags => 'suite1');
13041299
end;
13051300
/
1301+
1302+
exec ut.run('ut_sample_test', a_tags => 'sample');
13061303
```
13071304

13081305

13091306

1307+
Tags should adhere to following rules:
1308+
1309+
- tags are case sensitive
1310+
- tags cannot be an empty string
1311+
- tags cannot contain spaces e.g. to create a multi-word `tag` please use underscores,dashes, dots etc. e.g. `test_of_batch`
1312+
- tags with empty spaces will be ignored during execution
1313+
- tags can contain special characters
1314+
1315+
1316+
13101317
### Suitepath
13111318

13121319
It is very likely that the application for which you are going to introduce tests consists of many different packages, procedures and functions.

docs/userguide/querying_suites.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,21 +22,22 @@ Querying the data from function provides the follwing details:
2222
- `item_line_no` - line_number where annotation identifying the item exists
2323
- `path` - suitepath of the item
2424
- `disabled_flag` - (0/1) indicator if item is disabled by --%disabled annotation
25-
25+
- `tags` - tags associated with suites
26+
2627
To get list of all test suites in current schema
2728
```sql
2829
select * from table(ut_runner.get_suites_info()) where item_type = 'UT_SUITE';
29-
```
30+
```
3031

3132
To get list of all tests for test suite `TEST_STUFF` in current user schema
3233
```sql
3334
select * from table(ut_runner.get_suites_info(USER, 'TEST_STUFF')) where item_type = 'UT_TEST';
34-
```
35+
```
3536

3637
To get a full information about suite `TEST_STUFF` including suite description, all contexts and tests in a suite
3738
```sql
3839
select * from table(ut_runner.get_suites_info(USER, 'TEST_STUFF')) where item_type = 'UT_TEST';
39-
```
40+
```
4041

4142
## Checking if schema contains tests
4243

source/api/ut_suite_item_info.tpb

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
create or replace type body ut_suite_item_info is
2+
/*
3+
utPLSQL - Version 3
4+
Copyright 2016 - 2018 utPLSQL Project
5+
6+
Licensed under the Apache License, Version 2.0 (the "License"):
7+
you may not use this file except in compliance with the License.
8+
You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing, software
13+
distributed under the License is distributed on an "AS IS" BASIS,
14+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
See the License for the specific language governing permissions and
16+
limitations under the License.
17+
*/
18+
constructor function ut_suite_item_info(a_object_owner varchar2, a_object_name varchar2, a_item_name varchar2,
19+
a_item_description varchar2, a_item_type varchar2, a_item_line_no integer, a_path varchar2, a_disabled_flag integer,
20+
a_tags ut_varchar2_rows) return self as result is
21+
begin
22+
self.object_owner := a_object_owner;
23+
self.object_name := a_object_name;
24+
self.item_name := a_item_name;
25+
self.item_description := a_item_description;
26+
self.item_type := a_item_type;
27+
self.item_line_no := a_item_line_no;
28+
self.path := a_path;
29+
self.disabled_flag := a_disabled_flag;
30+
self.tags := case
31+
when a_tags is null then null
32+
when a_tags.count = 0 then null
33+
else ut_utils.to_string(ut_utils.table_to_clob(a_tags,',') ,a_quote_char => null)
34+
end;
35+
return;
36+
end;
37+
end;
38+
/

source/api/ut_suite_item_info.tps

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ create or replace type ut_suite_item_info as object (
2323
item_line_no integer, -- line_number where annotation identifying the item exists
2424
path varchar2( 4000 ),-- suitepath of the item
2525
disabled_flag integer, -- 0 (zero) if item is not disabled, 1 if item is disabled by --%disabled annotation
26-
tags varchar2(4000)
26+
tags varchar2(4000),
27+
constructor function ut_suite_item_info(a_object_owner varchar2, a_object_name varchar2, a_item_name varchar2,
28+
a_item_description varchar2, a_item_type varchar2, a_item_line_no integer, a_path varchar2, a_disabled_flag integer,
29+
a_tags ut_varchar2_rows) return self as result
2730
)
2831
/

source/core/ut_suite_manager.pkb

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -692,7 +692,7 @@ create or replace package body ut_suite_manager is
692692
a_suite_path in varchar2,
693693
a_procedure_name in varchar2,
694694
a_object_name in varchar2,
695-
a_tags in ut_varchar2_rows
695+
a_tags in ut_varchar2_rows := ut_varchar2_rows()
696696
) return varchar2 is
697697
l_error_msg varchar2(500);
698698
l_tags clob:= ut_utils.table_to_clob(coalesce(a_tags,ut_varchar2_rows()),',');
@@ -705,9 +705,9 @@ create or replace package body ut_suite_manager is
705705
l_error_msg := 'Suite package '||a_schema_name||'.'||a_object_name|| ' does not exists';
706706
end if;
707707

708-
if l_error_msg is null and a_tags is not null then
708+
if l_error_msg is null and a_tags.count > 0 then
709709
l_error_msg := 'No tests found for tags: '||ut_utils.to_string(l_tags,a_max_output_len => gc_tag_errmsg);
710-
elsif l_error_msg is not null and a_tags is not null then
710+
elsif l_error_msg is not null and a_tags.count > 0 then
711711
l_error_msg := l_error_msg||' with tags: '||ut_utils.to_string(l_tags,a_max_output_len => gc_tag_errmsg);
712712
end if;
713713

@@ -720,7 +720,7 @@ create or replace package body ut_suite_manager is
720720
a_paths in ut_varchar2_list,
721721
a_suites out nocopy ut_suite_items,
722722
a_random_seed in positive := null,
723-
a_tags ut_varchar2_rows := null
723+
a_tags ut_varchar2_rows := ut_varchar2_rows()
724724
) is
725725
l_paths ut_varchar2_list := a_paths;
726726
l_path_items t_path_items;
@@ -768,7 +768,6 @@ create or replace package body ut_suite_manager is
768768

769769
end configure_execution_by_path;
770770

771-
--TODO : add tags
772771
function get_suites_info(
773772
a_owner_name varchar2,
774773
a_package_name varchar2 := null
@@ -779,7 +778,7 @@ create or replace package body ut_suite_manager is
779778

780779
refresh_cache(a_owner_name);
781780

782-
open l_result for
781+
open l_result for
783782
q'[with
784783
suite_items as (
785784
select /*+ cardinality(c 100) */ c.*
@@ -831,17 +830,17 @@ create or replace package body ut_suite_manager is
831830
items as (
832831
select object_owner, object_name, name as item_name,
833832
description as item_description, self_type as item_type, line_no as item_line_no,
834-
path, disabled_flag
833+
path, disabled_flag,tags
835834
from suite_items
836835
union all
837836
select object_owner, object_name, object_name as item_name,
838837
null as item_description, item_type, null as item_line_no,
839-
s.path, 0 as disabled_flag
838+
s.path, 0 as disabled_flag, ]'||l_ut_owner||q'[.ut_varchar2_rows() as tags
840839
from logical_suites s
841840
)
842841
select ]'||l_ut_owner||q'[.ut_suite_item_info(
843842
object_owner, object_name, item_name, item_description,
844-
item_type, item_line_no, path, disabled_flag
843+
item_type, item_line_no, path, disabled_flag, tags
845844
)
846845
from items c]' using upper(a_package_name);
847846

source/core/ut_suite_manager.pks

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ create or replace package ut_suite_manager authid current_user is
5050
a_paths in ut_varchar2_list,
5151
a_suites out nocopy ut_suite_items,
5252
a_random_seed in positive := null,
53-
a_tags ut_varchar2_rows := null
53+
a_tags ut_varchar2_rows := ut_varchar2_rows()
5454
);
5555

5656
/**

source/install.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,7 @@ prompt Installing DBMSPLSQL Tables objects into &&ut3_owner schema
279279

280280
--plugin interface API for running utPLSQL
281281
@@install_component.sql 'api/ut_suite_item_info.tps'
282+
@@install_component.sql 'api/ut_suite_item_info.tpb'
282283
@@install_component.sql 'api/ut_suite_items_info.tps'
283284
@@install_component.sql 'api/ut_runner.pks'
284285
@@install_component.sql 'api/ut_runner.pkb'

test/ut3_tester_helper/run_helper.pkb

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,94 @@ create or replace package body run_helper is
2727
execute immediate q'[grant execute on ut3_tester_helper.dummy_test_procedure to public]';
2828
end;
2929

30+
procedure setup_cache_objectstag is
31+
pragma autonomous_transaction;
32+
begin
33+
execute immediate q'[create or replace package ut3$user#.dummy_test_package as
34+
--%suite(dummy_test_suite)
35+
--%tags(dummy)
36+
--%rollback(manual)
37+
38+
--%test(dummy_test)
39+
--%tags(testtag)
40+
--%beforetest(some_procedure)
41+
procedure some_dummy_test_procedure;
42+
end;]';
43+
execute immediate q'[create or replace procedure ut3$user#.dummy_test_procedure as
44+
--%some_annotation(some_text)
45+
--%rollback(manual)
46+
begin
47+
null;
48+
end;]';
49+
execute immediate q'[create or replace procedure ut3_tester_helper.dummy_test_procedure as
50+
--%some_annotation(some_text)
51+
--%rollback(manual)
52+
begin
53+
null;
54+
end;]';
55+
56+
execute immediate q'[grant execute on ut3_tester_helper.dummy_test_procedure to public]';
57+
end;
58+
59+
procedure setup_cache_twotags is
60+
pragma autonomous_transaction;
61+
begin
62+
execute immediate q'[create or replace package ut3$user#.dummy_test_package as
63+
--%suite(dummy_test_suite)
64+
--%tags(suitetag1,suitetag2)
65+
--%rollback(manual)
66+
67+
--%test(dummy_test)
68+
--%tags(testtag1,testtag2)
69+
--%beforetest(some_procedure)
70+
procedure some_dummy_test_procedure;
71+
end;]';
72+
execute immediate q'[create or replace procedure ut3$user#.dummy_test_procedure as
73+
--%some_annotation(some_text)
74+
--%rollback(manual)
75+
begin
76+
null;
77+
end;]';
78+
execute immediate q'[create or replace procedure ut3_tester_helper.dummy_test_procedure as
79+
--%some_annotation(some_text)
80+
--%rollback(manual)
81+
begin
82+
null;
83+
end;]';
84+
85+
execute immediate q'[grant execute on ut3_tester_helper.dummy_test_procedure to public]';
86+
end;
87+
88+
procedure setup_cache_longtags is
89+
pragma autonomous_transaction;
90+
begin
91+
execute immediate q'[create or replace package ut3$user#.dummy_test_package as
92+
--%suite(dummy_test_suite)
93+
--%tags(bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb)
94+
--%tags(aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa)
95+
--%rollback(manual)
96+
97+
--%test(dummy_test)
98+
--%tags(testtag1,testtag2)
99+
--%beforetest(some_procedure)
100+
procedure some_dummy_test_procedure;
101+
end;]';
102+
execute immediate q'[create or replace procedure ut3$user#.dummy_test_procedure as
103+
--%some_annotation(some_text)
104+
--%rollback(manual)
105+
begin
106+
null;
107+
end;]';
108+
execute immediate q'[create or replace procedure ut3_tester_helper.dummy_test_procedure as
109+
--%some_annotation(some_text)
110+
--%rollback(manual)
111+
begin
112+
null;
113+
end;]';
114+
115+
execute immediate q'[grant execute on ut3_tester_helper.dummy_test_procedure to public]';
116+
end;
117+
30118
procedure create_trans_control is
31119
pragma autonomous_transaction;
32120
begin

test/ut3_tester_helper/run_helper.pks

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@ create or replace package run_helper is
66
type prof_runs_tab is table of ut3.plsql_profiler_runs%rowtype;
77

88
procedure setup_cache_objects;
9+
procedure setup_cache_objectstag;
10+
procedure setup_cache_twotags;
11+
procedure setup_cache_longtags;
912
procedure setup_cache;
1013
procedure cleanup_cache;
1114
procedure create_db_link;

0 commit comments

Comments
 (0)