@@ -230,6 +230,111 @@ CCCC
230230AT_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+
233338AT_SETUP([COB_FILE_SEQ_BUFFER_SIZE: SEQUENTIAL many records])
234339
235340AT_DATA([prog.cbl], [
@@ -435,6 +540,93 @@ CCCC
435540AT_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+
438630AT_SETUP([COB_FILE_SEQ_BUFFER_SIZE: LINE SEQUENTIAL read with short records])
439631
440632AT_DATA([prog.cbl], [
0 commit comments