Skip to content

Commit d99cc0b

Browse files
test: improve test for I/O buffers
1 parent 6c04685 commit d99cc0b

1 file changed

Lines changed: 192 additions & 0 deletions

File tree

tests/misc.src/seq-buffer.at

Lines changed: 192 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,111 @@ CCCC
230230
AT_CLEANUP
231231

232232

233+
AT_SETUP([COB_FILE_SEQ_BUFFER_SIZE: SEQUENTIAL I-O interleaved read and rewrite])
234+
235+
AT_DATA([prog.cbl], [
236+
IDENTIFICATION DIVISION.
237+
PROGRAM-ID. prog.
238+
ENVIRONMENT DIVISION.
239+
INPUT-OUTPUT SECTION.
240+
FILE-CONTROL.
241+
SELECT TEST-FILE ASSIGN "TESTREWR"
242+
ORGANIZATION SEQUENTIAL.
243+
DATA DIVISION.
244+
FILE SECTION.
245+
FD TEST-FILE.
246+
01 TEST-REC PIC X(4).
247+
PROCEDURE DIVISION.
248+
OPEN OUTPUT TEST-FILE.
249+
MOVE "REC1" TO TEST-REC.
250+
WRITE TEST-REC.
251+
MOVE "REC2" TO TEST-REC.
252+
WRITE TEST-REC.
253+
MOVE "REC3" TO TEST-REC.
254+
WRITE TEST-REC.
255+
MOVE "REC4" TO TEST-REC.
256+
WRITE TEST-REC.
257+
MOVE "REC5" TO TEST-REC.
258+
WRITE TEST-REC.
259+
MOVE "REC6" TO TEST-REC.
260+
WRITE TEST-REC.
261+
MOVE "REC7" TO TEST-REC.
262+
WRITE TEST-REC.
263+
MOVE "REC8" TO TEST-REC.
264+
WRITE TEST-REC.
265+
CLOSE TEST-FILE.
266+
267+
OPEN I-O TEST-FILE.
268+
READ TEST-FILE.
269+
DISPLAY TEST-REC.
270+
MOVE "UPD1" TO TEST-REC.
271+
REWRITE TEST-REC.
272+
READ TEST-FILE.
273+
DISPLAY TEST-REC.
274+
READ TEST-FILE.
275+
DISPLAY TEST-REC.
276+
MOVE "UPD3" TO TEST-REC.
277+
REWRITE TEST-REC.
278+
READ TEST-FILE.
279+
DISPLAY TEST-REC.
280+
MOVE "UPD4" TO TEST-REC.
281+
REWRITE TEST-REC.
282+
READ TEST-FILE.
283+
DISPLAY TEST-REC.
284+
READ TEST-FILE.
285+
DISPLAY TEST-REC.
286+
MOVE "UPD6" TO TEST-REC.
287+
REWRITE TEST-REC.
288+
READ TEST-FILE.
289+
DISPLAY TEST-REC.
290+
READ TEST-FILE.
291+
DISPLAY TEST-REC.
292+
CLOSE TEST-FILE.
293+
294+
OPEN INPUT TEST-FILE.
295+
READ TEST-FILE.
296+
DISPLAY TEST-REC.
297+
READ TEST-FILE.
298+
DISPLAY TEST-REC.
299+
READ TEST-FILE.
300+
DISPLAY TEST-REC.
301+
READ TEST-FILE.
302+
DISPLAY TEST-REC.
303+
READ TEST-FILE.
304+
DISPLAY TEST-REC.
305+
READ TEST-FILE.
306+
DISPLAY TEST-REC.
307+
READ TEST-FILE.
308+
DISPLAY TEST-REC.
309+
READ TEST-FILE.
310+
DISPLAY TEST-REC.
311+
CLOSE TEST-FILE.
312+
STOP RUN.
313+
])
314+
315+
AT_CHECK([${COMPILE} prog.cbl])
316+
AT_CHECK([COB_FILE_SEQ_BUFFER_SIZE=2 ${RUN_MODULE} prog], [0],
317+
[REC1
318+
REC2
319+
REC3
320+
REC4
321+
REC5
322+
REC6
323+
REC7
324+
REC8
325+
UPD1
326+
REC2
327+
UPD3
328+
UPD4
329+
REC5
330+
UPD6
331+
REC7
332+
REC8
333+
])
334+
335+
AT_CLEANUP
336+
337+
233338
AT_SETUP([COB_FILE_SEQ_BUFFER_SIZE: SEQUENTIAL many records])
234339

