[r397]: / trunk / Library / POUs / FB_TestResults / svnobj  Maximize  Restore  History

Download this file

5 lines (5 with data), 14.6 kB

Gx_ló8!0…jüoò/^Ç<åÙ´é,ISystem.StringL{6f9dac99-8de1-4efc-8465-68ac443b7d08}SpecialFuncL{0db3d7bb-cde0-4416-9a7b-ce49a0124323}NoneImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocument	L{f3878285-8e4f-490b-bb1b-9acbb7eb04db}
TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}Id
longTagTextx(* The body of the function block stores the test results *)ÞIF StoringTestSuiteResultNumber <= GVL_CfUnit.NumberOfInitializedTestSuites AND NOT StoredTestSuiteResults THENî    StoringTestSuiteTrigger(CLK := GVL_CfUnit.TestSuiteAddresses[StoringTestSuiteResultNumber]^.AreAllTestsFinished());J    IF StoringTestSuiteTrigger.Q THENž        (* Remove everything except the program name + "." + test suite name *)è        TestSuiteName := F_RemoveInstancePathAndProjectNameFromTestInstancePath(TestInstancePath := GVL_CfUnit.TestSuiteAddresses[StoringTestSuiteResultNumber]^.GetInstancePath());T        (* Store test suite name and ID *)¼        TestSuiteResults.TestSuiteResults[StoringTestSuiteResultNumber].Name := TestSuiteName;ê        TestSuiteResults.TestSuiteResults[StoringTestSuiteResultNumber].Identity := StoringTestSuiteResultNumber - 1;b        (* Store number of tests in test suite *)°        TestSuiteResults.TestSuiteResults[StoringTestSuiteResultNumber].NumberOfTests :=¸            GVL_CfUnit.TestSuiteAddresses[StoringTestSuiteResultNumber]^.GetNumberOfTests();p        (* Store number of failed tests in test suite *)¼        TestSuiteResults.TestSuiteResults[StoringTestSuiteResultNumber].NumberOfFailedTests :=Ä            GVL_CfUnit.TestSuiteAddresses[StoringTestSuiteResultNumber]^.GetNumberOfFailedTests(); n        (* Iterate and print all tests in test suite *)!†        FOR TestsInTestSuiteCounter := 1 TO GVL_CfUnit.TestSuiteAddresses[StoringTestSuiteResultNumber]^.GetNumberOfTests() BY 1 DO"Œ            TestToBeStored := GVL_CfUnit.TestSuiteAddresses[StoringTestSuiteResultNumber]^.GetTestByPosition(TestsInTestSuiteCounter);#B            (* Store test name *)$´            TestSuiteResults.TestSuiteResults[StoringTestSuiteResultNumber].TestCaseResults[TestsInTestSuiteCounter].TestName := TestToBeStored.GetName();%N            (* Store test class name *)&Š            TestSuiteResults.TestSuiteResults[StoringTestSuiteResultNumber].TestCaseResults[TestsInTestSuiteCounter].TestClassName :='®                F_RemoveInstancePathAndProjectNameFromTestInstancePath(GVL_CfUnit.TestSuiteAddresses[StoringTestSuiteResultNumber]^.GetInstancePath());(f            (* Store whether the test has failed *))ˆ            TestSuiteResults.TestSuiteResults[StoringTestSuiteResultNumber].TestCaseResults[TestsInTestSuiteCounter].TestIsFailed :=*T                TestToBeStored.IsFailed();+h            (* Store whether the test was skipped *),Š            TestSuiteResults.TestSuiteResults[StoringTestSuiteResultNumber].TestCaseResults[TestsInTestSuiteCounter].TestIsSkipped :=-V                TestToBeStored.IsSkipped();.x            (* Store the (first failed) assertion message *)/Œ            TestSuiteResults.TestSuiteResults[StoringTestSuiteResultNumber].TestCaseResults[TestsInTestSuiteCounter].FailureMessage :=0j                TestToBeStored.GetAssertionMessage();1           2r            (* Store the (first failed) assertion type *)3†            TestSuiteResults.TestSuiteResults[StoringTestSuiteResultNumber].TestCaseResults[TestsInTestSuiteCounter].FailureType :=4d                TestToBeStored.GetAssertionType();5		END_FOR6®        IF StoringTestSuiteResultNumber = GVL_CfUnit.NumberOfInitializedTestSuites THEN7V            StoredTestSuiteResults := TRUE;8        ELSE9š            StoringTestSuiteResultNumber := StoringTestSuiteResultNumber + 1;:        END_IF;~        StoringTestSuiteTrigger(CLK := FALSE); // Reset trigger<    END_IF=END_IF>¸(* If all test suites have finished storing their results, store the general test results *)?~IF StoredTestSuiteResults AND NOT StoredGeneralTestResults THEN@ //(* If all test suites have finished running, store the general test results *)A //IF StoringTestSuiteResultNumber = GVL_CfUnit.NumberOfInitializedTestSuites ANDB¾//   GVL_CfUnit.TestSuiteAddresses[StoringTestSuiteResultNumber]^.AreAllTestsFinished() AND NOTCD//   StoredGeneralTestResults THEND¨    TestSuiteResults.NumberOfTestSuites := GVL_CfUnit.NumberOfInitializedTestSuites;EÈ    FOR GeneralTestResultsTestSuitesCounter := 1 TO GVL_CfUnit.NumberOfInitializedTestSuites BY 1 DOFÐ        TestSuiteResults.NumberOfTestCases := TestSuiteResults.NumberOfTestCases + TestSuiteResults.TestSuiteResults[GeneralTestResultsTestSuitesCounter].NumberOfTests;GÌ        TestSuiteResults.NumberOfSuccessfulTestCases := TestSuiteResults.NumberOfSuccessfulTestCases +Hž                                                        (TestSuiteResults.TestSuiteResults[GeneralTestResultsTestSuitesCounter].NumberOfTests -Iª                                                         TestSuiteResults.TestSuiteResults[GeneralTestResultsTestSuitesCounter].NumberOfFailedTests);Jô        TestSuiteResults.NumberOfFailedTestCases := TestSuiteResults.NumberOfFailedTestCases + TestSuiteResults.TestSuiteResults[GeneralTestResultsTestSuitesCounter].NumberOfFailedTests;K	END_FORLJ    StoredGeneralTestResults := TRUE;MInterfaceNL{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}OÄ(* This function block holds results of the complete test run, i.e. results for all test suites *)PlFUNCTION_BLOCK FB_TestResults IMPLEMENTS I_TestResultsQVARR,    (* Test results *)SV    TestSuiteResults : ST_TestSuiteResults;T    U0    (* Misc variables *)V¦    StoringTestSuiteResultNumber : UINT(1..GVL_Param_CfUnit.MaxNumberOfTestSuites);WJ    StoringTestSuiteTrigger : R_TRIG;XD    StoredTestSuiteResults : BOOL;YH    StoredGeneralTestResults : BOOL;ZEND_VAR[VAR_TEMP\@    TestSuiteName : T_MaxString;]6    TestName : T_MaxString;^²    TestsInTestSuiteCounter : UINT(1..GVL_Param_CfUnit.MaxNumberOfTestsForEachTestSuite);_:    TestToBeStored : FB_Test;`´    GeneralTestResultsTestSuitesCounter : UINT(1..GVL_Param_CfUnit.MaxNumberOfTestSuites);a"UniqueIdGeneratorb378cPOULeveldL{8e575c5b-1d37-49c6-941b-5c0ec7874787}eStandardf ChildObjectGuidsg8System.Collections.ArrayListh,AddAttributeSubsequentiboolÐÐ-ÐÐ	E
GÐÐ
­îÚÐ-ÐÐ
­ïÚÐ-ÐÐ
­ðÚÐ-ÐÐ
­ñÚÐ-ÐÐ
­òÚÐ-ÐÐ
­óÚÐ-ÐÐ
­ôÚÐ-ÐÐ
­õÚÐ-ÐÐ
­öÚÐ-ÐÐ
­÷ÚÐ-ÐÐ
­øÚÐ-ÐÐ
­ùÚÐ-ÐÐ
­úÚÐ-ÐÐ
­ûÚÐ-ÐÐ
­üÚÐ-ÐÐ
­ýÚÐ-ÐÐ
­þÚÐ-ÐÐ
­ÿÚÐ-ÐÐ
­ÚÐ-ÐÐ
­ÚÐ- ÐÐ
­ÚÐ-!ÐÐ
­ÚÐ-"ÐÐ
­ÚÐ-#ÐÐ
­ÚÐ-$ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-%ÐÐ
­ÚÐ-&ÐÐ
­	ÚÐ-'ÐÐ
­
ÚÐ-ÐÐ
­IÚÐ-(ÐÐ
­JÚÐ-)ÐÐ
­KÚÐ-*ÐÐ
­LÚÐ-ÐÐ
­MÚÐ-+ÐÐ
­NÚÐ-,ÐÐ
­OÚÐ--ÐÐ
­PÚÐ-ÐÐ
­QÚÐ-.ÐÐ
­RÚÐ-/ÐÐ
­SÚÐ-0ÐÐ
­TÚÐ-1ÐÐ
­UÚÐ-2ÐÐ
­VÚÐ-3ÐÐ
­ÚÐ-4ÐÐ
­ÚÐ-5ÐÐ
­ÚÐ-ÐÐ
­ÚÐ-6ÐÐ
­ÚÐ-7ÐÐ
­ÚÐ-8ÐÐ
­ÚÐ-9ÐÐ
­ÚÐ-:ÐÐ
­ÚÐ-;ÐÐ
­ÚÐ-<ÐÐ
­ÚÐ-=ÐÐ
­uÚÐ-ÐÐ
­tÚÐ->ÐÐ
­sÚÐ-?ÐÐ
­xÚÐ-@ÐÐ
­yÚÐ-AÐÐ
­zÚÐ-BÐÐ
­wÚÐ-CÐÐ
­"ÚÐ-DÐÐ
­#ÚÐ-EÐÐ
­$ÚÐ-FÐÐ
­%ÚÐ-GÐÐ
­&ÚÐ-HÐÐ
­'ÚÐ-IÐÐ
­(ÚÐ-JÐÐ
­)ÚÐ-KÐÐ
­*ÚÐ-LÐÐ
­tÚÐ-=ÐMNÐ	E
ÐÐ
­WÚÐ-OÐÐ
­XÚÐ-PÐÐ
­YÚÐ-QÐÐ
­ZÚÐ-RÐÐ
­[ÚÐ-SÐÐ
­\ÚÐ-TÐÐ
­]ÚÐ-UÐÐ
­^ÚÐ-VÐÐ
­_ÚÐ-WÐÐ
­`ÚÐ-XÐÐ
­aÚÐ-YÐÐ
­bÚÐ-ZÐÐ
­cÚÐ-[ÐÐ
­dÚÐ-\ÐÐ
­eÚÐ-]ÐÐ
­fÚÐ-ÐÐ
­gÚÐ-^ÐÐ
­hÚÐ-ÐÐ
­iÚÐ-_ÐÐ
­jÚÐ-`ÐÐ
­ÚÐ-ZÐa-bÐcd-efgÐhi­