Google
 

Trailing-Edge - PDP-10 Archives - BB-P557A-BM_1983 - uetp/lib/p20tst.ctl
There are no other files named p20tst.ctl in the archive.
!PASCAL-20 STAND-ALONE TEST
!THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
!  O COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
!
!COPYRIGHT (C) 1982,1983 BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.

!DEFINE SYS:, DSK: AS NECESSARY
@NOERROR
@TAKE P20TST.CMD,
@ECHO
@
@ERROR

!FILES NEEDED:
!	PASMIN.PAS
!	PAS0.PAS
!	PAS1P.PAS, PAS1F.FOR
!	PAS2P.PAS, PAS2F.FOR
!	PAS3.PAS
!	PAS4A.PAS, PAS4B.PAS
!	PAS5.PAS
!
!	SYS:PASCAL.EXE, SYS:PASOTS.EXE, SYS:PASLIB.REL,
!	SYS:RMS.EXE, SYS:LINK.EXE,
!	FORTRAN COMPILER

BEGIN::
		!***** START OF PASCAL TEST
@COPY TTY: PASTST.ERR
@PASTST - Start of PASCAL-20 test
@^Z

! Clean up area
@NOERROR
@DELETE PASMIN.REL,PAS0.REL,PAS1P.REL,PAS1F.REL,PAS2P.REL,PAS2F.REL,
@EXPUNGE
@
@DELETE PAS3.REL,PAS4A.REL,PAS4B.REL,FT.DAT,PAS5.REL,
@EXPUNGE
@
@ERROR

@INFORMATION DISK-USAGE
@INFORMATION LOGICAL ALL

! Check for all required PASCAL components on this system.

@GET SYS:PASCAL.EXE
@IF (ERROR) @GOTO NOPAS::
@INFORMATION VERSION
@GET SYS:PASOTS.EXE
@IF (ERROR) @GOTO NOPAS::
@INFORMATION VERSION

! Check for other required components on this system.

@GET SYS:LINK.EXE
@IF (ERROR) @GOTO NOPAS::
@INFORMATION VERSION
@GET SYS:RMS.EXE
@IF (ERROR) @GOTO NOPAS::
@INFORMATION VERSION
@NOERROR	! Fortran can be missing
@GET SYS:FORTRA.EXE
@INFORMATION VERSION

@ERROR %
@DIRECT HLP:PASCAL.HLP
@IF (ERROR) @GOTO NOPAS::
@DIRECT SYS:PASCAL.EXE
@IF (ERROR) @GOTO NOPAS::
@DIRECT SYS:PASLIB.REL
@IF (ERROR) @GOTO NOPAS::
@DIRECT SYS:PASOTS.EXE
@IF (ERROR) @GOTO NOPAS::
@DIRECT SYS:PASDDT.REL
@IF (ERROR) @GOTO NOPAS::
@DIRECT HLP:PASDDT.HLP
@IF (ERROR) @GOTO NOPAS::
@ERROR
@GOTO PASMIN::
NOPAS::

!	message: Complete PASCAL system not available

@APPEND TTY: PASTST.ERR
@?PASTST Pascal system not available [aborting]
@^Z

@GOTO ABORT::


PASMIN::
! Test for generation of REL and LIST files as well as HELP
! Warnings not permitted either

@ERROR %

@PASCAL
*PASMIN/LIST
*/HELP
*/EXIT

@IF (ERROR) @GOTO P1::
@DIRECT PASMIN.REL
@IF (ERROR) @GOTO P1::
@DIRECT PASMIN.LST
@IF (ERROR) @GOTO P1::
@GOTO PAS0::

P1::
@APPEND TTY: PASTST.ERR
@?PAS1 Errors generating binary or listing file, or getting help.
@^Z
@GOTO ABORT::

! PAS0:: Test that pascal.exe has basic functionality intact.

PAS0::

@ERROR
@COMPILE PAS0.PAS
@IF (NOERROR) @GOTO CONT::
	!*****ERROR in compile of pas0.pas
@APPEND TTY: PASTST.ERR
@?PAS0 Error in compiling PAS0.PAS
@^Z
@GOTO PAS1::

CONT::@LOAD PAS0
@IF (NOERROR) @GOTO CONT
		! ***** message: pas0 failed to load
@APPEND TTY: PASTST.ERR
@?PAS0 PAS0.PAS failed to load
@^Z
@GOTO PAS1::

CONT::@SAVE PAS0.EXE
@RUN PAS0
@IF (NOERROR) @GOTO CONT::
		! ***** message: ERROR pas0.exe
@APPEND TTY: PASTST.ERR
@?PAS0 ERROR while trying to run PAS0.EXE
@^Z
@GOTO PAS1::

