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

Skip to content

Commit 2a0f99a

Browse files
committed
Extra changes and added tests
1 parent 97537de commit 2a0f99a

4 files changed

Lines changed: 133 additions & 3 deletions

File tree

source/core/ut_suite_cache_manager.pkb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -273,9 +273,9 @@ create or replace package body ut_suite_cache_manager is
273273
'(\(|\)|\||\!|\&)?([^|&!-()]+)(\(|\)|\||\!|\&)?',
274274
q'[\1q'<\2>' member of tags\3]');
275275
--replace operands to XPath
276-
l_tags := REGEXP_REPLACE(l_tags, '\|',' or ');
277-
l_tags := REGEXP_REPLACE(l_tags , '\&',' and ');
278-
l_tags := REGEXP_REPLACE(l_tags,q'[(\!)(q'<[^|&!-]+>')( member of tags)]','\2 not \3');
276+
l_tags := REPLACE(l_tags, '|',' or ');
277+
l_tags := REPLACE(l_tags , '&',' and ');
278+
l_tags := REGEXP_REPLACE(l_tags,q'[(\!)(q'<[^|&!]+?>')( member of tags)]','\2 not \3');
279279
l_tags := '('||l_tags||')';
280280
return l_tags;
281281
end;

test/ut3_tester_helper/run_helper.pkb

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,9 +343,100 @@ create or replace package body run_helper is
343343
end;
344344
end test_package_3;
345345
]';
346+
347+
execute immediate q'[create or replace package test_tag_pkg_1 is
348+
--%suite
349+
--%tags(suite1,release_3_1_13,development,complex,end_to_end)
350+
--%suitepath(suite1)
351+
--%rollback(manual)
352+
353+
--%test(Test1 from test_tag_pkg_1)
354+
--%tags(test1,development,fast)
355+
procedure test1;
356+
357+
--%test(Test2 from test_tag_pkg_1)
358+
--%tags(test2,production,slow,patch_3_1_13)
359+
procedure test2;
360+
361+
end test_tag_pkg_1;
362+
]';
363+
364+
execute immediate q'[create or replace package body test_tag_pkg_1 is
365+
procedure test1 is
366+
begin
367+
dbms_output.put_line('test_tag_pkg_1.test1 executed');
368+
end;
369+
procedure test2 is
370+
begin
371+
dbms_output.put_line('test_tag_pkg_1.test2 executed');
372+
end;
373+
end test_tag_pkg_1;
374+
]';
375+
376+
execute immediate q'[create or replace package test_tag_pkg_2 is
377+
--%suite
378+
--%tags(suite2,release_3_1_12,development,simple)
379+
--%suitepath(suite1.suite2)
380+
--%rollback(manual)
381+
382+
--%test(Test3 from test_tag_pkg_2)
383+
--%tags(test3,development,fast)
384+
procedure test3;
385+
386+
--%test(Test4 from test_tag_pkg_1)
387+
--%tags(test4,production,slow)
388+
procedure test4;
389+
390+
end test_tag_pkg_2;
391+
]';
392+
393+
execute immediate q'[create or replace package body test_tag_pkg_2 is
394+
procedure test3 is
395+
begin
396+
dbms_output.put_line('test_tag_pkg_2.test3 executed');
397+
end;
398+
procedure test4 is
399+
begin
400+
dbms_output.put_line('test_tag_pkg_2.test4 executed');
401+
end;
402+
end test_tag_pkg_2;
403+
]';
404+
405+
execute immediate q'[create or replace package test_tag_pkg_3 is
406+
--%suite
407+
--%tags(suite3,release_3_1_13,production,simple,end_to_end)
408+
--%suitepath(suite3)
409+
--%rollback(manual)
410+
411+
--%test(Test5 from test_tag_pkg_3)
412+
--%tags(test5,release_3_1_13,production,patch_3_1_13)
413+
procedure test5;
414+
415+
--%test(Test6 from test_tag_pkg_3)
416+
--%tags(test6,development,patch_3_1_14)
417+
procedure test6;
418+
419+
end test_tag_pkg_3;
420+
]';
421+
422+
execute immediate q'[create or replace package body test_tag_pkg_3 is
423+
procedure test5 is
424+
begin
425+
dbms_output.put_line('test_tag_pkg_3.test5 executed');
426+
end;
427+
procedure test6 is
428+
begin
429+
dbms_output.put_line('test_tag_pkg_3.test6 executed');
430+
end;
431+
end test_tag_pkg_3;
432+
]';
433+
346434
execute immediate q'[grant execute on test_package_1 to public]';
347435
execute immediate q'[grant execute on test_package_2 to public]';
348436
execute immediate q'[grant execute on test_package_3 to public]';
437+
execute immediate q'[grant execute on test_tag_pkg_1 to public]';
438+
execute immediate q'[grant execute on test_tag_pkg_2 to public]';
439+
execute immediate q'[grant execute on test_tag_pkg_3 to public]';
349440
end;
350441

