diff --git a/examples/developer_examples/RunExampleTestSuite.sql b/examples/developer_examples/RunExampleTestSuite.sql index 3831e8993..8d077e663 100644 --- a/examples/developer_examples/RunExampleTestSuite.sql +++ b/examples/developer_examples/RunExampleTestSuite.sql @@ -44,8 +44,8 @@ begin dbms_output.put_line('Test:' || test_item.item.form_name); dbms_output.put_line('Result: ' || ut_utils.test_result_to_char(test_item.result)); dbms_output.put_line('expectation Results:'); - for i in test_item.results.first .. test_item.results.last loop - expectation := test_item.results(i); + for i in 1 .. test_item.failed_expectations.count loop + expectation := test_item.failed_expectations(i); dbms_output.put_line(i || ' - result: ' || ut_utils.test_result_to_char(expectation.result)); dbms_output.put_line(i || ' - Message: ' || expectation.message); end loop; diff --git a/old_tests/ut_annotations/ut_annotations.parse_package_annotations.ParseAnnotationParamsWithBrackets.sql b/old_tests/ut_annotations/ut_annotations.parse_package_annotations.ParseAnnotationParamsWithBrackets.sql index 4a8f5cbef..ff8c402de 100644 --- a/old_tests/ut_annotations/ut_annotations.parse_package_annotations.ParseAnnotationParamsWithBrackets.sql +++ b/old_tests/ut_annotations/ut_annotations.parse_package_annotations.ParseAnnotationParamsWithBrackets.sql @@ -24,7 +24,7 @@ END;'; if ut_expectation_processor.get_status = ut_utils.tr_success then :test_result := ut_utils.tr_success; else - l_results := ut_expectation_processor.get_expectations_results(); + l_results := ut_expectation_processor.get_failed_expectations(); for i in 1 .. l_results.count loop dbms_output.put_line(l_results(i).message); end loop; diff --git a/old_tests/ut_expectations/common/ut.expect.to_equal.different_scalars.common.sql b/old_tests/ut_expectations/common/ut.expect.to_equal.different_scalars.common.sql index 07a2ae730..d195bd1a0 100644 --- a/old_tests/ut_expectations/common/ut.expect.to_equal.different_scalars.common.sql +++ b/old_tests/ut_expectations/common/ut.expect.to_equal.different_scalars.common.sql @@ -8,7 +8,7 @@ begin --Act ut.expect(l_actual).&&5.to_equal(l_expected); l_result := ut_expectation_processor.get_status(); - l_message := ut_expectation_processor.get_expectations_results()(1).get_result_clob; + l_message := ut_expectation_processor.get_failed_expectations()(1).get_result_clob; --Assert if nvl(:test_result, ut_utils.tr_success) = ut_utils.tr_success and l_result = ut_utils.tr_failure and l_message like 'Actual (%) cannot be compared to Expected (%) using matcher%' then diff --git a/old_tests/ut_expectations/common/ut.expect.to_equal.scalar.null_value_text.common.sql b/old_tests/ut_expectations/common/ut.expect.to_equal.scalar.null_value_text.common.sql index 9442e4356..cf9ef6d52 100644 --- a/old_tests/ut_expectations/common/ut.expect.to_equal.scalar.null_value_text.common.sql +++ b/old_tests/ut_expectations/common/ut.expect.to_equal.scalar.null_value_text.common.sql @@ -6,7 +6,7 @@ declare begin --Act ut.expect(l_actual).to_equal(l_expected); - l_result := ut_expectation_processor.get_expectations_results()(1); + l_result := ut_expectation_processor.get_failed_expectations()(1); --Assert if nvl(:test_result, ut_utils.tr_success) = ut_utils.tr_success and l_result.get_result_clob like '&&4' then :test_result := ut_utils.tr_success; diff --git a/old_tests/ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql b/old_tests/ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql index a8a2d660f..9389abf4f 100644 --- a/old_tests/ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql +++ b/old_tests/ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql @@ -7,7 +7,7 @@ declare begin --Act ut.expect(l_actual, l_test_description ).to_equal( l_expected); - l_results := ut_expectation_processor.get_expectations_results(); + l_results := ut_expectation_processor.get_failed_expectations(); --Assert if nvl(:test_result, ut_utils.tr_success) = ut_utils.tr_success and treat(l_results(1) as ut_expectation_result).description like '' || l_test_description || '' then diff --git a/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesFailureWhenComparingDifferentObjects.sql b/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesFailureWhenComparingDifferentObjects.sql index cafb5a08f..788059736 100644 --- a/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesFailureWhenComparingDifferentObjects.sql +++ b/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesFailureWhenComparingDifferentObjects.sql @@ -12,7 +12,7 @@ begin if l_result = ut_utils.tr_failure then :test_result := ut_utils.tr_success; else - dbms_output.put_line( substr(ut_expectation_processor.get_expectations_results()(1).get_result_clob(),1,32767) ); + dbms_output.put_line( substr(ut_expectation_processor.get_failed_expectations()(1).get_result_clob(),1,32767) ); end if; end; / diff --git a/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesFailureWhenComparingObejctToCollection.sql b/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesFailureWhenComparingObejctToCollection.sql index 91ffd8fe0..ce1c8be2b 100644 --- a/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesFailureWhenComparingObejctToCollection.sql +++ b/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesFailureWhenComparingObejctToCollection.sql @@ -12,7 +12,7 @@ begin if l_result = ut_utils.tr_failure then :test_result := ut_utils.tr_success; else - dbms_output.put_line( substr(ut_expectation_processor.get_expectations_results()(1).get_result_clob(),1,32767) ); + dbms_output.put_line( substr(ut_expectation_processor.get_failed_expectations()(1).get_result_clob(),1,32767) ); end if; end; / diff --git a/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedCollectionAttributes.sql b/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedCollectionAttributes.sql index 13866c500..c7a21395e 100644 --- a/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedCollectionAttributes.sql +++ b/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedCollectionAttributes.sql @@ -11,7 +11,7 @@ begin ut.expect(anydata.convertCollection(l_actual)).to_equal(anydata.convertCollection(l_expected), a_exclude=>ut_varchar2_list('VALUE')); l_result := ut_expectation_processor.get_status(); - l_results_details := ut_expectation_processor.get_expectations_results(); + l_results_details := ut_expectation_processor.get_failed_expectations(); --Assert if nvl(:test_result, ut_utils.tr_success) = ut_utils.tr_success and l_result = ut_utils.tr_success then :test_result := ut_utils.tr_success; diff --git a/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedCollectionAttributesXPath.sql b/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedCollectionAttributesXPath.sql index 44b1a8c8f..91e2ebbf1 100644 --- a/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedCollectionAttributesXPath.sql +++ b/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedCollectionAttributesXPath.sql @@ -14,7 +14,7 @@ begin a_exclude=>ut_varchar2_list('/UT_KEY_VALUE_PAIRS/UT_KEY_VALUE_PAIR/VALUE') ); l_result := ut_expectation_processor.get_status(); - l_results_details := ut_expectation_processor.get_expectations_results(); + l_results_details := ut_expectation_processor.get_failed_expectations(); --Assert if nvl(:test_result, ut_utils.tr_success) = ut_utils.tr_success and l_result = ut_utils.tr_success then :test_result := ut_utils.tr_success; diff --git a/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedObjectAttributes.sql b/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedObjectAttributes.sql index ddd4da9ce..8dccb53fa 100644 --- a/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedObjectAttributes.sql +++ b/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedObjectAttributes.sql @@ -11,7 +11,7 @@ begin ut.expect(anydata.convertObject(l_actual)).to_equal(anydata.convertObject(l_expected), a_exclude=>'VALUE'); l_result := ut_expectation_processor.get_status(); - l_results_details := ut_expectation_processor.get_expectations_results(); + l_results_details := ut_expectation_processor.get_failed_expectations(); --Assert if nvl(:test_result, ut_utils.tr_success) = ut_utils.tr_success and l_result = ut_utils.tr_success then :test_result := ut_utils.tr_success; diff --git a/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedObjectAttributesXPath.sql b/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedObjectAttributesXPath.sql index c367bc024..255ee0600 100644 --- a/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedObjectAttributesXPath.sql +++ b/old_tests/ut_expectations/ut.expect.to_equal.anydata.GivesSuccessWithExcludedObjectAttributesXPath.sql @@ -11,7 +11,7 @@ begin ut.expect(anydata.convertObject(l_actual)).to_equal(anydata.convertObject(l_expected), a_exclude=>'/UT_KEY_VALUE_PAIR/VALUE'); l_result := ut_expectation_processor.get_status(); - l_results_details := ut_expectation_processor.get_expectations_results(); + l_results_details := ut_expectation_processor.get_failed_expectations(); --Assert if nvl(:test_result, ut_utils.tr_success) = ut_utils.tr_success and l_result = ut_utils.tr_success then :test_result := ut_utils.tr_success; diff --git a/old_tests/ut_expectations/ut.expect.to_equal.anydata.PutsObjectStrucureIntoResult.sql b/old_tests/ut_expectations/ut.expect.to_equal.anydata.PutsObjectStrucureIntoResult.sql index 7dd3c2f27..0d76eba4c 100644 --- a/old_tests/ut_expectations/ut.expect.to_equal.anydata.PutsObjectStrucureIntoResult.sql +++ b/old_tests/ut_expectations/ut.expect.to_equal.anydata.PutsObjectStrucureIntoResult.sql @@ -8,7 +8,7 @@ declare begin --Act ut.expect( anydata.convertObject(l_actual) ).to_equal( anydata.convertObject(l_expected) ); - l_assert_result := treat(ut_expectation_processor.get_expectations_results()(1) as ut_expectation_result); + l_assert_result := treat(ut_expectation_processor.get_failed_expectations()(1) as ut_expectation_result); --Assert if l_assert_result.message like q'[Actual:% diff --git a/old_tests/ut_expectations/ut.expect.to_equal.cursor.ExcludeColumnNameListIsCaseSensitive.sql b/old_tests/ut_expectations/ut.expect.to_equal.cursor.ExcludeColumnNameListIsCaseSensitive.sql index 88af6194a..1d0f3b08d 100644 --- a/old_tests/ut_expectations/ut.expect.to_equal.cursor.ExcludeColumnNameListIsCaseSensitive.sql +++ b/old_tests/ut_expectations/ut.expect.to_equal.cursor.ExcludeColumnNameListIsCaseSensitive.sql @@ -11,7 +11,7 @@ begin open l_expected for select 'a' as "A_Column", 'd' as A_COLUMN, 'x' SOME_COL, 'c' "Some_Col" from dual; ut.expect(l_actual).to_equal(l_expected, a_exclude=>ut_varchar2_list('A_COLUMN','Some_Col')); l_result := ut_expectation_processor.get_status(); - l_results_details := ut_expectation_processor.get_expectations_results(); + l_results_details := ut_expectation_processor.get_failed_expectations(); --Assert if nvl(:test_result, ut_utils.tr_success) = ut_utils.tr_success and l_result = ut_utils.tr_success then :test_result := ut_utils.tr_success; diff --git a/old_tests/ut_expectations/ut.expect.to_equal.cursor.ExcludeColumnNamesAreCaseSensitive.sql b/old_tests/ut_expectations/ut.expect.to_equal.cursor.ExcludeColumnNamesAreCaseSensitive.sql index 3d448f412..20de11c5c 100644 --- a/old_tests/ut_expectations/ut.expect.to_equal.cursor.ExcludeColumnNamesAreCaseSensitive.sql +++ b/old_tests/ut_expectations/ut.expect.to_equal.cursor.ExcludeColumnNamesAreCaseSensitive.sql @@ -11,7 +11,7 @@ begin open l_expected for select 'a' as "A_Column", 'd' as A_COLUMN, 'x' SOME_COL, 'c' "Some_Col" from dual; ut.expect(l_actual).to_equal(l_expected, a_exclude=>'A_COLUMN,Some_Col'); l_result := ut_expectation_processor.get_status(); - l_results_details := ut_expectation_processor.get_expectations_results(); + l_results_details := ut_expectation_processor.get_failed_expectations(); --Assert if nvl(:test_result, ut_utils.tr_success) = ut_utils.tr_success and l_result = ut_utils.tr_success then :test_result := ut_utils.tr_success; diff --git a/old_tests/ut_expectations/ut.expect.to_equal.cursor.ExcludeColumnsXPathIsCaseSensitive.sql b/old_tests/ut_expectations/ut.expect.to_equal.cursor.ExcludeColumnsXPathIsCaseSensitive.sql index a94fa9689..3ceba69a3 100644 --- a/old_tests/ut_expectations/ut.expect.to_equal.cursor.ExcludeColumnsXPathIsCaseSensitive.sql +++ b/old_tests/ut_expectations/ut.expect.to_equal.cursor.ExcludeColumnsXPathIsCaseSensitive.sql @@ -10,7 +10,7 @@ begin open l_expected for select 'a' as "A_Column", 'd' as A_COLUMN, 'x' SOME_COL, 'c' "Some_Col" from dual; ut.expect(l_actual).to_equal(l_expected, a_exclude=>'/ROW/A_COLUMN|/ROW/Some_Col'); l_result := ut_expectation_processor.get_status(); - l_results_details := ut_expectation_processor.get_expectations_results(); + l_results_details := ut_expectation_processor.get_failed_expectations(); --Assert if nvl(:test_result, ut_utils.tr_success) = ut_utils.tr_success and l_result = ut_utils.tr_success then :test_result := ut_utils.tr_success; diff --git a/old_tests/ut_expectations/ut.expect.to_equal.cursor.ReturnsCursorDataForFailure.sql b/old_tests/ut_expectations/ut.expect.to_equal.cursor.ReturnsCursorDataForFailure.sql index f51a1a027..43c8679ab 100644 --- a/old_tests/ut_expectations/ut.expect.to_equal.cursor.ReturnsCursorDataForFailure.sql +++ b/old_tests/ut_expectations/ut.expect.to_equal.cursor.ReturnsCursorDataForFailure.sql @@ -10,7 +10,7 @@ begin open l_expected for select * from user_objects where rownum <=3; ut.expect(l_actual).to_equal(l_expected); - l_result := treat( ut_expectation_processor.get_expectations_results()(1) as ut_expectation_result ); + l_result := treat( ut_expectation_processor.get_failed_expectations()(1) as ut_expectation_result ); --Assert if nvl(:test_result, ut_utils.tr_success) = ut_utils.tr_success and l_result.message like q'[Actual:% diff --git a/old_tests/ut_expectations/ut.expect.to_equal.with_text.GivesTheProvidedTextAsMessage.sql b/old_tests/ut_expectations/ut.expect.to_equal.with_text.GivesTheProvidedTextAsMessage.sql index 96efccdd8..223d50e3c 100644 --- a/old_tests/ut_expectations/ut.expect.to_equal.with_text.GivesTheProvidedTextAsMessage.sql +++ b/old_tests/ut_expectations/ut.expect.to_equal.with_text.GivesTheProvidedTextAsMessage.sql @@ -1,14 +1,14 @@ -@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'blob' 'to_blob(''abc'')' 'to_blob(''abc'')'" -@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'boolean' 'true' 'true'" -@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'clob' '''abc''' '''abc'''" -@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'date' 'sysdate' 'sysdate'" -@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'number' '1' '1'" -@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'timestamp' 'sysdate' 'sysdate'" -@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'timestamp with local time zone' 'sysdate' 'sysdate'" -@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'timestamp with time zone' 'sysdate' 'sysdate'" -@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'varchar2(100)' '''abc''' '''abc'''" -@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'interval day to second' '''2 01:00:00''' '''2 01:00:00'''" -@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'interval year to month' '''1-1''' '''1-1'''" +@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'blob' 'to_blob(''abcd'')' 'to_blob(''abc'')'" +@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'boolean' 'false' 'true'" +@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'clob' '''abcd''' '''abc'''" +@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'date' 'sysdate-1' 'sysdate'" +@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'number' '2' '1'" +@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'timestamp' 'sysdate-1' 'sysdate'" +@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'timestamp with local time zone' 'sysdate-1' 'sysdate'" +@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'timestamp with time zone' 'sysdate-1' 'sysdate'" +@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'varchar2(100)' '''abcd''' '''abc'''" +@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'interval day to second' '''2 01:01:00''' '''2 01:00:00'''" +@@lib/RunTest.sql "ut_expectations/common/ut.expect.to_equal.scalar.with_message.common.sql 'interval year to month' '''1-2''' '''1-1'''" diff --git a/old_tests/ut_output_buffer/get_lines.RecievesALineFromBufferTableAndDeletes.sql b/old_tests/ut_output_buffer/get_lines.RecievesALineFromBufferTableAndDeletes.sql index de5d405bd..94722ce7b 100644 --- a/old_tests/ut_output_buffer/get_lines.RecievesALineFromBufferTableAndDeletes.sql +++ b/old_tests/ut_output_buffer/get_lines.RecievesALineFromBufferTableAndDeletes.sql @@ -20,7 +20,7 @@ begin if ut_expectation_processor.get_status = ut_utils.tr_success then :test_result := ut_utils.tr_success; else - dbms_output.put_line(ut_expectation_processor.get_expectations_results()(1).get_result_clob); + dbms_output.put_line(ut_expectation_processor.get_failed_expectations()(1).get_result_clob); end if; delete from ut_output_buffer_tmp where reporter_id = l_reporter.reporter_id; diff --git a/old_tests/ut_output_buffer/get_lines.WaitsForTheDataToAppearForSpecifiedTime.sql b/old_tests/ut_output_buffer/get_lines.WaitsForTheDataToAppearForSpecifiedTime.sql index de5d405bd..94722ce7b 100644 --- a/old_tests/ut_output_buffer/get_lines.WaitsForTheDataToAppearForSpecifiedTime.sql +++ b/old_tests/ut_output_buffer/get_lines.WaitsForTheDataToAppearForSpecifiedTime.sql @@ -20,7 +20,7 @@ begin if ut_expectation_processor.get_status = ut_utils.tr_success then :test_result := ut_utils.tr_success; else - dbms_output.put_line(ut_expectation_processor.get_expectations_results()(1).get_result_clob); + dbms_output.put_line(ut_expectation_processor.get_failed_expectations()(1).get_result_clob); end if; delete from ut_output_buffer_tmp where reporter_id = l_reporter.reporter_id; diff --git a/old_tests/ut_output_buffer/send_line.DoesNotSendLineIfNullReporterIdGiven.sql b/old_tests/ut_output_buffer/send_line.DoesNotSendLineIfNullReporterIdGiven.sql index b56eaf5bf..06e373cf3 100644 --- a/old_tests/ut_output_buffer/send_line.DoesNotSendLineIfNullReporterIdGiven.sql +++ b/old_tests/ut_output_buffer/send_line.DoesNotSendLineIfNullReporterIdGiven.sql @@ -12,7 +12,7 @@ begin if ut_expectation_processor.get_status = ut_utils.tr_success then :test_result := ut_utils.tr_success; else - dbms_output.put_line(ut_expectation_processor.get_expectations_results()(1).get_result_clob); + dbms_output.put_line(ut_expectation_processor.get_failed_expectations()(1).get_result_clob); end if; end; diff --git a/old_tests/ut_output_buffer/send_line.DoesNotSendLineIfNullTextGiven.sql b/old_tests/ut_output_buffer/send_line.DoesNotSendLineIfNullTextGiven.sql index 93bf58684..32c0f4f3b 100644 --- a/old_tests/ut_output_buffer/send_line.DoesNotSendLineIfNullTextGiven.sql +++ b/old_tests/ut_output_buffer/send_line.DoesNotSendLineIfNullTextGiven.sql @@ -13,7 +13,7 @@ begin if ut_expectation_processor.get_status = ut_utils.tr_success then :test_result := ut_utils.tr_success; else - dbms_output.put_line(ut_expectation_processor.get_expectations_results()(1).get_result_clob); + dbms_output.put_line(ut_expectation_processor.get_failed_expectations()(1).get_result_clob); end if; end; diff --git a/old_tests/ut_output_buffer/send_line.SendsALineIntoBufferTable.sql b/old_tests/ut_output_buffer/send_line.SendsALineIntoBufferTable.sql index 8a8e6c40b..6da6cc77b 100644 --- a/old_tests/ut_output_buffer/send_line.SendsALineIntoBufferTable.sql +++ b/old_tests/ut_output_buffer/send_line.SendsALineIntoBufferTable.sql @@ -14,7 +14,7 @@ begin if ut_expectation_processor.get_status = ut_utils.tr_success then :test_result := ut_utils.tr_success; else - dbms_output.put_line(ut_expectation_processor.get_expectations_results()(1).get_result_clob); + dbms_output.put_line(ut_expectation_processor.get_failed_expectations()(1).get_result_clob); end if; delete from ut_output_buffer_tmp where reporter_id = l_reporter.reporter_id; diff --git a/old_tests/ut_suite_manager/ut_suite_manager.AllowsDescriptionsWithComma.sql b/old_tests/ut_suite_manager/ut_suite_manager.AllowsDescriptionsWithComma.sql index 398030fea..6789e399b 100644 --- a/old_tests/ut_suite_manager/ut_suite_manager.AllowsDescriptionsWithComma.sql +++ b/old_tests/ut_suite_manager/ut_suite_manager.AllowsDescriptionsWithComma.sql @@ -49,7 +49,7 @@ begin ut.expect(l_test.description).to_equal('A test description, though with comma, is assigned by suite_manager'); - l_results := ut_expectation_processor.get_expectations_results(); + l_results := ut_expectation_processor.get_failed_expectations(); :test_result := ut_utils.tr_success; for i in 1 .. l_results.count loop diff --git a/old_tests/ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTopPackageByName.sql b/old_tests/ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTopPackageByName.sql index f3949cb7b..8253892c4 100644 --- a/old_tests/ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTopPackageByName.sql +++ b/old_tests/ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTopPackageByName.sql @@ -51,7 +51,7 @@ begin declare l_results ut_expectation_results; begin - l_results := ut_expectation_processor.get_expectations_results; + l_results := ut_expectation_processor.get_failed_expectations; for i in 1..l_results.count loop if l_results(i).result > ut_utils.tr_success then dbms_output.put_line(l_results(i).get_result_clob); diff --git a/old_tests/ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTopPackageByNameCurUser.sql b/old_tests/ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTopPackageByNameCurUser.sql index 208b44e46..4140ad2b2 100644 --- a/old_tests/ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTopPackageByNameCurUser.sql +++ b/old_tests/ut_suite_manager/ut_suite_manager.configure_execution_by_path.PrepareRunnerForTheTopPackageByNameCurUser.sql @@ -51,7 +51,7 @@ begin declare l_results ut_expectation_results; begin - l_results := ut_expectation_processor.get_expectations_results; + l_results := ut_expectation_processor.get_failed_expectations; for i in 1..l_results.count loop if l_results(i).result > ut_utils.tr_success then dbms_output.put_line(l_results(i).get_result_clob); diff --git a/old_tests/ut_test_suite/ut_test_suite.DisabledFlagSkipSuite.sql b/old_tests/ut_test_suite/ut_test_suite.DisabledFlagSkipSuite.sql index 308e4027d..c94b474a5 100644 --- a/old_tests/ut_test_suite/ut_test_suite.DisabledFlagSkipSuite.sql +++ b/old_tests/ut_test_suite/ut_test_suite.DisabledFlagSkipSuite.sql @@ -32,7 +32,7 @@ begin dbms_output.put_line( xmltype( anydata.convertcollection( - ut_expectation_processor.get_expectations_results() + ut_expectation_processor.get_failed_expectations() ) ).getclobval() ); diff --git a/source/core/types/ut_test.tpb b/source/core/types/ut_test.tpb index 50a6f4882..99d593c89 100644 --- a/source/core/types/ut_test.tpb +++ b/source/core/types/ut_test.tpb @@ -99,7 +99,8 @@ create or replace type body ut_test as self.result := ut_utils.tr_error; end if; --expectation results need to be part of test results - self.results := ut_expectation_processor.get_expectations_results(); + self.expectations_count := ut_expectation_processor.get_expectations_count(); + self.failed_expectations := ut_expectation_processor.get_failed_expectations(); self.results_count.set_counter_values(self.result); end; diff --git a/source/core/types/ut_test.tps b/source/core/types/ut_test.tps index a8284c58e..80fd12d5b 100644 --- a/source/core/types/ut_test.tps +++ b/source/core/types/ut_test.tps @@ -40,10 +40,14 @@ create or replace type ut_test under ut_suite_item ( */ after_each ut_executable, /** - * The list of expectation results as well as database errors encountered while invoking + * The list of failed expectation results as well as database errors encountered while invoking * The test procedure and the before_test/after_test blocks */ - results ut_expectation_results, + failed_expectations ut_expectation_results, + /** + * The count of all expectations executed in the test + */ + expectations_count integer, parent_error_stack_trace varchar2(4000), constructor function ut_test( self in out nocopy ut_test, a_object_owner varchar2 := null, a_object_name varchar2, a_name varchar2, a_description varchar2 := null, diff --git a/source/core/ut_expectation_processor.pkb b/source/core/ut_expectation_processor.pkb index c53476915..756243ce3 100644 --- a/source/core/ut_expectation_processor.pkb +++ b/source/core/ut_expectation_processor.pkb @@ -52,14 +52,25 @@ create or replace package body ut_expectation_processor as g_expectations_called.delete; end; - function get_expectations_results return ut_expectation_results is + function get_expectations_count return integer is + begin + return g_expectations_called.count; + end; + + function get_failed_expectations return ut_expectation_results is l_expectations_results ut_expectation_results := ut_expectation_results(); begin - ut_utils.debug_log('ut_expectation_processor.get_expectations_results: .count='||g_expectations_called.count); - l_expectations_results := g_expectations_called; + ut_utils.debug_log('ut_expectation_processor.get_failed_expectations: g_expectations_called.count='||g_expectations_called.count); + for i in 1 .. g_expectations_called.count loop + if g_expectations_called(i).status > ut_utils.tr_success then + l_expectations_results.extend; + l_expectations_results(l_expectations_results.last) := g_expectations_called(i); + end if; + end loop; + ut_utils.debug_log('ut_expectation_processor.get_failed_expectations: l_expectations_results.count='||g_expectations_called.count); clear_expectations(); return l_expectations_results; - end get_expectations_results; + end get_failed_expectations; procedure add_expectation_result(a_expectation_result ut_expectation_result) is begin diff --git a/source/core/ut_expectation_processor.pks b/source/core/ut_expectation_processor.pks index 4541c3f64..c3295dedb 100644 --- a/source/core/ut_expectation_processor.pks +++ b/source/core/ut_expectation_processor.pks @@ -28,7 +28,9 @@ create or replace package ut_expectation_processor authid current_user as procedure clear_expectations; - function get_expectations_results return ut_expectation_results; + function get_expectations_count return integer; + + function get_failed_expectations return ut_expectation_results; procedure add_expectation_result(a_expectation_result ut_expectation_result); diff --git a/source/reporters/ut_coverage_report_html_helper.pkb b/source/reporters/ut_coverage_report_html_helper.pkb index 7cc577000..fe6ef8dec 100644 --- a/source/reporters/ut_coverage_report_html_helper.pkb +++ b/source/reporters/ut_coverage_report_html_helper.pkb @@ -106,7 +106,7 @@ create or replace package body ut_coverage_report_html_helper is dbms_lob.createtemporary(l_result, true); l_coverage_pct := coverage_pct(a_coverage_unit.covered_lines, a_coverage_unit.uncovered_lines); l_file_part := - '

'||a_object_full_name||'

' || + '

'||dbms_xmlgen.convert(a_object_full_name)||'

' || '

'||l_coverage_pct||' % covered

' || '
'||(a_coverage_unit.covered_lines+a_coverage_unit.uncovered_lines)||' relevant lines. ' || ''||a_coverage_unit.covered_lines||' lines covered and ' || @@ -179,7 +179,7 @@ create or replace package body ut_coverage_report_html_helper is l_file_part := chr(10)|| '' || - ''||link_to_source_file(l_unit)||'' || + ''||link_to_source_file(dbms_xmlgen.convert(l_unit))||'' || ''||l_coverage_pct||' %' || ''||l_unit_coverage.total_lines||'' || ''||(l_unit_coverage.covered_lines+l_unit_coverage.uncovered_lines)||'' || diff --git a/source/reporters/ut_coverage_sonar_reporter.tpb b/source/reporters/ut_coverage_sonar_reporter.tpb index 156f50fcb..d048bbf7b 100644 --- a/source/reporters/ut_coverage_sonar_reporter.tpb +++ b/source/reporters/ut_coverage_sonar_reporter.tpb @@ -68,7 +68,7 @@ create or replace type body ut_coverage_sonar_reporter is ut_utils.append_to_clob(l_result, c_coverage_header); l_unit := a_coverage_data.objects.first; while l_unit is not null loop - l_file_part := ''||chr(10); + l_file_part := ''||chr(10); ut_utils.append_to_clob(l_result, l_file_part); dbms_lob.append(l_result,get_lines_xml(a_coverage_data.objects(l_unit))); diff --git a/source/reporters/ut_documentation_reporter.tpb b/source/reporters/ut_documentation_reporter.tpb index 08f6aeeaa..06225d8af 100644 --- a/source/reporters/ut_documentation_reporter.tpb +++ b/source/reporters/ut_documentation_reporter.tpb @@ -110,10 +110,8 @@ create or replace type body ut_documentation_reporter is self.print_red_text(ut_utils.table_to_clob(a_test.get_error_stack_traces())); - for j in 1 .. a_test.results.count loop - if a_test.results(j).status > ut_utils.tr_success then - print_failure_for_expectation(a_test.results(j)); - end if; + for j in 1 .. a_test.failed_expectations.count loop + print_failure_for_expectation(a_test.failed_expectations(j)); end loop; self.lvl := self.lvl - 3; diff --git a/source/reporters/ut_sonar_test_reporter.tpb b/source/reporters/ut_sonar_test_reporter.tpb index e1099b3a1..beb5934ac 100644 --- a/source/reporters/ut_sonar_test_reporter.tpb +++ b/source/reporters/ut_sonar_test_reporter.tpb @@ -45,7 +45,7 @@ create or replace type body ut_sonar_test_reporter is procedure print_test_results(a_test ut_test) is l_lines ut_varchar2_list; begin - self.print_text(''); + self.print_text(''); if a_test.result = ut_utils.tr_disabled then self.print_text(''); elsif a_test.result = ut_utils.tr_error then @@ -57,8 +57,8 @@ create or replace type body ut_sonar_test_reporter is elsif a_test.result > ut_utils.tr_success then self.print_text(''); self.print_text(''); + self.print_text(''); for i in 1 .. a_suite.items.count loop if a_suite.items(i) is of(ut_test) then diff --git a/source/reporters/ut_teamcity_reporter.tpb b/source/reporters/ut_teamcity_reporter.tpb index deed2859f..6ee72c7c6 100644 --- a/source/reporters/ut_teamcity_reporter.tpb +++ b/source/reporters/ut_teamcity_reporter.tpb @@ -57,7 +57,6 @@ create or replace type body ut_teamcity_reporter is end; overriding member procedure after_calling_test(self in out nocopy ut_teamcity_reporter, a_test in ut_test) is - l_expectation ut_expectation_result; l_test_full_name varchar2(4000); l_std_err_msg varchar2(32767); begin @@ -95,22 +94,14 @@ create or replace type body ut_teamcity_reporter is ,a_out => trim(l_std_err_msg))); self.print_text(ut_teamcity_reporter_helper.test_failed(a_test_name => l_test_full_name ,a_msg => 'Error occured' - ,a_details => trim(l_std_err_msg) || case when a_test.results is not null and a_test.results.count>0 then a_test.results(1) + ,a_details => trim(l_std_err_msg) || case when a_test.failed_expectations is not null and a_test.failed_expectations.count>0 then a_test.failed_expectations(1) .message end)); - elsif a_test.results is not null and a_test.results.count > 0 then - for i in 1 .. a_test.results.count loop + elsif a_test.failed_expectations is not null and a_test.failed_expectations.count > 0 then + -- Teamcity supports only a single failure message - l_expectation := a_test.results(i); - - if l_expectation.status > ut_utils.tr_success then - self.print_text(ut_teamcity_reporter_helper.test_failed(a_test_name => l_test_full_name - ,a_msg => l_expectation.description - ,a_details => l_expectation.message )); - -- Teamcity supports only a single failure message - exit; - end if; - - end loop; + self.print_text(ut_teamcity_reporter_helper.test_failed(a_test_name => l_test_full_name + ,a_msg => a_test.failed_expectations(a_test.failed_expectations.first).description + ,a_details => a_test.failed_expectations(a_test.failed_expectations.first).message )); elsif a_test.result = ut_utils.tr_failure then self.print_text(ut_teamcity_reporter_helper.test_failed(a_test_name => l_test_full_name ,a_msg => 'Test failed')); diff --git a/source/reporters/ut_xunit_reporter.tpb b/source/reporters/ut_xunit_reporter.tpb index a41b28f46..3c47f28fc 100644 --- a/source/reporters/ut_xunit_reporter.tpb +++ b/source/reporters/ut_xunit_reporter.tpb @@ -36,8 +36,8 @@ create or replace type body ut_xunit_reporter is l_lines ut_varchar2_list; l_output clob; begin - self.print_text(''); if a_test.result = ut_utils.tr_disabled then @@ -52,11 +52,12 @@ create or replace type body ut_xunit_reporter is elsif a_test.result > ut_utils.tr_success then self.print_text(''); self.print_text(''); self.print_text(''); @@ -80,7 +81,7 @@ create or replace type body ut_xunit_reporter is begin a_suite_id := a_suite_id + 1; self.print_text(''); + dbms_xmlgen.convert(a_suite.path) || '" ' || self.get_common_item_attributes(a_suite) || '>'); if a_suite is of(ut_suite) then l_suite := treat(a_suite as ut_suite); @@ -122,7 +123,7 @@ create or replace type body ut_xunit_reporter is member function get_common_item_attributes(a_item ut_suite_item) return varchar2 is begin - return ' skipped="' || a_item.results_count.disabled_count || '" error="' || a_item.results_count.errored_count || '"' || ' failure="' || a_item.results_count.failure_count || '" name="' || nvl(a_item.description, a_item.name) || '"' || ' time="' || a_item.execution_time() || '" '; + return ' skipped="' || a_item.results_count.disabled_count || '" error="' || a_item.results_count.errored_count || '"' || ' failure="' || a_item.results_count.failure_count || '" name="' || dbms_xmlgen.convert(nvl(a_item.description, a_item.name)) || '"' || ' time="' || a_item.execution_time() || '" '; end; end; diff --git a/test/install_tests.sql b/test/install_tests.sql index 6e03a6f61..a9e1fa210 100644 --- a/test/install_tests.sql +++ b/test/install_tests.sql @@ -1,3 +1,4 @@ +set define off whenever sqlerror exit failure rollback whenever oserror exit failure rollback @@ -10,6 +11,7 @@ whenever oserror exit failure rollback @@ut_reporters/test_coverage.pks @@ut_reporters/test_coverage_sonar_reporter.pks @@ut_reporters/test_coveralls_reporter.pks +@@ut_reporters/test_xunit_reporter.pks @ut_expectations/test_expectations_cursor.pks @@ut_runner/test_ut_runner.pks @@ -22,6 +24,7 @@ whenever oserror exit failure rollback @@ut_reporters/test_coverage.pkb @@ut_reporters/test_coverage_sonar_reporter.pkb @@ut_reporters/test_coveralls_reporter.pkb +@@ut_reporters/test_xunit_reporter.pkb @ut_expectations/test_expectations_cursor.pkb @@ut_runner/test_ut_runner.pkb diff --git a/test/ut_matchers/test_matchers.pkb b/test/ut_matchers/test_matchers.pkb index 5808a9bf8..96614a470 100644 --- a/test/ut_matchers/test_matchers.pkb +++ b/test/ut_matchers/test_matchers.pkb @@ -3,19 +3,19 @@ create or replace package body test_matchers is procedure restore_asserts(a_assert_results ut3.ut_expectation_results) is begin ut3.ut_expectation_processor.clear_expectations; - + if a_assert_results is not null then for i in 1 .. a_assert_results.count loop ut3.ut_expectation_processor.add_expectation_result(a_assert_results(i)); end loop; end if; end; - + procedure transfer_results is l_assert_results ut3.ut_expectation_results; l_new_result ut3_latest_release.ut_expectation_result; begin - l_assert_results := ut3.ut_expectation_processor.get_expectations_results; + l_assert_results := ut3.ut_expectation_processor.get_failed_expectations; for i in 1..l_assert_results.count loop l_new_result := ut3_latest_release.ut_expectation_result(l_assert_results(i).status, l_assert_results(i).description, @@ -30,8 +30,8 @@ create or replace package body test_matchers is l_result integer; l_statement varchar2(32767); begin - l_assert_results := ut3.ut_expectation_processor.get_expectations_results; - l_statement := 'declare + l_assert_results := ut3.ut_expectation_processor.get_failed_expectations; + l_statement := 'declare l_value1 '||a_type||' := '||a_actual_value||'; l_value2 '||a_type||' := '||a_expected_value||'; begin ut3.ut.expect(l_value1).'||a_prefix||'to_'||a_matcher||'(l_value2); end;'; @@ -40,14 +40,14 @@ begin ut3.ut.expect(l_value1).'||a_prefix||'to_'||a_matcher||'(l_value2); end;'; restore_asserts(l_assert_results); ut.expect(l_result, 'exec_'||a_matcher||':'||chr(10)||l_statement).to_equal(a_result); end exec_matcher; - + procedure exec_be_between(a_type varchar2, a_actual_value varchar2, a_expected1_value varchar2, a_expected2_value varchar2,a_result integer) is l_assert_results ut3.ut_expectation_results; l_result integer; l_statement varchar2(32767); begin - l_assert_results := ut3.ut_expectation_processor.get_expectations_results; - l_statement := 'declare + l_assert_results := ut3.ut_expectation_processor.get_failed_expectations; + l_statement := 'declare l_actual_value '||a_type||' := '||a_actual_value||'; l_value1 '||a_type||' := '||a_expected1_value||'; l_value2 '||a_type||' := '||a_expected2_value||'; @@ -57,38 +57,38 @@ begin ut3.ut.expect(l_actual_value).to_be_between(l_value1, l_value2); end;'; restore_asserts(l_assert_results); ut.expect(l_result, 'exec_be_between:'||chr(10)||l_statement).to_equal(a_result); end exec_be_between; - + procedure exec_be_less_than(a_type varchar2, a_actual_value varchar2, a_expected_value varchar2, a_result integer, a_prefix varchar2 default null) is begin exec_matcher(a_type, a_actual_value, a_expected_value, 'be_less_than',a_result, a_prefix); end; - + procedure exec_be_less_or_equal(a_type varchar2, a_actual_value varchar2, a_expected_value varchar2, a_result integer, a_prefix varchar2 default null) is begin exec_matcher(a_type, a_actual_value, a_expected_value, 'be_less_or_equal',a_result, a_prefix); end; - + procedure exec_be_greater_than(a_type varchar2, a_actual_value varchar2, a_expected_value varchar2, a_result integer, a_prefix varchar2 default null) is begin exec_matcher(a_type, a_actual_value, a_expected_value, 'be_greater_than',a_result, a_prefix); end; - + procedure exec_be_greater_or_equal(a_type varchar2, a_actual_value varchar2, a_expected_value varchar2, a_result integer, a_prefix varchar2 default null) is begin exec_matcher(a_type, a_actual_value, a_expected_value, 'be_greater_or_equal',a_result, a_prefix); end; - + procedure exec_be_between2(a_type varchar2, a_actual_value varchar2, a_expected1_value varchar2, a_expected2_value varchar2,a_result integer, a_not_prefix varchar2 default null) is l_assert_results ut3.ut_expectation_results; l_result integer; l_statement varchar2(32767); begin - l_assert_results := ut3.ut_expectation_processor.get_expectations_results; - l_statement := 'declare + l_assert_results := ut3.ut_expectation_processor.get_failed_expectations; + l_statement := 'declare l_actual_value '||a_type||' := '||a_actual_value||'; l_value1 '||a_type||' := '||a_expected1_value||'; l_value2 '||a_type||' := '||a_expected2_value||'; @@ -98,13 +98,13 @@ begin ut3.ut.expect(l_actual_value).'||a_not_prefix||'to_be_between(l_value1, l_ restore_asserts(l_assert_results); ut.expect(l_result, 'exec_be_between2:'||chr(10)||l_statement).to_equal(a_result); end exec_be_between2; - + procedure exec_match(a_type varchar2, a_actual_value varchar2, a_pattern varchar2, a_modifiers varchar2, a_result integer, a_not_prefix varchar2 default null) is l_statement varchar2(32767); l_assert_results ut3.ut_expectation_results; l_result integer; begin - l_assert_results := ut3.ut_expectation_processor.get_expectations_results; + l_assert_results := ut3.ut_expectation_processor.get_failed_expectations; l_statement := 'declare l_actual '||a_type||' := '||a_actual_value||'; l_pattern varchar2(32767) := :a_pattern; @@ -119,7 +119,7 @@ begin ut3.ut.expect( l_actual ).'||a_not_prefix||'to_match(l_pattern, l_modifier procedure test_be_less_than is begin - + exec_be_less_than('date', 'sysdate', 'sysdate-1', ut3.ut_utils.tr_failure, ''); exec_be_less_than('number', '2.0', '1.99', ut3.ut_utils.tr_failure, ''); exec_be_less_than('interval year to month', '''2-1''', '''2-0''', ut3.ut_utils.tr_failure, ''); @@ -142,10 +142,10 @@ begin ut3.ut.expect( l_actual ).'||a_not_prefix||'to_match(l_pattern, l_modifier exec_be_less_than('interval day to second', '''2 01:00:00''', '''2 00:59:59''', ut3.ut_utils.tr_success, 'not_'); exec_be_less_than('timestamp', 'to_timestamp(''1997 13'',''YYYY FF'')', 'to_timestamp(''1997 12'',''YYYY FF'')', ut3.ut_utils.tr_success, 'not_'); exec_be_less_than('timestamp with time zone', 'to_timestamp_tz(''1997 12 +01:00'',''YYYY FF TZR'')', 'to_timestamp_tz(''1997 12 +02:00'',''YYYY FF TZR'')', ut3.ut_utils.tr_success, 'not_'); - exec_be_less_than('timestamp with local time zone', 'to_timestamp_tz(''1997 12 +01:00'',''YYYY FF TZR'')', 'to_timestamp_tz(''1997 12 +02:00'',''YYYY FF TZR'')', ut3.ut_utils.tr_success, 'not_'); - - end; - + exec_be_less_than('timestamp with local time zone', 'to_timestamp_tz(''1997 12 +01:00'',''YYYY FF TZR'')', 'to_timestamp_tz(''1997 12 +02:00'',''YYYY FF TZR'')', ut3.ut_utils.tr_success, 'not_'); + + end; + procedure test_be_greater_or_equal is begin exec_be_greater_or_equal('date', 'sysdate', 'sysdate-1', ut3.ut_utils.tr_success); @@ -181,10 +181,10 @@ begin ut3.ut.expect( l_actual ).'||a_not_prefix||'to_match(l_pattern, l_modifier exec_be_greater_or_equal('timestamp with local time zone', 'to_timestamp_tz(''1997 +03:00'',''YYYY TZR'')', 'to_timestamp_tz(''1997 +02:00'',''YYYY TZR'')', ut3.ut_utils.tr_success, 'not_'); end; - + procedure test_be_greater_than is begin - + exec_be_greater_than('date', 'sysdate', 'sysdate-1', ut3.ut_utils.tr_success, ''); exec_be_greater_than('number', '2.0', '1.99', ut3.ut_utils.tr_success, ''); exec_be_greater_than('interval year to month', '''2-1''', '''2-0''', ut3.ut_utils.tr_success, ''); @@ -207,13 +207,13 @@ begin ut3.ut.expect( l_actual ).'||a_not_prefix||'to_match(l_pattern, l_modifier exec_be_greater_than('interval day to second', '''2 01:00:00''', '''2 01:00:00''', ut3.ut_utils.tr_success, 'not_'); exec_be_greater_than('timestamp', 'to_timestamp(''1997 13'',''YYYY FF'')', 'to_timestamp(''1997 13'',''YYYY FF'')', ut3.ut_utils.tr_success, 'not_'); exec_be_greater_than('timestamp with time zone', 'to_timestamp_tz(''1997 +01:00'',''YYYY TZR'')', 'to_timestamp_tz(''1997 +01:00'',''YYYY TZR'')', ut3.ut_utils.tr_success, 'not_'); - exec_be_greater_than('timestamp with local time zone', 'to_timestamp_tz(''1997 +01:00'',''YYYY TZR'')', 'to_timestamp_tz(''1997 +01:00'',''YYYY TZR'')', ut3.ut_utils.tr_success, 'not_'); - + exec_be_greater_than('timestamp with local time zone', 'to_timestamp_tz(''1997 +01:00'',''YYYY TZR'')', 'to_timestamp_tz(''1997 +01:00'',''YYYY TZR'')', ut3.ut_utils.tr_success, 'not_'); + end; - + procedure test_be_less_or_equal is begin - + exec_be_less_or_equal('date', 'sysdate', 'sysdate-1', ut3.ut_utils.tr_failure, ''); exec_be_less_or_equal('number', '2.0', '1.99', ut3.ut_utils.tr_failure, ''); exec_be_less_or_equal('interval year to month', '''2-1''', '''2-0''', ut3.ut_utils.tr_failure, ''); @@ -244,10 +244,10 @@ begin ut3.ut.expect( l_actual ).'||a_not_prefix||'to_match(l_pattern, l_modifier exec_be_less_or_equal('interval day to second', '''2 01:00:00''', '''2 00:59:59''', ut3.ut_utils.tr_success, 'not_'); exec_be_less_or_equal('timestamp', 'to_timestamp(''1997 13'',''YYYY FF'')', 'to_timestamp(''1997 12'',''YYYY FF'')', ut3.ut_utils.tr_success, 'not_'); exec_be_less_or_equal('timestamp with time zone', 'to_timestamp_tz(''1997 +01:00'',''YYYY TZR'')', 'to_timestamp_tz(''1997 +02:00'',''YYYY TZR'')', ut3.ut_utils.tr_success, 'not_'); - exec_be_less_or_equal('timestamp with local time zone', 'to_timestamp_tz(''1997 +01:00'',''YYYY TZR'')', 'to_timestamp_tz(''1997 +02:00'',''YYYY TZR'')', ut3.ut_utils.tr_success, 'not_'); - + exec_be_less_or_equal('timestamp with local time zone', 'to_timestamp_tz(''1997 +01:00'',''YYYY TZR'')', 'to_timestamp_tz(''1997 +02:00'',''YYYY TZR'')', ut3.ut_utils.tr_success, 'not_'); + end; - + procedure test_be_between is begin @@ -269,7 +269,7 @@ begin ut3.ut.expect( l_actual ).'||a_not_prefix||'to_match(l_pattern, l_modifier exec_be_between('timestamp with local time zone', 'to_timestamp_tz(''1997-01-31 09:26:50.12 +02:00'',''YYYY-MM-DD HH24.MI.SS.FF TZR'')', 'to_timestamp_tz(''1997-01-31 09:26:50.12 +03:00'',''YYYY-MM-DD HH24.MI.SS.FF TZR'')', 'to_timestamp_tz(''1997-01-31 09:26:50.12 +01:00'',''YYYY-MM-DD HH24.MI.SS.FF TZR'')', ut3.ut_utils.tr_success); exec_be_between('timestamp with time zone', 'to_timestamp_tz(''1997-01-31 09:26:50.12 +02:00'',''YYYY-MM-DD HH24.MI.SS.FF TZR'')', 'to_timestamp_tz(''1997-01-31 09:26:50.12 +03:00'',''YYYY-MM-DD HH24.MI.SS.FF TZR'')', 'to_timestamp_tz(''1997-01-31 09:26:50.12 +01:00'',''YYYY-MM-DD HH24.MI.SS.FF TZR'')', ut3.ut_utils.tr_success); end; - + procedure test_be_between2 is begin @@ -349,7 +349,7 @@ begin ut3.ut.expect( l_actual ).'||a_not_prefix||'to_match(l_pattern, l_modifier exec_be_between2('interval year to month', '''2-2''', 'null', '''2-1''', ut3.ut_utils.tr_failure, 'not_'); exec_be_between2('interval day to second', '''2 01:00:00''', 'null', '''2 00:59:59''', ut3.ut_utils.tr_failure, 'not_'); end; - + procedure test_match is begin exec_match('varchar2(100)', '''Stephen''', '^Ste(v|ph)en$', '', ut3.ut_utils.tr_success, ''); @@ -372,7 +372,7 @@ begin ut3.ut.expect( l_actual ).'||a_not_prefix||'to_match(l_pattern, l_modifier exec_match('clob', 'to_clob(rpad('', '',32767)||''Stephen'')', '^Stephen', '', ut3.ut_utils.tr_success, 'not_'); exec_match('clob', 'to_clob(rpad('', '',32767)||''sTEPHEN'')', '^Stephen', 'i', ut3.ut_utils.tr_success, 'not_'); end; - + procedure test_be_empty_cursor is l_cursor sys_refcursor; l_result integer; @@ -380,19 +380,19 @@ begin ut3.ut.expect( l_actual ).'||a_not_prefix||'to_match(l_pattern, l_modifier begin open l_cursor for select * from dual where 1 = 2; ut3.ut.expect(l_cursor).to_be_empty; - + transfer_results; - - l_assert_results := ut3.ut_expectation_processor.get_expectations_results; + + l_assert_results := ut3.ut_expectation_processor.get_failed_expectations; open l_cursor for select * from dual where 1 = 1; ut3.ut.expect(l_cursor).to_be_empty; l_result := ut3.ut_expectation_processor.get_status; restore_asserts(l_assert_results); - + ut.expect(l_result,'Expect cursor to be not empty').to_equal(ut3.ut_utils.tr_failure); end; - + procedure test_be_nonempty_cursor is l_cursor sys_refcursor; l_result integer; @@ -400,53 +400,53 @@ begin ut3.ut.expect( l_actual ).'||a_not_prefix||'to_match(l_pattern, l_modifier begin open l_cursor for select * from dual where 1 = 1; ut3.ut.expect(l_cursor).not_to_be_empty; - + transfer_results; - - l_assert_results := ut3.ut_expectation_processor.get_expectations_results; + + l_assert_results := ut3.ut_expectation_processor.get_failed_expectations; open l_cursor for select * from dual where 1 = 2; ut3.ut.expect(l_cursor).not_to_be_empty; l_result := ut3.ut_expectation_processor.get_status; restore_asserts(l_assert_results); - + ut.expect(l_result,'Expect cursor to be empty').to_equal(ut3.ut_utils.tr_failure); end; - + procedure test_be_empty_collection is l_result integer; l_assert_results ut3.ut_expectation_results; begin - ut3.ut.expect(anydata.convertcollection(ora_mining_varchar2_nt())).to_be_empty; - + ut3.ut.expect(anydata.convertcollection(ora_mining_varchar2_nt())).to_be_empty; + transfer_results; - - l_assert_results := ut3.ut_expectation_processor.get_expectations_results; - + + l_assert_results := ut3.ut_expectation_processor.get_failed_expectations; + ut3.ut.expect(anydata.convertcollection(ora_mining_varchar2_nt('a'))).to_be_empty; l_result := ut3.ut_expectation_processor.get_status; restore_asserts(l_assert_results); - + ut.expect(l_result,'Expect collection to be not empty').to_equal(ut3.ut_utils.tr_failure); end; - + procedure test_be_nonempty_collection is l_result integer; l_assert_results ut3.ut_expectation_results; begin - ut3.ut.expect(anydata.convertcollection(ora_mining_varchar2_nt('a'))).not_to_be_empty; - + ut3.ut.expect(anydata.convertcollection(ora_mining_varchar2_nt('a'))).not_to_be_empty; + transfer_results; - - l_assert_results := ut3.ut_expectation_processor.get_expectations_results; - + + l_assert_results := ut3.ut_expectation_processor.get_failed_expectations; + ut3.ut.expect(anydata.convertcollection(ora_mining_varchar2_nt())).not_to_be_empty; l_result := ut3.ut_expectation_processor.get_status; restore_asserts(l_assert_results); - + ut.expect(l_result,'Expect collection to be empty').to_equal(ut3.ut_utils.tr_failure); end; - + procedure test_be_empty_others is l_var1 ut3.ut_data_value_number; l_var2 ut3.ut_data_value_number; @@ -456,16 +456,16 @@ begin ut3.ut.expect( l_actual ).'||a_not_prefix||'to_match(l_pattern, l_modifier l_var1 := ut3.ut_data_value_number(1); ut3.ut.expect(anydata.ConvertObject(l_var1)).not_to_be_empty; ut3.ut.expect(anydata.ConvertObject(l_var2)).to_be_empty; - + transfer_results; end; - + procedure test_be_like is procedure exec_be_like(a_type varchar2, a_value varchar2, a_pattern varchar2, a_escape varchar2, a_result integer, a_prefix varchar2) is l_result integer; l_assert_results ut3.ut_expectation_results; begin - l_assert_results := ut3.ut_expectation_processor.get_expectations_results; + l_assert_results := ut3.ut_expectation_processor.get_failed_expectations; execute immediate 'declare l_actual ' || a_type || ' := '||a_value||'; l_pattern varchar2(32767) := :pattern; @@ -475,10 +475,10 @@ begin ut3.ut.expect( l_actual ).'||a_not_prefix||'to_match(l_pattern, l_modifier q'[to_be_like(l_pattern, l_escape_char); :l_result := ut3.ut_expectation_processor.get_status(); end;]' using a_pattern, a_escape, out l_result; - restore_asserts(l_assert_results); + restore_asserts(l_assert_results); ut.expect(l_result ,'expected: ''' || a_value || ''', to be like ''' || a_pattern || ''' escape ''' || a_escape || '''').to_equal(a_result); - + end; begin exec_be_like('varchar2(100)', '''Stephen_King''', 'Ste__en%', '', ut3.ut_utils.tr_success, ''); @@ -501,7 +501,7 @@ begin ut3.ut.expect( l_actual ).'||a_not_prefix||'to_match(l_pattern, l_modifier exec_be_like('clob', 'rpad(''a'',32767,''a'')||''Stephen_King''', 'a%Ste_en%', '', ut3.ut_utils.tr_success, 'not_'); exec_be_like('clob', 'rpad(''a'',32767,''a'')||''Stephen_King''', 'a%Stephe\__%', '\', ut3.ut_utils.tr_success, 'not_'); end; - + procedure test_timestamp_between is l_value timestamp := to_timestamp('1997-01-31 09:26:50.13','YYYY-MM-DD HH24.MI.SS.FF'); l_value_lower timestamp := to_timestamp('1997-01-31 09:26:50.11','YYYY-MM-DD HH24.MI.SS.FF'); @@ -509,10 +509,10 @@ begin ut3.ut.expect( l_actual ).'||a_not_prefix||'to_match(l_pattern, l_modifier begin ut3.ut.expect(l_value).to_be_between(l_value_lower, l_value_upper); ut3.ut.expect(l_value).not_to_be_between(l_value_upper, l_value_lower); - + transfer_results; end; - + procedure test_timestamp_ltz_between is l_value timestamp with local time zone := to_timestamp_tz('1997-01-31 09:26:50.12 +02:00','YYYY-MM-DD HH24.MI.SS.FF TZR'); l_value_lower timestamp with local time zone := to_timestamp_tz('1997-01-31 09:26:50.12 +03:00','YYYY-MM-DD HH24.MI.SS.FF TZR'); @@ -520,10 +520,10 @@ begin ut3.ut.expect( l_actual ).'||a_not_prefix||'to_match(l_pattern, l_modifier begin ut3.ut.expect(l_value).to_be_between(l_value_lower, l_value_upper); ut3.ut.expect(l_value).not_to_be_between(l_value_upper, l_value_lower); - + transfer_results; end; - + procedure test_timestamp_tz_between is l_value timestamp with time zone := to_timestamp_tz('1997-01-31 09:26:50.12 +02:00','YYYY-MM-DD HH24.MI.SS.FF TZR'); l_value_lower timestamp with time zone := to_timestamp_tz('1997-01-31 09:26:50.12 +03:00','YYYY-MM-DD HH24.MI.SS.FF TZR'); @@ -531,7 +531,7 @@ begin ut3.ut.expect( l_actual ).'||a_not_prefix||'to_match(l_pattern, l_modifier begin ut3.ut.expect(l_value).to_be_between(l_value_lower, l_value_upper); ut3.ut.expect(l_value).not_to_be_between(l_value_upper, l_value_lower); - + transfer_results; end; diff --git a/test/ut_reporters/test_coverage.pks b/test/ut_reporters/test_coverage.pks index a45d0357a..492e1a92b 100644 --- a/test/ut_reporters/test_coverage.pks +++ b/test/ut_reporters/test_coverage.pks @@ -1,7 +1,7 @@ create or replace package test_coverage is --%suite - --%suitepath(utplsql.core) + --%suitepath(utplsql.core.reporters) --%beforeall procedure setup_dummy_coverage; diff --git a/test/ut_reporters/test_coverage_sonar_reporter.pkb b/test/ut_reporters/test_coverage_sonar_reporter.pkb index f27960ab4..4d9f1e5dd 100644 --- a/test/ut_reporters/test_coverage_sonar_reporter.pkb +++ b/test/ut_reporters/test_coverage_sonar_reporter.pkb @@ -1,7 +1,6 @@ create or replace package body test_coverage_sonar_reporter is procedure report_on_file is - v_run_id integer; l_results ut3.ut_varchar2_list; l_expected clob; l_actual clob; diff --git a/test/ut_reporters/test_coverage_sonar_reporter.pks b/test/ut_reporters/test_coverage_sonar_reporter.pks index 152da9829..26aad7cb5 100644 --- a/test/ut_reporters/test_coverage_sonar_reporter.pks +++ b/test/ut_reporters/test_coverage_sonar_reporter.pks @@ -1,7 +1,7 @@ create or replace package test_coverage_sonar_reporter is --%suite(ut_coverge_sonar_reporter) - --%suitepath(utplsql.core.test_coverage.reporters) + --%suitepath(utplsql.core.reporters.test_coverage) --%test(reports on a project file mapped to database object) procedure report_on_file; diff --git a/test/ut_reporters/test_coveralls_reporter.pkb b/test/ut_reporters/test_coveralls_reporter.pkb index 8288ad2ea..45e9c8251 100644 --- a/test/ut_reporters/test_coveralls_reporter.pkb +++ b/test/ut_reporters/test_coveralls_reporter.pkb @@ -1,7 +1,6 @@ create or replace package body test_coveralls_reporter is procedure report_on_file is - v_run_id integer; l_results ut3.ut_varchar2_list; l_expected clob; l_actual clob; diff --git a/test/ut_reporters/test_coveralls_reporter.pks b/test/ut_reporters/test_coveralls_reporter.pks index 8dc6ea369..a479e69a2 100644 --- a/test/ut_reporters/test_coveralls_reporter.pks +++ b/test/ut_reporters/test_coveralls_reporter.pks @@ -1,7 +1,7 @@ create or replace package test_coveralls_reporter is --%suite(ut_coveralls_reporter) - --%suitepath(utplsql.core.test_coverage.reporters) + --%suitepath(utplsql.core.reporters.test_coverage) --%test(reports on a project file mapped to database object) procedure report_on_file; diff --git a/test/ut_reporters/test_xunit_reporter.pkb b/test/ut_reporters/test_xunit_reporter.pkb new file mode 100644 index 000000000..892270536 --- /dev/null +++ b/test/ut_reporters/test_xunit_reporter.pkb @@ -0,0 +1,68 @@ +create or replace package body test_xunit_reporter as + + procedure crate_a_test_package is + pragma autonomous_transaction; + begin + execute immediate q'[create or replace package check_xunit_reporting is + --%suite(A suite with ) + + --%test(A test with ) + procedure test_do_stuff; + end;]'; + execute immediate q'[create or replace package body check_xunit_reporting is + procedure test_do_stuff is + begin + ut3.ut.expect(1).to_equal(1); + ut3.ut.expect(1).to_equal(2); + end; + end;]'; + end; + + procedure escapes_special_chars is + l_results ut3.ut_varchar2_list; + l_actual clob; + begin + --Act + select * + bulk collect into l_results + from table(ut3.ut.run('check_xunit_reporting',ut3.ut_xunit_reporter())); + l_actual := ut3.ut_utils.table_to_clob(l_results); + --Assert + ut.expect(l_actual).not_to_be_like('%%'); + ut.expect(l_actual).to_be_like('%<tag>%'); + end; + + procedure reports_only_failed_or_errored is + l_results ut3.ut_varchar2_list; + l_actual clob; + begin + --Act + select * + bulk collect into l_results + from table(ut3.ut.run('check_xunit_reporting',ut3.ut_xunit_reporter())); + l_actual := ut3.ut_utils.table_to_clob(l_results); + --Assert + ut.expect(l_actual).not_to_be_like('%Actual: 1 (number) was expected to equal: 1 (number)%'); + ut.expect(l_actual).to_be_like('%Actual: 1 (number) was expected to equal: 2 (number)%'); + end; + + procedure reports_failed_line is + l_results ut3.ut_varchar2_list; + l_actual clob; + begin + --Act + select * + bulk collect into l_results + from table(ut3.ut.run('check_xunit_reporting',ut3.ut_xunit_reporter())); + l_actual := ut3.ut_utils.table_to_clob(l_results); + --Assert + ut.expect(l_actual).to_be_like('%at "%.CHECK_XUNIT_REPORTING%", line %'); + end; + + procedure remove_test_package is + pragma autonomous_transaction; + begin + execute immediate 'drop package check_xunit_reporting'; + end; +end; +/ diff --git a/test/ut_reporters/test_xunit_reporter.pks b/test/ut_reporters/test_xunit_reporter.pks new file mode 100644 index 000000000..b37153150 --- /dev/null +++ b/test/ut_reporters/test_xunit_reporter.pks @@ -0,0 +1,21 @@ +create or replace package test_xunit_reporter as + + --%suite(ut_xunit_reporter) + --%suitepath(utplsql.core.reporters) + + --%beforeall + procedure crate_a_test_package; + + --%test(Escapes special characters from test and suite description) + procedure escapes_special_chars; + + --%test(Reports only failed expectations and exceptions) + procedure reports_only_failed_or_errored; + + --%test(Reports failed line of test) + procedure reports_failed_line; + + --%afterall + procedure remove_test_package; +end; +/