CONT::@DELETE PAS1.REL,PAS1.EXE,PAS1.LST

! PAS1:: Tests that Pascal can call fortran subroutines

PAS1::

@COMPILE PAS1P.PAS
@IF (NOERROR) @GOTO CONT::
	!**** ERROR in compiling pas1p.pas
@APPEND TTY: PASTST.ERR
@?PAS1 Error in compiling PAS1P.PAS
@^Z
@GOTO PAS2::

CONT::@GET SYS:FORTRA.EXE
@IF (NOERROR) @GOTO  CONT
	!**** Can't find fortran?
@APPEND TTY: PASTST.ERR
@?PAS1 Fortran compiler not available (needed for tests 1 and 2)
@^Z
@GOTO PAS2::

CONT::@START
*PAS1F,PAS1F=PAS1F.FOR
*/EXIT

@IF (NOERROR) @GOTO  CONT
	!**** module failed to compile??
@APPEND TTY: PASTST.ERR
@?PAS1 Fortran module failed to compile (PAS1F.FOR)
@^Z
@GOTO PAS2::

CONT::@LOAD PAS1P,PAS1F
@IF (NOERROR) @GOTO CONT
		! ***** message: pas1p failed to load
@APPEND TTY: PASTST.ERR
@?PAS1 PAS1P,PAS1F failed to load
@^Z
@GOTO PAS2::

CONT::@SAVE PAS1P.EXE
@RUN PAS1P
@IF (NOERROR) @GOTO CONT::
		! ***** message: ERROR pas1p.exe
@APPEND TTY: PASTST.ERR
@?PAS1 ERROR while trying to run PAS1P.EXE
@^Z
@GOTO PAS2::

CONT::@DELETE PAS1P.EXE,PAS1P.LST,PAS1P.REL
@DELETE PAS1F.REL,PAS1F.LST

! PAS2:: Tests that Fortran can call Pascal subroutines

PAS2::

@COMPILE PAS2P.PAS
@IF (NOERROR) @GOTO CONT::
	!**** ERROR in compiling pas2p.pas
@APPEND TTY: PASTST.ERR
@?PAS2 Error in compiling PAS2P.PAS
@^Z
@GOTO PAS3::

CONT::@GET SYS:FORTRA.EXE
@IF (NOERROR) @GOTO  CONT
	!**** Can't find fortran?
@APPEND TTY: PASTST.ERR
@?PAS2 Fortran compiler not available (needed for tests 1 and 2)
@^Z
@GOTO PAS3::

CONT::@START
*PAS2F,PAS2F=PAS2F.FOR
*/EXIT
@IF (NOERROR) @GOTO  CONT
	!**** module failed to compile??
@APPEND TTY: PASTST.ERR
@?PAS2 Fortran module failed to compile (PAS2F.FOR)
@^Z
@GOTO PAS3::

CONT::@LOAD PAS2P,PAS2F
@IF (NOERROR) @GOTO CONT
		! ***** message: pas2p failed to load
@APPEND TTY: PASTST.ERR
@?PAS2 PAS2P,PAS2F failed to load
@^Z
@GOTO PAS3::

CONT::@SAVE PAS2P.EXE
@RUN PAS2P
@IF (NOERROR) @GOTO CONT::
		! ***** message: ERROR pas2p.exe
@APPEND TTY: PASTST.ERR
@?PAS2 ERROR while trying to run PAS2P.EXE
@^Z
@GOTO PAS3::

CONT::@DELETE PAS2P.EXE,PAS2P.REL,PAS2P.LST
@DELETE PAS2F.REL,PAS2F.LST

! PAS3:: Tests if pascal can call the IMSL function library

PAS3::

@COMPILE PAS3.PAS
@IF (NOERROR) @GOTO CONT::
	!*****ERROR in compile of pas3.pas
@APPEND TTY: PASTST.ERR
@?PAS3 Error in compiling PAS3.PAS
@^Z
@GOTO PAS4::

CONT::@LOAD PAS3
@IF (NOERROR) @GOTO CONT
		! ***** message: pas3 failed to load
@APPEND TTY: PASTST.ERR
@?PAS3 PAS3.PAS failed to load
@^Z
@GOTO PAS4::

CONT::@SAVE PAS3.EXE
@RUN PAS3
@IF (NOERROR) @GOTO CONT::
		! ***** message: ERROR pas3.exe
@APPEND TTY: PASTST.ERR
@?PAS3 ERROR while trying to run PAS3.EXE
@^Z
@GOTO PAS4::

CONT::

!	***** MESSAGE: Error in generating output file
@ERROR %
@DIRECT FT.DAT
@IF (NOERROR) @GOTO CONT::
@APPEND TTY: PASTST.ERR
@?PAS3 Error in generating output file
@^Z

