; Job to test the FORTRAN system on the DECsystem-10 ; SUBMIT F10TST.CTL/TIME:0:05:00 ;COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1981, 1987 ;ALL RIGHTS RESERVED. ; ;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED ;ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH THE ;INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR ANY OTHER ;COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY ;OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE SOFTWARE IS HEREBY ;TRANSFERRED. ; ;THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT NOTICE ;AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL EQUIPMENT ;CORPORATION. ; ;DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS ;SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL. ; VERSION 11 F10TST.CTL February 1987 ; Control file to run the Fortran installation test system and confirm ; that all essential parts of Fortran are present on tapes sent to field ; testing. ; Files needed on DSK: ; F10TST.CTL This file ; FORTRA.EXE ; FORTRA.HLP ; FORTB.EXE ; FORTC.EXE ; FORTD.EXE ; FORTE.EXE ; FORTF.EXE ; FORTG.EXE ; FORLIB.REL ; FORO11.EXE ; FORDDT.HLP ; FORDDT.REL ; LINK.EXE ; OVRLAY.REL ; ARRAYS.FOR ; ASCII.FOR ; BINARY.FOR ; CHARIO.FOR ; CHDATA.FOR ; CHFUN.FOR ; COMEQ.FOR ; DO.FOR ; DOWHIL.FOR ; GOTO.FOR ; IF.FOR ; IFTHEL.FOR ; IMAGE.FOR ; INTFIL.FOR ; IOEXPR.FOR ; LIB.FOR ; LONG.FOR ; NAMLST.DAT ; NAMLST.FOR ; OVL0.FOR ; OVL1.FOR ; OVL2.FOR ; OVL3.FOR ; OVL4.FOR ; OVL5.FOR ; OVL6.FOR ; RANDOM.FOR ; SUBFUN.FOR ; SUBSTR.FOR ; T4DDT.FOR ; V7DO.FOR ; V7LIB.FOR ; Get private copies of necessary system software. .COPY = SYS:DDT.REL .COPY = SYS:DIRECT.EXE .COPY = SYS:COMPIL.EXE .COPY = SYS:MACRO.EXE .COPY = SYS:LINK.EXE .COPY = SYS:LNK???.EXE .COPY = SYS:OVRLAY.REL .COPY = SYS:PIP.EXE ; Setup libraries. To find fortran on DSK: .ASSIGN DSK: SYS: .ASSIGN DSK: HLP: ; Check version numbers of the products tested. .GET SYS:FORTRA.EXE .VER .GET SYS:FORO11.EXE .VER .GET SYS:LINK.EXE .VER ; Clean out. We don't want any leftovers from past runnings. .NOERROR .DELETE ARRAYS.REL,ASCII.LST,ASCII.REL,BINARY.REL,DO.REL,DOWHIL.REL .DELETE GOTO.REL,IF.REL,LONG.REL .DELETE IMAGE.REL,LIB.REL,RANDOM.REL,SUBFUN.REL,T4DDT.REL .DELETE CHARIO.REL,CHDATA.REL,CHFUN.REL,COMEQ.REL .DELETE IFTHEL.REL,INTFIL.REL,IOEXPR.REL,NAMLST.REL .DELETE OVL0.REL,OVL1.REL,OVL2.REL,OVL3.REL,OVL4.REL,OVL5.REL,OVL6.REL .DELETE SUBSTR.REL,V7DO.REL,V7LIB.REL .DELETE FOR20.DAT,FOR21.DAT,FOR22.DAT,FOR23.DAT .ERROR ; Check for all required FORTRAN components. .ERROR % .DIRECT DSK:FORTRA.EXE,DSK:FORTRA.HLP,DSK:FORTB.EXE,DSK:FORTC.EXE .DIRECT DSK:FORTD.EXE,DSK:FORTE.EXE,DSK:FORTF.EXE,DSK:FORTG.EXE .DIRECT DSK:FORLIB.REL,DSK:FORO11.EXE,DSK:FORDDT.HLP,DSK:FORDDT.REL .ERROR .IF (ERROR) .GOTO UERR ; Warnings are not permitted either. .ERROR % ; Generate a binary (.REL) and listing (.LST) file and verify that ; they were produced. Also check the compiler HELP facility. .R FORTRA *ASCII,ASCII=ASCII.FOR .IF (ERROR) .GOTO UERR */HELP .IF (ERROR) .GOTO UERR *^Z .DIRECT ASCII.LST .IF (ERROR) .GOTO UERR .DIRECT ASCII.REL .IF (ERROR) .GOTO UERR ; Test to see that all intrinsic functions and Fortran supplied ; subroutines exist in FORLIB. If LINK produces an error such as ; "Undefined Globals", then some of the routines are missing. ; Program is merely loaded, not executed. .COMPILE LIB.FOR .LOAD LIB.REL .IF (ERROR) .GOTO UERR ; Run FORDDT & make sure it works minimally. ; No errors of any type should appear. .DEBUG T4DDT.FOR /DEBUG:ALL ;*T4DDT *HELP *PAUSE 10 *START *TYPE X *MODE I *TYPE I *STOP .IF (ERROR) .GOTO UERR ; Test non-sharable FOROTS. ; ASCII previously compiled. .R LINK *ASCII.REL /OTS:NONSHAR /GO .START .IF (ERROR) .GOTO UERR ; Try FORDDT with the non-sharable FOROTS. .COMPILE T4DDT.FOR /COMP /DEB:(DIM,BOU) .R LINK *T4DDT.REL /SEG:LOW /DEBUG:FORTRA /OTS:NONSHAR /GO ;*T4DDT *PAUSE 10 *START *TYPE X *CONTINUE .IF (ERROR) .GOTO UERR ; Test arrays. .EXECUTE ARRAYS.FOR .IF (ERROR) .GOTO UERR .EXECUTE ARRAYS.FOR /COMP /OPT .IF (ERROR) .GOTO UERR ; Test ASCII I/O. .EXECUTE ASCII.FOR /COMP .IF (ERROR) .GOTO UERR .EXECUTE ASCII.FOR /COMP /OPT .IF (ERROR) .GOTO UERR ; Test BINARY I/O. .EXECUTE BINARY.FOR .IF (ERROR) .GOTO UERR .EXECUTE BINARY.FOR /COMP /OPT .IF (ERROR) .GOTO UERR ; Test DO loops. .EXECUTE DO.FOR .IF (ERROR) .GOTO UERR .EXECUTE DO.FOR /COMP /OPT .IF (ERROR) .GOTO UERR ; Test GO TO statements. .EXECUTE GOTO.FOR .IF (ERROR) .GOTO UERR .EXECUTE GOTO.FOR /COMP /OPT .IF (ERROR) .GOTO UERR ; Test IF statements. .EXECUTE IF.FOR .IF (ERROR) .GOTO UERR .EXECUTE IF.FOR /COMP /OPT .IF (ERROR) .GOTO UERR ; Test IMAGE I/O. .EXECUTE IMAGE.FOR .IF (ERROR) .GOTO UERR .EXECUTE IMAGE.FOR /COMP /OPT .IF (ERROR) .GOTO UERR ; Test RANDOM access I/O. .EXECUTE RANDOM.FOR .IF (ERROR) .GOTO UERR .EXECUTE RANDOM.FOR /COMP /OPT .IF (ERROR) .GOTO UERR ; Test subroutines and functions. .EXECUTE SUBFUN.FOR .IF (ERROR) .GOTO UERR .EXECUTE SUBFUN.FOR /COMP /OPT .IF (ERROR) .GOTO UERR ; Character I/O in Forots .EXECUTE CHARIO.FOR .IF (ERROR) .GOTO UERR ; Character variable in DATA statements .EXECUTE CHDATA.FOR .IF (ERROR) .GOTO UERR ; Character Functions .EXECUTE CHFUN.FOR .IF (ERROR) .GOTO UERR ; Character data in COMMON/EQUIVALENCE .EXECUTE COMEQ.FOR .IF (ERROR) .GOTO UERR ; DO WHILE statements .EXECUTE DOWHIL.FOR .IF (ERROR) .GOTO UERR .EXECUTE DOWHIL.FOR/COMP/OPT .IF (ERROR) .GOTO UERR ; IF-THEN-ELSE statements .EXECUTE IFTHEL.FOR .IF (ERROR) .GOTO UERR ; Internal files .EXECUTE INTFIL.FOR .IF (ERROR) .GOTO UERR ; Expressions in I/O statements .EXECUTE IOEXPR.FOR .IF (ERROR) .GOTO UERR ; Namelist I/O .EXECUTE NAMLST.FOR .IF (ERROR) .GOTO UERR ; Overlay tests .COMPILE /COMP OVL0.FOR,OVL1.FOR,OVL2.FOR,OVL3.FOR,OVL4.FOR,OVL5.FOR,OVL6.FOR .IF (ERROR) .GOTO UERR .R LINK *TEST/OVERLAY .IF (ERROR) .GOTO UERR *TTY:/PLOT .IF (ERROR) .GOTO UERR */ERROR:0 .IF (ERROR) .GOTO UERR *OVL0,OVL1/LINK:TEST .IF (ERROR) .GOTO UERR * /NODE:TEST OVL2/LINK:LEFT .IF (ERROR) .GOTO UERR * /NODE:LEFT OVL5/LINK:LEFT1 .IF (ERROR) .GOTO UERR * /NODE:LEFT OVL6/LINK:LEFT2 .IF (ERROR) .GOTO UERR * /NODE:TEST OVL3,OVL4/LINK:RIGHT .IF (ERROR) .GOTO UERR *TEST/SAVE .IF (ERROR) .GOTO UERR */E/G .IF (ERROR) .GOTO UERR ; Substring .EXECUTE SUBSTR.FOR .IF (ERROR) .GOTO UERR ; V7 zero trip Do loops .EXECUTE V7DO.FOR .IF (ERROR) .GOTO UERR ; V7 library functions. Does not execute anyting, we are just trying ; to insure that LINK can find all the library functions. .LOAD V7LIB.FOR .IF (ERROR) .GOTO UERR ; VMS Long symbols .EXECUTE LONG.FOR .IF (ERROR) .GOTO UERR .EXECUTE LONG.FOR /COMPILE /OPT .IF (ERROR) .GOTO UERR .GOTO END %CERR:: .GOTO UERR %ERR:: .GOTO UERR UERR:: ; ***************************************************** ; ***************************************************** ; * * ; * ?Unexpected error - should not occur * ; * * ; ***************************************************** ; ***************************************************** .GOTO END END:: ; Cleanup. . .DEASSIGN SYS: .NOERROR .DELETE OVL0.REL,OVL1.REL,OVL2.REL,OVL3.REL,OVL4.REL,OVL5.REL,OVL6.REL .DELETE MACRO.EXE, LINK.EXE, LNK*.EXE, OVRLAY.REL .DELETE DDT.REL,DIRECT.EXE,COMPIL.EXE,PIP.EXE .DELETE ARRAYS.REL,ASCII.LST,ASCII.REL,BINARY.REL,DO.REL,GOTO.REL,IF.REL .DELETE IMAGE.REL,LIB.REL,RANDOM.REL,SUBFUN.REL,T4DDT.REL,LONG.REL .DELETE CHARIO.REL,CHARIO.DAT,CHDATA.REL,CHFUN.REL,COMEQ.REL .DELETE IFTHEL.REL,INTFIL.REL,IOEXPR.REL,NAMLST.REL,DOWHIL.REL .DELETE SUBSTR.REL,V7DO.REL,V7LIB.REL,NAM1.DAT,TEST.* .DELETE FOR20.DAT,FOR21.DAT,FOR22.DAT,FOR23.DAT .ERROR %FIN:: ; [End F10TST.CTL]