From bc49a818fee8bff9371691e27a3e4bb9f762c262 Mon Sep 17 00:00:00 2001 From: Jacek Gebal Date: Sat, 2 Nov 2019 00:23:09 +0000 Subject: [PATCH] Fixed issue fit false-positive warnings on suites with multiple contexts. --- source/core/ut_suite_builder.pkb | 1 + test/ut3_tester/core/test_suite_builder.pkb | 87 +++++++++++++++++---- test/ut3_tester/core/test_suite_builder.pks | 3 + 3 files changed, 74 insertions(+), 17 deletions(-) diff --git a/source/core/ut_suite_builder.pkb b/source/core/ut_suite_builder.pkb index b3c6f81dd..c7e968467 100644 --- a/source/core/ut_suite_builder.pkb +++ b/source/core/ut_suite_builder.pkb @@ -800,6 +800,7 @@ create or replace package body ut_suite_builder is while l_context_pos is not null loop l_default_context_name := 'nested_context_#'||l_context_no; + l_context_name := null; l_end_context_pos := get_endcontext_position(l_context_pos, a_annotations.by_name ); l_next_context_pos := a_annotations.by_name(gc_context).next(l_context_pos); diff --git a/test/ut3_tester/core/test_suite_builder.pkb b/test/ut3_tester/core/test_suite_builder.pkb index 9b2c26567..a204a04e6 100644 --- a/test/ut3_tester/core/test_suite_builder.pkb +++ b/test/ut3_tester/core/test_suite_builder.pkb @@ -1225,23 +1225,76 @@ create or replace package body test_suite_builder is ut.expect(l_actual).to_be_like( ''|| '' || - '%' || - '' || - '%nested_context_#1A contextsome_package.nested_context_#1' || - '%' || - '' || - '%test_in_a_contextIn contextsome_package.nested_context_#1.test_in_a_context' || - '%' || - '' || - '' || - '' || - '' || - '' || - '%suite_level_testIn suitesome_package.suite_level_test' || - '%' || - '' || - '' || - '' || + '%' || + '' || + '%nested_context_#1A contextsome_package.nested_context_#1' || + '%' || + '' || + '%test_in_a_contextIn contextsome_package.nested_context_#1.test_in_a_context' || + '%' || + '' || + '' || + '' || + '' || + '' || + '%suite_level_testIn suitesome_package.suite_level_test' || + '%' || + '' || + '' || + '' || + ''|| + '' + ); + end; + + procedure multiple_contexts is + l_actual clob; + l_annotations ut3.ut_annotations; + begin + --Arrange + l_annotations := ut3.ut_annotations( + ut3.ut_annotation(1, 'suite','Cool', null), + ut3.ut_annotation(4, 'context','A context', null), + ut3.ut_annotation(6, 'test', 'In context1', 'test_in_a_context1'), + ut3.ut_annotation(7, 'endcontext',null, null), + ut3.ut_annotation(8, 'context','A context', null), + ut3.ut_annotation(10, 'test', 'In context2', 'test_in_a_context2'), + ut3.ut_annotation(11, 'endcontext',null, null) + ); + --Act + l_actual := invoke_builder_for_annotations(l_annotations, 'SOME_PACKAGE'); + --Assert + ut.expect(l_actual).to_be_like( + '%%' + ,'\' + ); + ut.expect(l_actual).to_be_like( + ''|| + '' || + '%' || + '' || + '%nested_context_#2A contextsome_package.nested_context_#2' || + '%' || + '' || + '%test_in_a_context2In context2some_package.nested_context_#2.test_in_a_context2' || + '%' || + '' || + '' || + '' || + '' || + '' || + '%nested_context_#1A contextsome_package.nested_context_#1' || + '%' || + '' || + '%test_in_a_context1In context1some_package.nested_context_#1.test_in_a_context1' || + '%' || + '' || + '' || + '' || + '' || + '' || + '' || + '' || ''|| '' ); diff --git a/test/ut3_tester/core/test_suite_builder.pks b/test/ut3_tester/core/test_suite_builder.pks index f1fa7f157..7a85cb946 100644 --- a/test/ut3_tester/core/test_suite_builder.pks +++ b/test/ut3_tester/core/test_suite_builder.pks @@ -146,6 +146,9 @@ create or replace package test_suite_builder is --%test(Is ignored when name value is empty) procedure name_empty_value; + --%test(Is ignored when name value is empty) + procedure multiple_contexts; + --%endcontext --%context(--%throws annotation)