Skip to content

Commit 0fb8d16

Browse files
committed
add: INITIALIZE NATIONAL testcase
1 parent 1336823 commit 0fb8d16

File tree

2 files changed

+154
-8
lines changed

2 files changed

+154
-8
lines changed

tests/testsuite

Lines changed: 80 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71198,73 +71198,146 @@ cat >prog.cob <<'_ATEOF'
7119871198
03 N3 PIC N(02) OCCURS 3.
7119971199
03 P93 PIC 9(02) OCCURS 3.
7120071200
01 N4 PIC N(01).
71201+
01 G5.
71202+
03 G52 OCCURS 2.
71203+
05 X5 PIC X(02) OCCURS 2.
71204+
05 N5 PIC N(02) OCCURS 2.
71205+
05 P95 PIC 9(02) OCCURS 2.
71206+
01 G6.
71207+
03 N6 PIC N(02).
71208+
03 R6 REDEFINES N6.
71209+
05 X6 PIC X(04).
71210+
01 G7.
71211+
03 X7 PIC X(04).
71212+
03 R7 REDEFINES X7.
71213+
05 N7 PIC N(02).
7120171214
PROCEDURE DIVISION.
7120271215
INITIALIZE N0.
7120371216
IF N0 NOT = "�@�@�@�@"
7120471217
DISPLAY N0 NO ADVANCING
7120571218
END-DISPLAY
7120671219
END-IF.
71220+
7120771221
INITIALIZE G1.
7120871222
IF G1 NOT = " �@�@00"
7120971223
DISPLAY G1 NO ADVANCING
7121071224
END-DISPLAY
7121171225
END-IF.
71226+
7121271227
INITIALIZE G2.
7121371228
IF G2 NOT =
7121471229
" �@�@00 �@�@00 �@�@00"
7121571230
DISPLAY G2 NO ADVANCING
7121671231
END-DISPLAY
7121771232
END-IF.
71233+
7121871234
INITIALIZE G3.
7121971235
IF G3 NOT =
7122071236
" �@�@�@�@�@�@000000"
71221-
DISPLAY G2 NO ADVANCING
71237+
DISPLAY G3 NO ADVANCING
7122271238
END-DISPLAY
7122371239
END-IF.
71240+
7122471241
INITIALIZE N4.
7122571242
IF N4 NOT = "�@"
7122671243
DISPLAY N4 NO ADVANCING
7122771244
END-DISPLAY
7122871245
END-IF.
71246+
71247+
INITIALIZE G5.
71248+
IF G5 NOT =
71249+
" �@�@�@�@0000 �@�@�@�@0000"
71250+
DISPLAY G5 NO ADVANCING
71251+
END-DISPLAY
71252+
END-IF.
71253+
71254+
MOVE "��������" TO N0.
71255+
INITIALIZE N0(1:2).
71256+
* NOTE: Partial reference is regarded X items
71257+
IF N0 NOT = " ����"
71258+
DISPLAY N0 NO ADVANCING
71259+
END-DISPLAY
71260+
END-IF.
71261+
71262+
MOVE "XX����99" TO G1.
71263+
INITIALIZE N1.
71264+
IF G1 NOT = "XX�@�@99"
71265+
DISPLAY G1 NO ADVANCING
71266+
END-DISPLAY
71267+
END-IF.
71268+
7122971269
MOVE "XX����99XX����99XX����99" TO G2.
7123071270
INITIALIZE N2(2).
7123171271
IF G2 NOT = "XX����99XX�@�@99XX����99"
7123271272
DISPLAY G2 NO ADVANCING
7123371273
END-DISPLAY
7123471274
END-IF.
71275+
7123571276
MOVE "XXXXXX������������999999" TO G3.
7123671277
INITIALIZE N3(2).
7123771278
IF G3 NOT = "XXXXXX�����@�@����999999"
7123871279
DISPLAY G3 NO ADVANCING
7123971280
END-DISPLAY
7124071281
END-IF.
71282+
71283+
MOVE "XXXX��������9999XXXX��������9999" TO G5.
71284+
INITIALIZE N5(2,1).
71285+
IF G5 NOT = "XXXX��������9999XXXX�@�@����9999"
71286+
DISPLAY G5 NO ADVANCING
71287+
END-DISPLAY
71288+
END-IF.
71289+
71290+
INITIALIZE G6.
71291+
IF G6 NOT = "�@�@"
71292+
DISPLAY G6 NO ADVANCING
71293+
END-DISPLAY
71294+
END-IF.
71295+
71296+
INITIALIZE X6.
71297+
IF G6 NOT = " "
71298+
DISPLAY G6 NO ADVANCING
71299+
END-DISPLAY
71300+
END-IF.
71301+
71302+
INITIALIZE G7.
71303+
IF G7 NOT = " "
71304+
DISPLAY G7 NO ADVANCING
71305+
END-DISPLAY
71306+
END-IF.
71307+
71308+
INITIALIZE N7.
71309+
IF G7 NOT = "�@�@"
71310+
DISPLAY G7 NO ADVANCING
71311+
END-DISPLAY
71312+
END-IF.
71313+
7124171314
STOP RUN.
7124271315
_ATEOF
7124371316

