Google
 

Trailing-Edge - PDP-10 Archives - BB-5254D-BM - uetp/lib/mtaskr.for
There are 18 other files named mtaskr.for in the archive. Click here to see a list.
C		MTASKR.FOR
CTHIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
C  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
C
CCOPYRIGHT (C) 1977 BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
C	THIS TEST WAS TAKEN FROM THE EXERCISER ON OCTOBER 30,1977
C
C
	DIMENSION IARRAY(10,10),JARRAY(10,10)
	IMAX=10
	JMAX=10
	DEV='MAG'
	IFLMAX=15
	WRITE(5,12345)
12345	FORMAT(' ENTER NUMBER OF FILES TO USE IN TEST (XXXXX):')
	READ (5,12346) IFLMAX
12346	FORMAT(I5)

C		MTASKR.FOR
C
C	MAGTAPE SKIP RECORD TEST.  READS FIRST FILE ON MTAGTAPE
C	SEQUENTIALY BY REWINDING AND SKIPPING THE RECORDS THAT HAVE
C	BEEN READ ALREADY FOR EACH RECORD READ.
C   MAGTAPE TESTING. WRITES OUT IFILE NUMBER OF FILES ON MAGTAPE
C  "DEV". THE FILES ARE INTIGER ASCII OF THE SIZE IMAX*JMAX
C   WHERE IMAX AND JMAX ARE READ IN AT RUNTIME FROM FILE PARAMS.DAT,
C   ERRORS ARE LOGGED IN FILE MTA.ERR.



	DO 100 I=1,IMAX
	DO 100 J=1,JMAX
	IARRAY(I,J)=I*JMAX+J-JMAX
100	CONTINUE

	OPEN(UNIT=1,DEVICE=DEV)
	REWIND 1

	DO 300 IFILE=1,IFLMAX
	OPEN(UNIT=1,DEVICE=DEV)

	DO 200 I=1,IMAX
	WRITE(1,910)IFILE,(IARRAY(I,J),J=1,JMAX)
200	CONTINUE

	ENDFILE 1
	NOW=300
	TYPE 960,NOW
300	CONTINUE

C   SKIP RECORD TESTS
	REWIND 1

	DO 6000 IFILE=1,IFLMAX
	DO 600 K=1,IMAX-1
	REWIND 1
	IF(IFILE.EQ.1) GO TO 6002
	DO 6001 KKK=1,IFILE-1
6001	SKIP FILE 1
6002	CONTINUE
	DO 400 I=1,K
	SKIPRECORD 1
400	CONTINUE

	READ(1,910,END=840,ERR=850)JFILE,(JARRAY(I,J),J=1,JMAX)
	IF(JFILE.NE.IFILE)TYPE 930,DEV

	DO 500 J=1,JMAX
	IF(IARRAY(I,J).NE.JARRAY(I,J))WRITE(5,940)DEV,JFILE,I,J,
	1 IARRAY(I,J),JARRAY(I,J),IMAX,JMAX
500	CONTINUE

600	CONTINUE
6000	CONTINUE
699	GO TO 9999

C   END= COMES HERE
840	WRITE(5,1020)
	WRITE(5, 990)DEV
	WRITE(5, 1010)JFILE,I,J,JARRAY(I,J)
	GO TO 9999


C   ERR= COMES HERE
850	WRITE(5,1020)
	WRITE(5, 1000)DEV
	WRITE(5, 1010)JFILE,I,J,JARRAY(I,J)
	GO TO 9999

910	FORMAT(I5,(10I5))
920	FORMAT(' ?**** ***** BACKSPACE FILES ON',A5,'FAILED'/
	1 13X,'FILE',I5,'FOUND, FILE',I5,'EXPECTED.')
930	FORMAT(' ?**** ***** REWIND DIDNOT END UP AT FIRST 
	1 FILE ON ',A5)
940	FORMAT(' ?++++TEST MTASKR.FOR MAGTAPE SKIPRECORD TEST+++++'/
	1 ' ***** ***** SKIP RECORD PROBLEM ON ',A5/
	1 T13,'WHILE READING FILE NUMBER ',I5/
	2 T13, 'DURING COMPARE OF INPUT RECORD WITH RECORD WRITTEN'/
	3 T13,'RECORD ',I5,' ITEM',I5/
	4 T13,'EXPECTED VALUE',I5,' FOUND',I5/
	5 T13,'ARRAY IS ',I5,' BY',I5/
	6 ' ***** *****'/)
950	FORMAT(' IFL=',I5,' BACKFILE')
951	FORMAT(' OK')
952	FORMAT(' IFL=',I5,'I=',I5,'JFILE=',I5,'ARRAY=',I5)
960	FORMAT(' NOW=',I5)
961	FORMAT(' 800 DONE, IFL=',I5,' I=',I5,' J=',I5)
962	FORMAT(' 820 DONE, K= ',I5)
970	FORMAT(' ?**** ***** SKIP FILE ERROR ON',A5,/
	1 T13,'EXPECTED FILE NUMBER',I5,/
	2 T13,'FOUND FILE NUMBER   ',I5)
980	FORMAT(' ?**** ***** FORTRAN SKIP FILE MTA ERROR ON ',A5/
	1 T13,'WHILE READING FILE NUMBER ',I5/
	2 T13,' DURING ARRAY READ, COMPARING INPUT WITH ARRAY WRITTEN'/
	3 T13,'RECORD ',I5,'ITEM ',I5/
	4 T13,'EXPECTED VALUE ',I5,'FOUND 'I5/
	5 T13,'ARRAY IS',I5,' BY',I5/' ***** *****')
990	FORMAT(' "END=" ON ',A5)
1000	FORMAT(' "ERR=" ON ',A5)
1010	FORMAT(' EXPECTED FILE NUMBER 1, FOUND',I5/
	1 'RECORD',I5,' ITEM',I5,' VALUE',I5)

1020	FORMAT('+++++TEST MTASKR.FOR MAGTAPE SKIPRECORD TEST+++++')
9999	END