a/branch/coUnit/coUnit/Unit Test Framework for CODESYS/POUs/FB_coUnitRunner/RunTestSuiteTestsInSequence/svnobj b/branch/coUnit/coUnit/Unit Test Framework for CODESYS/POUs/FB_coUnitRunner/RunTestSuiteTestsInSequence/svnobj
1
Gx_l!0…jüowv›¿ñ„Û$System.StringL{f8a58466-d7f6-439f-bbb8-d4600e41d099}ImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocumentL{f3878285-8e4f-490b-bb1b-9acbb7eb04db}TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}    Id
1
Gx_lÔ!0…jüoëí²ãÁ7o§System.StringL{f8a58466-d7f6-439f-bbb8-d4600e41d099}ImplementationL{3b83b776-fb25-43b8-99f2-3c507c9143fc}TextDocumentL{f3878285-8e4f-490b-bb1b-9acbb7eb04db}TextLinesL{a5de0b0b-1cb5-4913-ac21-9d70293ec00d}    Id
2
longTagText
TimerBetweenExecutionOfTestSuites(PT := TimeBetweenTestSuitesExecution);8(* Run TcUnit test suites *)BIF NOT AllTestSuitesFinished THENp    IF GVL_coUnit.NumberOfInitializedTestSuites = 0 THENL        AllTestSuitesFinished := TRUE;v    ELSIF GVL_coUnit.NumberOfInitializedTestSuites > 0 THENf        IF TimerBetweenExecutionOfTestSuites.Q THENt            TimerBetweenExecutionOfTestSuites.IN := FALSE;        END_IF¾        IF GVL_coUnit.TestSuiteAddresses[CurrentlyRunningTestSuite]^.AreAllTestsFinished() THEN²            IF CurrentlyRunningTestSuite <> GVL_coUnit.NumberOfInitializedTestSuites THENš                NumberOfTestSuitesFinished := NumberOfTestSuitesFinished + 1;–                CurrentlyRunningTestSuite := CurrentlyRunningTestSuite + 1;z                TimerBetweenExecutionOfTestSuites.IN := TRUE;$            END_IFt        ELSIF NOT TimerBetweenExecutionOfTestSuites.Q THENÞ            GVL_coUnit.CurrentTestSuiteBeingCalled := GVL_coUnit.TestSuiteAddresses[CurrentlyRunningTestSuite];–            GVL_coUnit.CurrentTestSuiteBeingCalled^.SetHasStartedRunning(); l            GVL_coUnit.CurrentTestSuiteBeingCalled^();!Ê        (* Check if some event triggered an abortion of running the tests, in that case abort it now."À           This can be accomplished by setting the result of the test suites run to finished. *)#L        IF AbortRunningTestSuites THEN$¦            NumberOfTestSuitesFinished := GVL_coUnit.NumberOfInitializedTestSuites;%ª        IF NumberOfTestSuitesFinished = GVL_coUnit.NumberOfInitializedTestSuites THEN&T            AllTestSuitesFinished := TRUE;'    END_IF(END_IF)V(* Store test suite results continuously *)*TestResults();+R(* Log test suite results continuously *),NTestResultLogger.LogTestSuiteResults();-`(* publish the xUnit Xml file once if enabled *).ZXmlTestResultPublisher.LogTestSuiteResults();/B(* Run the buffered ADS logger *)0F(* GVL_coUnit.AdsMessageQueue(); *)1Interface2L{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}3Š(* This runs all the test suites in sequence (one after the other) *)4VMETHOD INTERNAL RunTestSuiteTestsInSequence5VAR_INPUT6ð    TimeBetweenTestSuitesExecution : TIME; // Time delay between a test suite is finished and the next test suite starts7END_VAR8VAR90    BusyPrinting : BOOL;:v    (* We need to hold a temporary state of the statistics ;Þ       as we don't consider the tests to be completely finished until all test suites have executed completely.<è       The reason we want to do it this way is because a test suite can run over several cycles. Only once all tests=¬       are finished (which might take many cycles), do we gather correct statistics *)>V    NumberOfTestSuitesFinished : UINT := 0;?VAR_INST@¬    (* This variable holds which current test suite is being called, as we are runningAZ       each one in a sequence (one by one) *)BT    CurrentlyRunningTestSuite : UINT := 1;CX    TimerBetweenExecutionOfTestSuites : TOF;ÐÐÐE+ÐÐ   
2
longTagText
TimerBetweenExecutionOfTestSuites(PT := TimeBetweenTestSuitesExecution);8(* Run TcUnit test suites *)BIF NOT AllTestSuitesFinished THENp    IF GVL_coUnit.NumberOfInitializedTestSuites = 0 THENL        AllTestSuitesFinished := TRUE;v    ELSIF GVL_coUnit.NumberOfInitializedTestSuites > 0 THENf        IF TimerBetweenExecutionOfTestSuites.Q THENt            TimerBetweenExecutionOfTestSuites.IN := FALSE;        END_IF¾        IF GVL_coUnit.TestSuiteAddresses[CurrentlyRunningTestSuite]^.AreAllTestsFinished() THEN²            IF CurrentlyRunningTestSuite <> GVL_coUnit.NumberOfInitializedTestSuites THENš                NumberOfTestSuitesFinished := NumberOfTestSuitesFinished + 1;–                CurrentlyRunningTestSuite := CurrentlyRunningTestSuite + 1;z                TimerBetweenExecutionOfTestSuites.IN := TRUE;$            END_IFt        ELSIF NOT TimerBetweenExecutionOfTestSuites.Q THENÞ            GVL_coUnit.CurrentTestSuiteBeingCalled := GVL_coUnit.TestSuiteAddresses[CurrentlyRunningTestSuite];–            GVL_coUnit.CurrentTestSuiteBeingCalled^.SetHasStartedRunning(); l            GVL_coUnit.CurrentTestSuiteBeingCalled^();!Ê        (* Check if some event triggered an abortion of running the tests, in that case abort it now."À           This can be accomplished by setting the result of the test suites run to finished. *)#L        IF AbortRunningTestSuites THEN$¦            NumberOfTestSuitesFinished := GVL_coUnit.NumberOfInitializedTestSuites;%ª        IF NumberOfTestSuitesFinished = GVL_coUnit.NumberOfInitializedTestSuites THEN&T            AllTestSuitesFinished := TRUE;'    END_IF(END_IF)V(* Store test suite results continuously *)*TestResults();+R(* Log test suite results continuously *),NTestResultLogger.LogTestSuiteResults();-`(* publish the xUnit Xml file once if enabled *).ZXmlTestResultPublisher.LogTestSuiteResults();/Interface0L{a9ed5b7e-75c5-4651-af16-d2c27e98cb94}1Š(* This runs all the test suites in sequence (one after the other) *)2VMETHOD INTERNAL RunTestSuiteTestsInSequence3VAR_INPUT4ð    TimeBetweenTestSuitesExecution : TIME; // Time delay between a test suite is finished and the next test suite starts5END_VAR6VAR70    BusyPrinting : BOOL;8v    (* We need to hold a temporary state of the statistics 9Þ       as we don't consider the tests to be completely finished until all test suites have executed completely.:è       The reason we want to do it this way is because a test suite can run over several cycles. Only once all tests;¬       are finished (which might take many cycles), do we gather correct statistics *)<V    NumberOfTestSuitesFinished : UINT := 0;=VAR_INST>¬    (* This variable holds which current test suite is being called, as we are running?Z       each one in a sequence (one by one) *)@T    CurrentlyRunningTestSuite : UINT := 1;AX    TimerBetweenExecutionOfTestSuites : TOF;ÐÐÐE)ÐÐ   
3
­<ÚÐ-
ÐÐ  
3
­<ÚÐ-
ÐÐ  
4
­=ÚÐ-ÐÐ  
4
­=ÚÐ-ÐÐ  
5
­>ÚÐ-ÐÐ  
5
­>ÚÐ-ÐÐ  
6
­?ÚÐ-ÐÐ  
6
­?ÚÐ-ÐÐ  
7
­@ÚÐ-ÐÐ  
7
­@ÚÐ-ÐÐ  
...
...
38
­_ÚÐ-)ÐÐ  
38
­_ÚÐ-)ÐÐ  
39
­`ÚÐ-*ÐÐ  
39
­`ÚÐ-*ÐÐ  
40
­aÚÐ-+ÐÐ  
40
­aÚÐ-+ÐÐ  
41
­bÚÐ-,ÐÐ  
41
­bÚÐ-,ÐÐ  
42
­cÚÐ--ÐÐ  
42
­cÚÐ--ÐÐ  
43
­dÚÐ-.ÐÐ  
43
­dÚÐ-.Ð/0ÐEÐÐ    
44
­eÚÐ-/ÐÐ  
45
­ÚÐ-0Ð12ÐEÐÐ    
46
­*ÚÐ-3ÐÐ  
44
­*ÚÐ-1ÐÐ  
47
­+ÚÐ-4ÐÐ  
45
­+ÚÐ-2ÐÐ  
48
­,ÚÐ-5ÐÐ  
46
­,ÚÐ-3ÐÐ  
49
­-ÚÐ-6ÐÐ  
47
­-ÚÐ-4ÐÐ  
50
­.ÚÐ-7ÐÐ  
48
­.ÚÐ-5ÐÐ  
51
­/ÚÐ-8ÐÐ  
49
­/ÚÐ-6ÐÐ  
52
­0ÚÐ-9ÐÐ  
50
­0ÚÐ-7ÐÐ  
53
­1ÚÐ-:ÐÐ  
51
­1ÚÐ-8ÐÐ  
54
­2ÚÐ-;ÐÐ  
52
­2ÚÐ-9ÐÐ  
55
­3ÚÐ-<ÐÐ  
53
­3ÚÐ-:ÐÐ  
56
­4ÚÐ-=ÐÐ  
54
­4ÚÐ-;ÐÐ  
57
­5ÚÐ->ÐÐ  
55
­5ÚÐ-<ÐÐ  
58
­6ÚÐ-7ÐÐ  
56
­6ÚÐ-5ÐÐ  
59
­7ÚÐ-?ÐÐ  
57
­7ÚÐ-=ÐÐ  
60
­8ÚÐ-@ÐÐ  
58
­8ÚÐ->ÐÐ  
61
­9ÚÐ-AÐÐ  
59
­9ÚÐ-?ÐÐ  
62
­:ÚÐ-BÐÐ  
60
­:ÚÐ-@ÐÐ  
63
­;ÚÐ-CÐÐ  
61
­;ÚÐ-AÐÐ  
64
­ÚÐ-7
62
­ÚÐ-5