Skip to content

Commit 883332f

Browse files
committed
test: add the test for CANCEL ALL implemented in GnuCOBOL
1 parent ac8e206 commit 883332f

File tree

1 file changed

+99
-1
lines changed

1 file changed

+99
-1
lines changed

tests/run.src/miscellaneous.at

Lines changed: 99 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -545,7 +545,7 @@ AT_CHECK([java caller], [0],
545545

546546
AT_CLEANUP
547547

548-
AT_SETUP([CANCEL ALL])
548+
AT_SETUP([CANCEL ALL (1)])
549549

550550
AT_DATA([prog.cob], [
551551
IDENTIFICATION DIVISION.
@@ -594,6 +594,104 @@ AT_CHECK([java prog], [0],
594594

595595
AT_CLEANUP
596596

597+
AT_SETUP([CANCEL ALL (2)])
598+
599+
AT_DATA([prog.cob], [
600+
IDENTIFICATION DIVISION.
601+
PROGRAM-ID. prog.
602+
DATA DIVISION.
603+
WORKING-STORAGE SECTION.
604+
PROCEDURE DIVISION.
605+
CALL "child".
606+
CALL "sister".
607+
DISPLAY "CALL1END".
608+
CALL "child".
609+
CALL "sister".
610+
DISPLAY "CALL2END".
611+
CANCEL ALL.
612+
CALL "child".
613+
CALL "sister".
614+
DISPLAY "CALL3END".
615+
STOP RUN.
616+
])
617+
618+
AT_DATA([child.cob], [
619+
IDENTIFICATION DIVISION.
620+
PROGRAM-ID. child.
621+
DATA DIVISION.
622+
WORKING-STORAGE SECTION.
623+
77 VAR PIC 9(01) value 1.
624+
PROCEDURE DIVISION.
625+
DISPLAY VAR NO ADVANCING.
626+
ADD 1 TO VAR.
627+
CALL "grandchild1".
628+
GOBACK.
629+
])
630+
631+
AT_DATA([sister.cob], [
632+
IDENTIFICATION DIVISION.
633+
PROGRAM-ID. sister.
634+
DATA DIVISION.
635+
WORKING-STORAGE SECTION.
636+
77 VAR PIC 9(01) value 2.
637+
PROCEDURE DIVISION.
638+
DISPLAY VAR NO ADVANCING.
639+
ADD 1 TO VAR.
640+
CALL "grandchild2".
641+
CALL "grandchild3".
642+
GOBACK.
643+
])
644+
645+
AT_DATA([grandchild1.cob], [
646+
IDENTIFICATION DIVISION.
647+
PROGRAM-ID. grandchild1.
648+
DATA DIVISION.
649+
WORKING-STORAGE SECTION.
650+
77 VAR PIC 9(01) value 3.
651+
PROCEDURE DIVISION.
652+
DISPLAY VAR NO ADVANCING.
653+
ADD 1 TO VAR.
654+
GOBACK.
655+
])
656+
657+
AT_DATA([grandchild2.cob], [
658+
IDENTIFICATION DIVISION.
659+
PROGRAM-ID. grandchild2.
660+
DATA DIVISION.
661+
WORKING-STORAGE SECTION.
662+
77 VAR PIC 9(01) value 4.
663+
PROCEDURE DIVISION.
664+
DISPLAY VAR NO ADVANCING.
665+
ADD 1 TO VAR.
666+
GOBACK.
667+
])
668+
669+
AT_DATA([grandchild3.cob], [
670+
IDENTIFICATION DIVISION.
671+
PROGRAM-ID. grandchild3.
672+
DATA DIVISION.
673+
WORKING-STORAGE SECTION.
674+
77 VAR PIC 9(01) value 5.
675+
PROCEDURE DIVISION.
676+
DISPLAY VAR NO ADVANCING.
677+
ADD 1 TO VAR.
678+
GOBACK.
679+
])
680+
681+
AT_CHECK([${COBJ} prog.cob], [0])
682+
AT_CHECK([${COBJ} child.cob], [0])
683+
AT_CHECK([${COBJ} sister.cob], [0])
684+
AT_CHECK([${COBJ} grandchild1.cob], [0])
685+
AT_CHECK([${COBJ} grandchild2.cob], [0])
686+
AT_CHECK([${COBJ} grandchild3.cob], [0])
687+
AT_CHECK([java prog], [0],
688+
[13245CALL1END
689+
24356CALL2END
690+
13245CALL3END
691+
])
692+
693+
AT_CLEANUP
694+
597695
AT_SETUP([CALL binary literal parameter/LENGTH OF - so])
598696
AT_CHECK([${SKIP_TEST}])
599697

0 commit comments

Comments
 (0)