blob: 958656a937dd506e33f0ce089fa5ed0412bcc111 [file] [log] [blame]
PROGRAM FM922
C***********************************************************************00010922
C***** FORTRAN 77 00020922
C***** FM922 00030922
C***** INQF5 - (442) 00040922
C***** 00050922
C***********************************************************************00060922
C***** GENERAL PURPOSE ANS REF 00070922
C***** TEST INQUIRE BY FILE ON A FILE THAT IS NOT 12.10.3 00080922
C***** CONNECTED TO A UNIT 00090922
C***** 00100922
C***** THE TESTS IN THIS UNIT ARE ONLY BE PERFORMED ON A 00110922
C***** FILE THAT IS NOT CONNECTED TO A UNIT. 00120922
C***** THIS TEST PERFORMS AN EXPLICIT OPEN, AND THEN 00130922
C***** PERFORMS A CLOSE WITH STATUS='KEEP' IN ORDER TO 00140922
C***** ENSURE THAT THE UNIT AND FILE ARE NOT CONNECTED. 00150922
C***** (ANS REF 12.10.2) 00160922
C***********************************************************************00170922
CBB** ********************** BBCCOMNT **********************************00180922
C**** 00190922
C**** 1978 FORTRAN COMPILER VALIDATION SYSTEM 00200922
C**** VERSION 2.1 00210922
C**** 00220922
C**** 00230922
C**** SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00240922
C**** NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY 00250922
C**** SOFTWARE STANDARDS VALIDATION GROUP 00260922
C**** BUILDING 225 RM A266 00270922
C**** GAITHERSBURG, MD 20899 00280922
C**** 00290922
C**** 00300922
C**** 00310922
CBE** ********************** BBCCOMNT **********************************00320922
LOGICAL AVB, BVB 00330922
CHARACTER*10 C10VK, F10VK 00340922
C***** BELOW CHARACTER STATEMENT ESTABLISHES THE FILE NAME VARIABLES. 00350922
CX19 REPLACED BY FEXEC X-19 CONTROL CARD. X-19 IS FOR REPLACING 00360922
CHARACTER*15 CSEQ 00370922
C THE CHARACTER STATEMENT FOR FILE NAMES ASSOCIATED WITH X-150 00380922
C (PROGRAM VARIABLE CSEQ) IF NOT VALID FOR THE PROCESSOR. 00390922
CBB** ********************** BBCINITA **********************************00400922
C**** SPECIFICATION STATEMENTS 00410922
C**** 00420922
CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20, 00430922
1 ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13 00440922
CBE** ********************** BBCINITA **********************************00450922
CBB** ********************** BBCINITB **********************************00460922
C**** INITIALIZE SECTION 00470922
DATA ZVERS, ZVERSD, ZDATE 00480922
1 /'VERSION 2.1 ', '93/10/21*21.02.00', '*NO DATE*TIME'/ 00490922
DATA ZCOMPL, ZNAME, ZTAPE 00500922
1 /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/ 00510922
DATA ZPROJ, ZTAPED, ZPROG 00520922
1 /'*NO PROJECT*', '*NO TAPE DATE', 'XXXXX'/ 00530922
DATA REMRKS /' '/ 00540922
C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED 00550922
C**** FOR IDENTIFYING THE TEST ENVIRONMENT 00560922
C**** 00570922
CZ01 ZVERS = 'VERSION OF THE COMPILER VALIDATION SYSTEM' 00580922
CZ02 ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM' 00590922
CZ03 ZPROG = 'PROGRAM NAME' 00600922
CZ04 ZDATE = 'DATE OF TEST' 00610922
CZ05 ZCOMPL = 'COMPILER IDENTIFICATION' 00620922
CZ06 ZPROJ = 'PROJECT NUMBER/IDENTIFICATION' 00630922
CZ07 ZNAME = 'NAME OF USER' 00640922
CZ08 ZTAPE = 'TAPE OWNER/ID' 00650922
CZ09 ZTAPED = 'DATE TAPE COPIED' 00660922
C 00670922
IVPASS = 0 00680922
IVFAIL = 0 00690922
IVDELE = 0 00700922
IVINSP = 0 00710922
IVTOTL = 0 00720922
IVTOTN = 0 00730922
ICZERO = 0 00740922
C 00750922
C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER. 00760922
I01 = 05 00770922
C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER. 00780922
I02 = 06 00790922
C 00800922
CX010 REPLACED BY FEXEC X-010 CONTROL CARD (CARD-READER UNIT NUMBER). 00810922
C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00820922
CX011 REPLACED BY FEXEC X-011 CONTROL CARD. CX011 IS FOR SYSTEMS 00830922
C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010. 00840922
C 00850922
CX020 REPLACED BY FEXEC X-020 CONTROL CARD (PRINTER UNIT NUMBER). 00860922
C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6 00870922
CX021 REPLACED BY FEXEC X-021 CONTROL CARD. CX021 IS FOR SYSTEMS 00880922
C REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020. 00890922
C 00900922
CBE** ********************** BBCINITB **********************************00910922
C***** 00920922
C***** THE FOLLOWING STATEMENT MUST BE CHANGED IF 00930922
C***** THE UNIT GIVEN IS NOT CAPABLE OF BEING OPENED AS A 00940922
C***** SEQUENTIAL, FORMATTED FILE. 00950922
C***** 00960922
C I15 CONTAINS THE UNIT NUMBER FOR A SEQUENTIAL FORMATTED FILE. 00970922
I15 = 908 00980922
CX150 REPLACED BY FEXEC X-150 CONTROL CARD (SEQ. FILE UNIT NUMBER). 00990922
C SPECIFYING I15 = NN OVERRIDES THE DEFAULT I15 = 14. 01000922
C***** 01010922
C***** THE FOLLOWING STATEMENT MUST BE CHANGED IF THE NAME 01020922
C***** GIVEN IS NOT A VALID FILE SPECIFIER FOR A SEQUENTIAL, 01030922
C***** FORMATTED FILE. 01040922
C***** 01050922
C CSEQ CONTAINS THE FILE NAME FOR UNIT I15. 01060922
CSEQ = ' SEQFILE922' 01070922
C 01080922
CX191 REPLACED BY FEXEC X-191 CONTROL CARD. CX191 IS FOR SYSTEMS 01090922
C REQUIRING A DIFFERENT FILE SPECIFIER FOR FILES ASSOCIATED WITH 01100922
C X-150 THAN THE DEFAULT CSEQ = ' SEQFILE'. 01110922
C 01120922
C***** 01130922
NUVI = I02 01140922
IMVI = I15 01150922
ZPROG = 'FM922' 01160922
IVTOTL = 1 01170922
CBB** ********************** BBCHED0A **********************************01180922
C**** 01190922
C**** WRITE REPORT TITLE 01200922
C**** 01210922
WRITE (I02, 90002) 01220922
WRITE (I02, 90006) 01230922
WRITE (I02, 90007) 01240922
WRITE (I02, 90008) ZVERS, ZVERSD 01250922
WRITE (I02, 90009) ZPROG, ZPROG 01260922
WRITE (I02, 90010) ZDATE, ZCOMPL 01270922
CBE** ********************** BBCHED0A **********************************01280922
WRITE(NUVI,44200) 01290922
44200 FORMAT(" ",/ " INQF5 - (442) INQUIRE BY FILE" / 01300922
1 " FILE NOT CONNECTED TO A UNIT" / 01310922
2 " ANS REF. - 12.10.3" ) 01320922
CBB** ********************** BBCHED0B **********************************01330922
C**** WRITE DETAIL REPORT HEADERS 01340922
C**** 01350922
WRITE (I02,90004) 01360922
WRITE (I02,90004) 01370922
WRITE (I02,90013) 01380922
WRITE (I02,90014) 01390922
WRITE (I02,90015) IVTOTL 01400922
CBE** ********************** BBCHED0B **********************************01410922
C***** 01420922
C***** OPEN FILE, WRITE TO FILE, REWIND FILE 01430922
C***** 01440922
OPEN(FILE=CSEQ,UNIT=IMVI,ACCESS='SEQUENTIAL',FORM='FORMATTED', 01450922
1 STATUS='NEW') 01450922
WRITE(IMVI, 44200) 01460922
ENDFILE IMVI 01470922
REWIND IMVI 01480922
C***** 01490922
C***** DISCONNECT FILE 01500922
C***** 01510922
CLOSE(UNIT=IMVI, STATUS='KEEP') 01520922
C***** 01530922
CT001* TEST 1 - INQUIRE ON DISCONNECTED FILE 01540922
IVTNUM = 1 01550922
INQUIRE(FILE=CSEQ, IOSTAT=IVI, EXIST=AVB, OPENED=BVB, 01560922
1 SEQUENTIAL=C10VK, FORMATTED=F10VK, ERR=44206) 01570922
01580922
IF (IVI .NE. 0) GO TO 44202 01590922
IF (.NOT. AVB) GO TO 44202 01600922
IF (BVB) GO TO 44202 01610922
IF (C10VK .EQ. 'NO') GO TO 44202 01620922
IF (F10VK .EQ. 'NO') GO TO 44202 01630922
55040 WRITE(NUVI,80002)IVTNUM 01640922
IVPASS=IVPASS+1 01650922
GO TO 44204 01660922
44206 CONTINUE 01670922
WRITE (NUVI, 44207) IVTNUM 01680922
44207 FORMAT (" ",2X,I3,4X," FAIL",12X, 01690922
1 "ERROR IN EXECUTION OF INQUIRE STATEMENT (ERR=)" /) 01700922
GO TO 44208 01710922
44202 CONTINUE 01720922
WRITE(NUVI,55010)IVTNUM 01730922
55010 FORMAT(" ",5X,I3,4X," FAIL",12X, 01740922
1 "ERROR IN AN INQUIRE SPECIFIER" /) 01750922
44208 IVFAIL=IVFAIL+1 01760922
WRITE(NUVI,55020)IVI,AVB,BVB,C10VK,F10VK 01770922
55020 FORMAT(" ",10X,"COMPUTED: " , 01780922
1 "IOSTAT=",I1, 01790922
2 ", EXIST=",L1,", OPENED=",L1,", SEQUENTIAL=" ,A3, 01800922
3 ", FORMATTED=" ,A3) 01810922
WRITE(NUVI,55030) 01820922
55030 FORMAT(" ",10X,"CORRECT: " , 01830922
1 "IOSTAT=0, " , 01840922
2 "EXIST=T, OPENED=F, SEQUENTIAL=YES, FORMATTED=" , 01850922
3 "YES"/55X,"OR UNKNOWN" ,4X,"OR UNKNOWN" ) 01860922
44204 CONTINUE 01870922
OPEN(FILE=CSEQ, UNIT=IMVI) 01880922
CLOSE(UNIT=IMVI, STATUS='DELETE') 01890922
CBB** ********************** BBCSUM0 **********************************01900922
C**** WRITE OUT TEST SUMMARY 01910922
C**** 01920922
IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP 01930922
WRITE (I02, 90004) 01940922
WRITE (I02, 90014) 01950922
WRITE (I02, 90004) 01960922
WRITE (I02, 90020) IVPASS 01970922
WRITE (I02, 90022) IVFAIL 01980922
WRITE (I02, 90024) IVDELE 01990922
WRITE (I02, 90026) IVINSP 02000922
WRITE (I02, 90028) IVTOTN, IVTOTL 02010922
CBE** ********************** BBCSUM0 **********************************02020922
CBB** ********************** BBCFOOT0 **********************************02030922
C**** WRITE OUT REPORT FOOTINGS 02040922
C**** 02050922
WRITE (I02,90016) ZPROG, ZPROG 02060922
WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED 02070922
WRITE (I02,90019) 02080922
CBE** ********************** BBCFOOT0 **********************************02090922
CBB** ********************** BBCFMT0A **********************************02100922
C**** FORMATS FOR TEST DETAIL LINES 02110922
C**** 02120922
80000 FORMAT (" ",2X,I3,4X,"DELETED",32X,A31) 02130922
80002 FORMAT (" ",2X,I3,4X," PASS ",32X,A31) 02140922
80004 FORMAT (" ",2X,I3,4X,"INSPECT",32X,A31) 02150922
80008 FORMAT (" ",2X,I3,4X," FAIL ",32X,A31) 02160922
80010 FORMAT (" ",2X,I3,4X," FAIL ",/," ",15X,"COMPUTED= " , 02170922
1I6,/," ",15X,"CORRECT= " ,I6) 02180922
80012 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 02190922
1E12.5,/," ",16X,"CORRECT= " ,E12.5) 02200922
80018 FORMAT (" ",2X,I3,4X," FAIL ",/," ",16X,"COMPUTED= " , 02210922
1A21,/," ",16X,"CORRECT= " ,A21) 02220922
80020 FORMAT (" ",16X,"COMPUTED= " ,A21,1X,A31) 02230922
80022 FORMAT (" ",16X,"CORRECT= " ,A21,1X,A31) 02240922
80024 FORMAT (" ",16X,"COMPUTED= " ,I6,16X,A31) 02250922
80026 FORMAT (" ",16X,"CORRECT= " ,I6,16X,A31) 02260922
80028 FORMAT (" ",16X,"COMPUTED= " ,E12.5,10X,A31) 02270922
80030 FORMAT (" ",16X,"CORRECT= " ,E12.5,10X,A31) 02280922
80050 FORMAT (" ",48X,A31) 02290922
CBE** ********************** BBCFMT0A **********************************02300922
CBB** ********************** BBCFMT0B **********************************02310922
C**** FORMAT STATEMENTS FOR PAGE HEADERS 02320922
C**** 02330922
90002 FORMAT ("1") 02340922
90004 FORMAT (" ") 02350922
90006 FORMAT (" ",20X,"NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY" )02360922
90007 FORMAT (" ",19X,"FORTRAN COMPILER VALIDATION SYSTEM" ) 02370922
90008 FORMAT (" ",21X,A13,A17) 02380922
90009 FORMAT (" ",/," *",A5,"BEGIN*",12X,"TEST RESULTS - " ,A5,/) 02390922
90010 FORMAT (" ",8X,"TEST DATE*TIME= " ,A17," - COMPILER= " ,A20) 02400922
90013 FORMAT (" "," TEST ","PASS/FAIL " ,6X,"DISPLAYED RESULTS" , 02410922
1 7X,"REMARKS",24X) 02420922
90014 FORMAT (" ","----------------------------------------------" , 02430922
1 "---------------------------------" ) 02440922
90015 FORMAT (" ",48X,"THIS PROGRAM HAS " ,I3," TESTS",/) 02450922
C**** 02460922
C**** FORMAT STATEMENTS FOR REPORT FOOTINGS 02470922
C**** 02480922
90016 FORMAT (" ",/," *",A5,"END*",14X,"END OF TEST - " ,A5,/) 02490922
90018 FORMAT (" ",A13,13X,A20," * ",A10,"/", 02500922
1 A13) 02510922
90019 FORMAT (" ","FOR OFFICIAL USE ONLY " ,35X,"COPYRIGHT 1982" ) 02520922
C**** 02530922
C**** FORMAT STATEMENTS FOR RUN SUMMARY 02540922
C**** 02550922
90020 FORMAT (" ",21X,I5," TESTS PASSED" ) 02560922
90022 FORMAT (" ",21X,I5," TESTS FAILED" ) 02570922
90024 FORMAT (" ",21X,I5," TESTS DELETED" ) 02580922
90026 FORMAT (" ",21X,I5," TESTS REQUIRE INSPECTION" ) 02590922
90028 FORMAT (" ",21X,I5," OF ",I3," TESTS EXECUTED" ) 02600922
CBE** ********************** BBCFMT0B **********************************02610922
STOP 02620922
END 02630922