351442
procedure drop_ut3_user_tests is
@@ -354,6 +445,9 @@ create or replace package body run_helper is
354445
execute immediate q'[drop package test_package_1]';
355446
execute immediate q'[drop package test_package_2]';
356447
execute immediate q'[drop package test_package_3]';
448+
execute immediate q'[drop package test_tag_pkg_1]';
449+
execute immediate q'[drop package test_tag_pkg_2]';
450+
execute immediate q'[drop package test_tag_pkg_3]';
357451
end;
358452

359453
procedure create_test_suite is

test/ut3_user/api/test_ut_run.pkb

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1202,6 +1202,39 @@ procedure tag_exclude_run_fun_pth_lst_lg is
12021202
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).to_be_like( '%test_package_2.test2%executed%' );
12031203
end;
12041204

1205+
procedure tag_complex_expressions is
1206+
l_results ut3_develop.ut_varchar2_list;
1207+
begin
1208+
l_results := ut3_tester_helper.run_helper.run(a_tags => 'release_3_1_13&(fast|simple)');
1209+
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).to_be_like( '%test_tag_pkg_3.test5 executed%' );
1210+
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).to_be_like( '%test_tag_pkg_3.test6 executed%' );
1211+
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).not_to_be_like( '%test_package_1.test1%executed%' );
1212+
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).not_to_be_like( '%test_package_1.test2%executed%' );
1213+
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).not_to_be_like( '%test_package_2.test3%executed%' );
1214+
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).not_to_be_like( '%test_package_2.test4%executed%' );
1215+
1216+
l_results := ut3_tester_helper.run_helper.run(a_tags => 'release_3_1_13&(!patch_3_1_13&!patch_3_1_14)');
1217+
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).to_be_like( '%test_tag_pkg_1.test1 executed%' );
1218+
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).not_to_be_like( '%test_package_1.test2%executed%' );
1219+
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).not_to_be_like( '%test_package_2.test3%executed%' );
1220+
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).not_to_be_like( '%test_package_2.test4%executed%' );
1221+
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).not_to_be_like( '%test_package_3.test5%executed%' );
1222+
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).not_to_be_like( '%test_package_3.test6%executed%' );
1223+
1224+
l_results := ut3_tester_helper.run_helper.run(a_tags => 'release_3_1_13&(patch_3_1_13&!slow)');
1225+
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).to_be_like( '%test_tag_pkg_3.test5 executed%' );
1226+
1227+
l_results := ut3_tester_helper.run_helper.run(a_tags => '(simple&end_to_end)|(development&fast)');
1228+
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).to_be_like( '%test_tag_pkg_1.test1 executed%' );
1229+
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).to_be_like( '%test_tag_pkg_2.test3 executed%' );
1230+
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).to_be_like( '%test_tag_pkg_3.test5 executed%' );
1231+
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).to_be_like( '%test_tag_pkg_3.test6 executed%' );
1232+
1233+
l_results := ut3_tester_helper.run_helper.run(a_tags => '(!development&end_to_end)');
1234+
ut.expect( ut3_tester_helper.main_helper.table_to_clob(l_results) ).to_be_like( '%test_tag_pkg_3.test5 executed%' );
1235+
1236+
end;
1237+
12051238
procedure set_application_info is
12061239
begin
12071240
dbms_application_info.set_module( gc_module, gc_action );

test/ut3_user/api/test_ut_run.pks

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,9 @@ create or replace package test_ut_run is
259259
--%test(Runs tests from given tags and exclude tags - Legacy Notation)
260260
procedure tag_include_exclude_run_fun_lg;
261261

262+
--%test(Runs tests suing complex expressions)
263+
procedure tag_complex_expressions;
264+
262265
--%endcontext
263266

264267
--%context(ut3_info context)

0 commit comments

Comments
 (0)