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

Skip to content

Commit cc3114c

Browse files
authored
Merge pull request #1017 from utPLSQL/feature/fix_contexts
Fixed issue fit false-positive warnings on suites with multiple conte…
2 parents 4ca4ea8 + bc49a81 commit cc3114c

3 files changed

Lines changed: 74 additions & 17 deletions

File tree

source/core/ut_suite_builder.pkb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -800,6 +800,7 @@ create or replace package body ut_suite_builder is
800800

801801
while l_context_pos is not null loop
802802
l_default_context_name := 'nested_context_#'||l_context_no;
803+
l_context_name := null;
803804
l_end_context_pos := get_endcontext_position(l_context_pos, a_annotations.by_name );
804805

805806
l_next_context_pos := a_annotations.by_name(gc_context).next(l_context_pos);

test/ut3_tester/core/test_suite_builder.pkb

Lines changed: 70 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1225,23 +1225,76 @@ create or replace package body test_suite_builder is
12251225
ut.expect(l_actual).to_be_like(
12261226
'<ROWSET><ROW>'||
12271227
'<UT_LOGICAL_SUITE>' ||
1228-
'%<ITEMS>' ||
1229-
'<UT_SUITE_ITEM>' ||
1230-
'%<NAME>nested_context_#1</NAME><DESCRIPTION>A context</DESCRIPTION><PATH>some_package.nested_context_#1</PATH>' ||
1231-
'%<ITEMS>' ||
1232-
'<UT_SUITE_ITEM>' ||
1233-
'%<NAME>test_in_a_context</NAME><DESCRIPTION>In context</DESCRIPTION><PATH>some_package.nested_context_#1.test_in_a_context</PATH>' ||
1234-
'%</UT_SUITE_ITEM>' ||
1235-
'</ITEMS>' ||
1236-
'<BEFORE_ALL_LIST/>' ||
1237-
'<AFTER_ALL_LIST/>' ||
1238-
'</UT_SUITE_ITEM>' ||
1239-
'<UT_SUITE_ITEM>' ||
1240-
'%<NAME>suite_level_test</NAME><DESCRIPTION>In suite</DESCRIPTION><PATH>some_package.suite_level_test</PATH>' ||
1241-
'%</UT_SUITE_ITEM>' ||
1242-
'</ITEMS>' ||
1243-
'<BEFORE_ALL_LIST/>' ||
1244-
'<AFTER_ALL_LIST/>' ||
1228+
'%<ITEMS>' ||
1229+
'<UT_SUITE_ITEM>' ||
1230+
'%<NAME>nested_context_#1</NAME><DESCRIPTION>A context</DESCRIPTION><PATH>some_package.nested_context_#1</PATH>' ||
1231+
'%<ITEMS>' ||
1232+
'<UT_SUITE_ITEM>' ||
1233+
'%<NAME>test_in_a_context</NAME><DESCRIPTION>In context</DESCRIPTION><PATH>some_package.nested_context_#1.test_in_a_context</PATH>' ||
1234+
'%</UT_SUITE_ITEM>' ||
1235+
'</ITEMS>' ||
1236+
'<BEFORE_ALL_LIST/>' ||
1237+
'<AFTER_ALL_LIST/>' ||
1238+
'</UT_SUITE_ITEM>' ||
1239+
'<UT_SUITE_ITEM>' ||
1240+
'%<NAME>suite_level_test</NAME><DESCRIPTION>In suite</DESCRIPTION><PATH>some_package.suite_level_test</PATH>' ||
1241+
'%</UT_SUITE_ITEM>' ||
1242+
'</ITEMS>' ||
1243+
'<BEFORE_ALL_LIST/>' ||
1244+
'<AFTER_ALL_LIST/>' ||
1245+
'</UT_LOGICAL_SUITE>'||
1246+
'</ROW></ROWSET>'
1247+
);
1248+
end;
1249+
1250+
procedure multiple_contexts is
1251+
l_actual clob;
1252+
l_annotations ut3.ut_annotations;
1253+
begin
1254+
--Arrange
1255+
l_annotations := ut3.ut_annotations(
1256+
ut3.ut_annotation(1, 'suite','Cool', null),
1257+
ut3.ut_annotation(4, 'context','A context', null),
1258+
ut3.ut_annotation(6, 'test', 'In context1', 'test_in_a_context1'),
1259+
ut3.ut_annotation(7, 'endcontext',null, null),
1260+
ut3.ut_annotation(8, 'context','A context', null),
1261+
ut3.ut_annotation(10, 'test', 'In context2', 'test_in_a_context2'),
1262+
ut3.ut_annotation(11, 'endcontext',null, null)
1263+
);
1264+
--Act
1265+
l_actual := invoke_builder_for_annotations(l_annotations, 'SOME_PACKAGE');
1266+
--Assert
1267+
ut.expect(l_actual).to_be_like(
1268+
'%<WARNINGS/>%'
1269+
,'\'
1270+
);
1271+
ut.expect(l_actual).to_be_like(
1272+
'<ROWSET><ROW>'||
1273+
'<UT_LOGICAL_SUITE>' ||
1274+
'%<ITEMS>' ||
1275+
'<UT_SUITE_ITEM>' ||
1276+
'%<NAME>nested_context_#2</NAME><DESCRIPTION>A context</DESCRIPTION><PATH>some_package.nested_context_#2</PATH>' ||
1277+
'%<ITEMS>' ||
1278+
'<UT_SUITE_ITEM>' ||
1279+
'%<NAME>test_in_a_context2</NAME><DESCRIPTION>In context2</DESCRIPTION><PATH>some_package.nested_context_#2.test_in_a_context2</PATH>' ||
1280+
'%</UT_SUITE_ITEM>' ||
1281+
'</ITEMS>' ||
1282+
'<BEFORE_ALL_LIST/>' ||
1283+
'<AFTER_ALL_LIST/>' ||
1284+
'</UT_SUITE_ITEM>' ||
1285+
'<UT_SUITE_ITEM>' ||
1286+
'%<NAME>nested_context_#1</NAME><DESCRIPTION>A context</DESCRIPTION><PATH>some_package.nested_context_#1</PATH>' ||
1287+
'%<ITEMS>' ||
1288+
'<UT_SUITE_ITEM>' ||
1289+
'%<NAME>test_in_a_context1</NAME><DESCRIPTION>In context1</DESCRIPTION><PATH>some_package.nested_context_#1.test_in_a_context1</PATH>' ||
1290+
'%</UT_SUITE_ITEM>' ||
1291+
'</ITEMS>' ||
1292+
'<BEFORE_ALL_LIST/>' ||
1293+
'<AFTER_ALL_LIST/>' ||
1294+
'</UT_SUITE_ITEM>' ||
1295+
'</ITEMS>' ||
1296+
'<BEFORE_ALL_LIST/>' ||
1297+
'<AFTER_ALL_LIST/>' ||
12451298
'</UT_LOGICAL_SUITE>'||
12461299
'</ROW></ROWSET>'
12471300
);

test/ut3_tester/core/test_suite_builder.pks

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ create or replace package test_suite_builder is
146146
--%test(Is ignored when name value is empty)
147147
procedure name_empty_value;
148148

149+
--%test(Is ignored when name value is empty)
150+
procedure multiple_contexts;
151+
149152
--%endcontext
150153

151154
--%context(--%throws annotation)

0 commit comments

Comments
 (0)