7124471317

7124571318
{ set +x
71246-
$as_echo "$at_srcdir/run_initialize.at:885: \$COMPILE prog.cob"
71247-
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:885"
71319+
$as_echo "$at_srcdir/run_initialize.at:958: \$COMPILE prog.cob"
71320+
at_fn_check_prepare_dynamic "$COMPILE prog.cob" "run_initialize.at:958"
7124871321
( $at_check_trace; $COMPILE prog.cob
7124971322
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
7125071323
at_status=$? at_failed=false
7125171324
$at_check_filter
7125271325
at_fn_diff_devnull "$at_stderr" || at_failed=:
7125371326
at_fn_diff_devnull "$at_stdout" || at_failed=:
71254-
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:885"
71327+
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:958"
7125571328
$at_failed && at_fn_log_failure
7125671329
$at_traceon; }
7125771330

7125871331
{ set +x
71259-
$as_echo "$at_srcdir/run_initialize.at:886: \$COBCRUN_DIRECT ./prog"
71260-
at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_initialize.at:886"
71332+
$as_echo "$at_srcdir/run_initialize.at:959: \$COBCRUN_DIRECT ./prog"
71333+
at_fn_check_prepare_dynamic "$COBCRUN_DIRECT ./prog" "run_initialize.at:959"
7126171334
( $at_check_trace; $COBCRUN_DIRECT ./prog
7126271335
) >>"$at_stdout" 2>>"$at_stderr" 5>&-
7126371336
at_status=$? at_failed=false
7126471337
$at_check_filter
7126571338
at_fn_diff_devnull "$at_stderr" || at_failed=:
7126671339
at_fn_diff_devnull "$at_stdout" || at_failed=:
71267-
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:886"
71340+
at_fn_check_status 0 $at_status "$at_srcdir/run_initialize.at:959"
7126871341
$at_failed && at_fn_log_failure
7126971342
$at_traceon; }
7127071343

tests/testsuite.src/run_initialize.at

Lines changed: 74 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -839,46 +839,119 @@ AT_DATA([prog.cob], [
839839
03 N3 PIC N(02) OCCURS 3.
840840
03 P93 PIC 9(02) OCCURS 3.
841841
01 N4 PIC N(01).
842+
01 G5.
843+
03 G52 OCCURS 2.
844+
05 X5 PIC X(02) OCCURS 2.
845+
05 N5 PIC N(02) OCCURS 2.
846+
05 P95 PIC 9(02) OCCURS 2.
847+
01 G6.
848+
03 N6 PIC N(02).
849+
03 R6 REDEFINES N6.
850+
05 X6 PIC X(04).
851+
01 G7.
852+
03 X7 PIC X(04).
853+
03 R7 REDEFINES X7.
854+
05 N7 PIC N(02).
842855
PROCEDURE DIVISION.
843856
INITIALIZE N0.
844857
IF N0 NOT = "�@�@�@�@"
845858
DISPLAY N0 NO ADVANCING
846859
END-DISPLAY
847860
END-IF.
861+
848862
INITIALIZE G1.
849863
IF G1 NOT = " �@�@00"
850864
DISPLAY G1 NO ADVANCING
851865
END-DISPLAY
852866
END-IF.
867+
853868
INITIALIZE G2.
854869
IF G2 NOT =
855870
" �@�@00 �@�@00 �@�@00"
856871
DISPLAY G2 NO ADVANCING
857872
END-DISPLAY
858873
END-IF.
874+
859875
INITIALIZE G3.
860876
IF G3 NOT =
861877
" �@�@�@�@�@�@000000"
862-
DISPLAY G2 NO ADVANCING
878+
DISPLAY G3 NO ADVANCING
863879
END-DISPLAY
864880
END-IF.
881+
865882
INITIALIZE N4.
866883
IF N4 NOT = "�@"
867884
DISPLAY N4 NO ADVANCING
868885
END-DISPLAY
869886
END-IF.
887+
888+
INITIALIZE G5.
889+
IF G5 NOT =
890+
" �@�@�@�@0000 �@�@�@�@0000"
891+
DISPLAY G5 NO ADVANCING
892+
END-DISPLAY
893+
END-IF.
894+
895+
MOVE "��������" TO N0.
896+
INITIALIZE N0(1:2).
897+
* NOTE: Partial reference is regarded X items
898+
IF N0 NOT = " ����"
899+
DISPLAY N0 NO ADVANCING
900+
END-DISPLAY
901+
END-IF.
902+
903+
MOVE "XX����99" TO G1.
904+
INITIALIZE N1.
905+
IF G1 NOT = "XX�@�@99"
906+
DISPLAY G1 NO ADVANCING
907+
END-DISPLAY
908+
END-IF.
909+
870910
MOVE "XX����99XX����99XX����99" TO G2.
871911
INITIALIZE N2(2).
872912
IF G2 NOT = "XX����99XX�@�@99XX����99"
873913
DISPLAY G2 NO ADVANCING
874914
END-DISPLAY
875915
END-IF.
916+
876917
MOVE "XXXXXX������������999999" TO G3.
877918
INITIALIZE N3(2).
878919
IF G3 NOT = "XXXXXX�����@�@����999999"
879920
DISPLAY G3 NO ADVANCING
880921
END-DISPLAY
881922
END-IF.
923+
924+
MOVE "XXXX��������9999XXXX��������9999" TO G5.
925+
INITIALIZE N5(2,1).
926+
IF G5 NOT = "XXXX��������9999XXXX�@�@����9999"
927+
DISPLAY G5 NO ADVANCING
928+
END-DISPLAY
929+
END-IF.
930+
931+
INITIALIZE G6.
932+
IF G6 NOT = "�@�@"
933+
DISPLAY G6 NO ADVANCING
934+
END-DISPLAY
935+
END-IF.
936+
937+
INITIALIZE X6.
938+
IF G6 NOT = " "
939+
DISPLAY G6 NO ADVANCING
940+
END-DISPLAY
941+
END-IF.
942+
943+
INITIALIZE G7.
944+
IF G7 NOT = " "
945+
DISPLAY G7 NO ADVANCING
946+
END-DISPLAY
947+
END-IF.
948+
949+
INITIALIZE N7.
950+
IF G7 NOT = "�@�@"
951+
DISPLAY G7 NO ADVANCING
952+
END-DISPLAY
953+
END-IF.
954+
882955
STOP RUN.
883956
])
884957

0 commit comments

Comments
 (0)