Skip to content

Commit a7f96a8

Browse files
committed
test: add test for CANCEL ALL
1 parent 915dde7 commit a7f96a8

File tree

1 file changed

+165
-0
lines changed

1 file changed

+165
-0
lines changed

tests/run.src/miscellaneous.at

Lines changed: 165 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -757,6 +757,171 @@ AT_CHECK([java prog], [0],
757757

758758
AT_CLEANUP
759759

760+
AT_SETUP([CANCEL ALL (3)])
761+
762+
AT_DATA([prog.cbl], [
763+
IDENTIFICATION DIVISION.
764+
PROGRAM-ID. prog.
765+
DATA DIVISION.
766+
WORKING-STORAGE SECTION.
767+
01 WS-COUNTER PIC 9(3) VALUE 0.
768+
01 WS-MESSAGE PIC X(50).
769+
01 P-NAME PIC X(17) VALUE "prog".
770+
PROCEDURE DIVISION.
771+
ADD 1 TO WS-COUNTER.
772+
DISPLAY "@<:@" P-NAME "@:>@ WS-COUNTER = " WS-COUNTER.
773+
774+
CALL "child".
775+
776+
ADD 1 TO WS-COUNTER.
777+
DISPLAY "@<:@" P-NAME "@:>@ WS-COUNTER = " WS-COUNTER.
778+
779+
CALL "child".
780+
781+
ADD 1 TO WS-COUNTER.
782+
DISPLAY "@<:@" P-NAME "@:>@ WS-COUNTER = " WS-COUNTER.
783+
784+
STOP RUN.
785+
])
786+
787+
AT_DATA([child.cbl], [
788+
IDENTIFICATION DIVISION.
789+
PROGRAM-ID. child.
790+
DATA DIVISION.
791+
WORKING-STORAGE SECTION.
792+
01 WS-CALL-COUNT PIC 9(3) VALUE 0.
793+
01 P-NAME PIC X(17) VALUE "child".
794+
PROCEDURE DIVISION.
795+
ADD 1 TO WS-CALL-COUNT.
796+
DISPLAY "@<:@" P-NAME "@:>@ WS-CALL-COUNT = " WS-CALL-COUNT.
797+
798+
CALL "grandchild01".
799+
800+
DISPLAY "@<:@" P-NAME "@:>@ WS-CALL-COUNT = " WS-CALL-COUNT.
801+
802+
CALL "grandchild02".
803+
804+
GOBACK.
805+
])
806+
807+
AT_DATA([grandchild01.cbl], [
808+
IDENTIFICATION DIVISION.
809+
PROGRAM-ID. grandchild01.
810+
DATA DIVISION.
811+
WORKING-STORAGE SECTION.
812+
01 WS-COUNTER PIC 9(3) VALUE 0.
813+
01 P-NAME PIC X(17) VALUE "grandchild01".
814+
PROCEDURE DIVISION.
815+
ADD 1 TO WS-COUNTER.
816+
DISPLAY "@<:@" P-NAME "@:>@ WS-COUNTER = " WS-COUNTER.
817+
818+
CALL "greatgrandchild01".
819+
CALL "greatgrandchild02".
820+
821+
DISPLAY "@<:@" P-NAME "@:>@ *** CANCEL ALL ***".
822+
CANCEL ALL.
823+
824+
CALL "greatgrandchild01".
825+
CALL "greatgrandchild02".
826+
827+
DISPLAY "@<:@" P-NAME "@:>@ WS-COUNTER = " WS-COUNTER.
828+
GOBACK.
829+
])
830+
831+
AT_DATA([grandchild02.cbl], [
832+
IDENTIFICATION DIVISION.
833+
PROGRAM-ID. grandchild02.
834+
DATA DIVISION.
835+
WORKING-STORAGE SECTION.
836+
01 WS-COUNTER PIC 9(3) VALUE 0.
837+
01 P-NAME PIC X(17) VALUE "grandchild02".
838+
PROCEDURE DIVISION.
839+
ADD 1 TO WS-COUNTER.
840+
DISPLAY "@<:@" P-NAME "@:>@ WS-COUNTER = " WS-COUNTER.
841+
842+
IF WS-COUNTER = 1 THEN
843+
DISPLAY "@<:@" P-NAME "@:>@ FIRST CALL"
844+
END-IF.
845+
846+
GOBACK.
847+
])
848+
849+
AT_DATA([greatgrandchild01.cbl], [
850+
IDENTIFICATION DIVISION.
851+
PROGRAM-ID. greatgrandchild01.
852+
DATA DIVISION.
853+
WORKING-STORAGE SECTION.
854+
01 WS-COUNTER PIC 9(3) VALUE 0.
855+
01 P-NAME PIC X(17) VALUE "greatgrandchild01".
856+
PROCEDURE DIVISION.
857+
ADD 1 TO WS-COUNTER.
858+
DISPLAY "@<:@" P-NAME "@:>@ WS-COUNTER = " WS-COUNTER.
859+
860+
IF WS-COUNTER = 1 THEN
861+
DISPLAY "@<:@" P-NAME "@:>@ FIRST CALL"
862+
END-IF.
863+
GOBACK.
864+
])
865+
866+
AT_DATA([greatgrandchild02.cbl], [
867+
IDENTIFICATION DIVISION.
868+
PROGRAM-ID. greatgrandchild02.
869+
DATA DIVISION.
870+
WORKING-STORAGE SECTION.
871+
01 WS-COUNTER PIC 9(3) VALUE 0.
872+
01 P-NAME PIC X(17) VALUE "greatgrandchild02".
873+
PROCEDURE DIVISION.
874+
ADD 1 TO WS-COUNTER.
875+
DISPLAY "@<:@" P-NAME "@:>@ WS-COUNTER = " WS-COUNTER.
876+
877+
IF WS-COUNTER = 1 THEN
878+
DISPLAY "@<:@" P-NAME "@:>@ FIRST CALL"
879+
END-IF.
880+
GOBACK.
881+
])
882+
883+
AT_CHECK([${COBJ} prog.cbl], [0])
884+
AT_CHECK([${COBJ} child.cbl], [0])
885+
AT_CHECK([${COBJ} grandchild01.cbl], [0])
886+
AT_CHECK([${COBJ} grandchild02.cbl], [0])
887+
AT_CHECK([${COBJ} greatgrandchild01.cbl], [0])
888+
AT_CHECK([${COBJ} greatgrandchild02.cbl], [0])
889+
890+
AT_CHECK([java prog], [0],
891+
[@<:@prog @:>@ WS-COUNTER = 001
892+
@<:@child @:>@ WS-CALL-COUNT = 001
893+
@<:@grandchild01 @:>@ WS-COUNTER = 001
894+
@<:@greatgrandchild01@:>@ WS-COUNTER = 001
895+
@<:@greatgrandchild01@:>@ FIRST CALL
896+
@<:@greatgrandchild02@:>@ WS-COUNTER = 001
897+
@<:@greatgrandchild02@:>@ FIRST CALL
898+
@<:@grandchild01 @:>@ *** CANCEL ALL ***
899+
@<:@greatgrandchild01@:>@ WS-COUNTER = 001
900+
@<:@greatgrandchild01@:>@ FIRST CALL
901+
@<:@greatgrandchild02@:>@ WS-COUNTER = 001
902+
@<:@greatgrandchild02@:>@ FIRST CALL
903+
@<:@grandchild01 @:>@ WS-COUNTER = 001
904+
@<:@child @:>@ WS-CALL-COUNT = 001
905+
@<:@grandchild02 @:>@ WS-COUNTER = 001
906+
@<:@grandchild02 @:>@ FIRST CALL
907+
@<:@prog @:>@ WS-COUNTER = 002
908+
@<:@child @:>@ WS-CALL-COUNT = 002
909+
@<:@grandchild01 @:>@ WS-COUNTER = 002
910+
@<:@greatgrandchild01@:>@ WS-COUNTER = 002
911+
@<:@greatgrandchild02@:>@ WS-COUNTER = 002
912+
@<:@grandchild01 @:>@ *** CANCEL ALL ***
913+
@<:@greatgrandchild01@:>@ WS-COUNTER = 001
914+
@<:@greatgrandchild01@:>@ FIRST CALL
915+
@<:@greatgrandchild02@:>@ WS-COUNTER = 001
916+
@<:@greatgrandchild02@:>@ FIRST CALL
917+
@<:@grandchild01 @:>@ WS-COUNTER = 002
918+
@<:@child @:>@ WS-CALL-COUNT = 002
919+
@<:@grandchild02 @:>@ WS-COUNTER = 002
920+
@<:@prog @:>@ WS-COUNTER = 003
921+
])
922+
923+
AT_CLEANUP
924+
760925
AT_SETUP([CALL binary literal parameter/LENGTH OF - so])
761926
AT_CHECK([${SKIP_TEST}])
762927

0 commit comments

Comments
 (0)