CONT::@ERROR

@DELETE PAS4.REL,PAS4.EXE,PAS4.LST

! PAS4:: Test the pascal/RMS interface (two programs: one writes pas4.dat
!  					the other reads pas4.dat)

PAS4::
@DELETE PAS4.DAT
@VDIR PAS4.*

@COMPILE PAS4A.PAS
@IF (NOERROR) @GOTO CONT::
	!*****ERROR in compile of pas4a.pas
@APPEND TTY: PASTST.ERR
@?PAS4 Error in compiling PAS4A.PAS
@^Z
@GOTO PAS5::

CONT::@LOAD PAS4A
@IF (NOERROR) @GOTO CONT
		! ***** message: pas4a failed to load
@APPEND TTY: PASTST.ERR
@?PAS4 PAS4A.PAS failed to load
@^Z
@GOTO PAS5::

CONT::@SAVE PAS4A.EXE
@RUN PAS4A
@IF (NOERROR) @GOTO CONT::
		! ***** message: ERROR pas4a.exe
@APPEND TTY: PASTST.ERR
@?PAS4 ERROR while trying to run PAS4A.EXE
@^Z
@GOTO PAS5::

CONT::@VDIR PAS4.DAT

@COMPILE PAS4B.PAS
@IF (NOERROR) @GOTO CONT::
	!*****ERROR in compile of pas4b.pas
@APPEND TTY: PASTST.ERR
@?PAS4 Error in compiling PAS4B.PAS
@^Z
@GOTO PAS5::

CONT::@LOAD PAS4B
@IF (NOERROR) @GOTO CONT
		! ***** message: pas4b failed to load
@APPEND TTY: PASTST.ERR
@?PAS4 PAS4B.PAS failed to load
@^Z
@GOTO PAS5::

CONT::@SAVE PAS4B.EXE
@RUN PAS4B
@IF (NOERROR) @GOTO CONT::
		! ***** message: ERROR pas4b.exe
@APPEND TTY: PASTST.ERR
@?PAS4 ERROR while trying to run PAS4B.EXE
@^Z
@GOTO PAS5::

CONT::@DELETE PAS4A.REL,PAS4A.LST,PAS4A.EXE
@DELETE PAS4B.REL,PAS4B.LST,PAS4B.EXE
@DELETE PAS4.DAT

! PAS5:: Tests dynamic memory allocation and the Debugger.

PAS5::

@COMPILE/DEBUG PAS5.PAS
@IF (NOERROR) @GOTO CONT::
	!*****ERROR in compile of pas5.pas
@APPEND TTY: PASTST.ERR
@?PAS5 Error in compiling PAS5.PAS with /debug swt
@^Z
@GOTO END::

CONT::@DEBUG PAS5
@IF (NOERROR) @GOTO CONT
		! ***** message: pas5 failed to load
@APPEND TTY: PASTST.ERR
@?PAS5 PAS5.PAS failed to load with @DEBUG command
@^Z
@GOTO END::

CONT::
*BREAK 15
*PROCEED
*SHOW INTPTR
*SHOW CAHPTR
*BREAK 17
*PROCEED
*SHOW INTPTR
*SHOW CAHPTR
*PROCEED
@IF (NOERROR) @GOTO CONT::
		! ***** message: ERROR pas5.exe
@APPEND TTY: PASTST.ERR
@?PAS5 ERROR while trying to run PAS5 in debugger
@^Z
@GOTO END::

CONT::@DELETE PAS5.REL,PAS5.LST
@GOTO END::

ABORT::
	! ****** MESSAGE: TEST ABORTED
@APPEND TTY: PASTST.ERR
@?PASTST ERROR control file aborted
@^Z
@GOTO END::

%TERR::
		! ***** message: time limit exceeded 
@APPEND TTY: PASTST.ERR
@?PASTST Time Limit Exceeded in PASCAL-20 TEST
@^Z
@GOTO END::

%ERR::
		! ***** message: unknown ERROR in PASCAL-20 TEST
@APPEND TTY: PASTST.ERR
@?PASTST unknown ERROR in PASCAL-20 TEST
@^Z

END::
%FIN::

@NOERROR
@RESET
@EXPUNGE

		! ***** message: END OF PASCAL-20 TEST
@APPEND TTY: PASTST.ERR
@PASTST END OF PASCAL-20 TEST
@^Z

! Check for errors in test run.

@ERROR
@TYPE PASTST.ERR
@IF (NOERROR) @GOTO OK::
@PLEASE FAILURE IN PASCAL TEST SYSTEM -- SEE PASTST.ERR^[
@GOTO LAST::
OK::
@PLEASE PASCAL TEST SYSTEM PASSED^[
LAST::