235340
AT_DATA([prog.cbl], [
@@ -435,6 +540,93 @@ CCCC
435540
AT_CLEANUP
436541

437542

543+
AT_SETUP([COB_FILE_SEQ_BUFFER_SIZE: SEQUENTIAL I-O repeated mode transitions])
544+
545+
AT_DATA([prog.cbl], [
546+
IDENTIFICATION DIVISION.
547+
PROGRAM-ID. prog.
548+
ENVIRONMENT DIVISION.
549+
INPUT-OUTPUT SECTION.
550+
FILE-CONTROL.
551+
SELECT TEST-FILE ASSIGN "TESTRW"
552+
ORGANIZATION SEQUENTIAL.
553+
DATA DIVISION.
554+
FILE SECTION.
555+
FD TEST-FILE.
556+
01 TEST-REC PIC X(2).
557+
PROCEDURE DIVISION.
558+
OPEN OUTPUT TEST-FILE.
559+
MOVE "AA" TO TEST-REC.
560+
WRITE TEST-REC.
561+
MOVE "BB" TO TEST-REC.
562+
WRITE TEST-REC.
563+
MOVE "CC" TO TEST-REC.
564+
WRITE TEST-REC.
565+
MOVE "DD" TO TEST-REC.
566+
WRITE TEST-REC.
567+
MOVE "EE" TO TEST-REC.
568+
WRITE TEST-REC.
569+
MOVE "FF" TO TEST-REC.
570+
WRITE TEST-REC.
571+
CLOSE TEST-FILE.
572+
573+
OPEN I-O TEST-FILE.
574+
READ TEST-FILE.
575+
DISPLAY TEST-REC.
576+
MOVE "XX" TO TEST-REC.
577+
REWRITE TEST-REC.
578+
READ TEST-FILE.
579+
DISPLAY TEST-REC.
580+
MOVE "YY" TO TEST-REC.
581+
REWRITE TEST-REC.
582+
READ TEST-FILE.
583+
DISPLAY TEST-REC.
584+
READ TEST-FILE.
585+
DISPLAY TEST-REC.
586+
READ TEST-FILE.
587+
DISPLAY TEST-REC.
588+
MOVE "ZZ" TO TEST-REC.
589+
REWRITE TEST-REC.
590+
READ TEST-FILE.
591+
DISPLAY TEST-REC.
592+
CLOSE TEST-FILE.
593+
594+
OPEN INPUT TEST-FILE.
595+
READ TEST-FILE.
596+
DISPLAY TEST-REC.
597+
READ TEST-FILE.
598+
DISPLAY TEST-REC.
599+
READ TEST-FILE.
600+
DISPLAY TEST-REC.
601+
READ TEST-FILE.
602+
DISPLAY TEST-REC.
603+
READ TEST-FILE.
604+
DISPLAY TEST-REC.
605+
READ TEST-FILE.
606+
DISPLAY TEST-REC.
607+
CLOSE TEST-FILE.
608+
STOP RUN.
609+
])
610+
611+
AT_CHECK([${COMPILE} prog.cbl])
612+
AT_CHECK([COB_FILE_SEQ_BUFFER_SIZE=1 ${RUN_MODULE} prog], [0],
613+
[AA
614+
BB
615+
CC
616+
DD
617+
EE
618+
FF
619+
XX
620+
YY
621+
CC
622+
DD
623+
ZZ
624+
FF
625+
])
626+
627+
AT_CLEANUP
628+
629+
438630
AT_SETUP([COB_FILE_SEQ_BUFFER_SIZE: LINE SEQUENTIAL read with short records])
439631

440632
AT_DATA([prog.cbl], [

0 commit comments

Comments
 (0)