Google
 

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

@DEFINE UTP: PS:<UETP.LIB>
@DEFINE SYS: ! <RUN-DIRECTORY>, <LINK 5.1 DIRECTORY> ! SYS:
@DEFINE DSK: DSK:,PS:<UETP.PASCAL>,PS:<UETP.LIB>

!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 UETP TEST
@RUN UTP:SENDER
*TYPE START
*BLABEL BEGIN:
*TEST PASCAL
*SEND Start of Pascal-20 test
*EXIT

! 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 <UETP.PASCAL>
@INFORMATION LOGICAL-NAMES 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
@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
@INFORMATION VERSION

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

!	message: Complete PASCAL system not available

@RUN UTP:SENDER
*TYPE ERROR
*BLABEL BEGIN:
*TEST PASCAL
*SEND Pascal system not available [aborting]
*EXIT

@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::
@DIRECTORY PASMIN.REL
@IF (ERROR) @GOTO P1::
@DIRECTORY PASMIN.LST
@IF (ERROR) @GOTO P1::
@GOTO PAS0::

P1::
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PASMIN::
*TEST PASCAL
*SEND Errors generating binary or listing file, or getting help.
*EXIT
@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
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS0::
*TEST PASCAL
*SEND Error in compiling PAS0.PAS
*EXIT
@GOTO PAS1::

CONT::@LOAD PAS0
@IF (NOERROR) @GOTO CONT
		! ***** message: pas0 failed to load
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS0::
*TEST PASCAL
*SEND PAS0.PAS failed to load
*EXIT
@GOTO PAS1::

CONT::@SAVE PAS0.EXE
@RUN PAS0
@IF (NOERROR) @GOTO CONT::
		! ***** message: ERROR pas0.exe
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS0::
*TEST PASCAL
*SEND ERROR while trying to run PAS0.EXE
*EXIT
@GO TO 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
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS1::
*TEST PASCAL
*SEND Error in compiling PAS1P.PAS
*EXIT
@GOTO PAS2::

CONT::GET SYS:FORTRA.EXE
@IF (NOERROR) @GOTO  CONT
	!**** Can't find fortran?
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS1::
*TEST PASCAL
*SEND Fortran compiler not available (needed for tests 1 and 2)
*EXIT
@GOTO PAS2::

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

@IF (NOERROR) @GOTO  CONT
	!**** module failed to compile??
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS1::
*TEST PASCAL
*SEND Fortran module failed to compile (PAS1F.FOR)
*EXIT
@GOTO PAS2::

CONT::@LOAD PAS1P,PAS1F
@IF (NOERROR) @GOTO CONT
		! ***** message: pas1p failed to load
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS1::
*TEST PASCAL
*SEND PAS1P,PAS1F failed to load
*EXIT
@GOTO PAS2::

CONT::@SAVE PAS1P.EXE
@RUN PAS1P
@IF (NOERROR) @GOTO CONT::
		! ***** message: ERROR pas1p.exe
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS1::
*TEST PASCAL
*SEND ERROR while trying to run PAS1P.EXE
*EXIT
@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
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS2::
*TEST PASCAL
*SEND Error in compiling PAS2P.PAS
*EXIT
@GOTO PAS3::

CONT::GET SYS:FORTRA.EXE
@IF (NOERROR) @GOTO  CONT
	!**** Can't find fortran?
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS2::
*TEST PASCAL
*SEND Fortran compiler not available (needed for tests 1 and 2)
*EXIT
@GOTO PAS3::

CONT::@START
*PAS2F,PAS2F=PAS2F.FOR
*/EXIT
@IF (NOERROR) @GOTO  CONT
	!**** module failed to compile??
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS2::
*TEST PASCAL
*SEND Fortran module failed to compile (PAS2F.FOR)
*EXIT
@GOTO PAS3::

CONT::@LOAD PAS2P,PAS2F
@IF (NOERROR) @GOTO CONT
		! ***** message: pas2p failed to load
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS2::
*TEST PASCAL
*SEND PAS2P,PAS2F failed to load
*EXIT
@GOTO PAS3::

CONT::@SAVE PAS2P.EXE
@RUN PAS2P
@IF (NOERROR) @GOTO CONT::
		! ***** message: ERROR pas2p.exe
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS2::
*TEST PASCAL
*SEND ERROR while trying to run PAS2P.EXE
*EXIT
@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
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS3::
*TEST PASCAL
*SEND Error in compiling PAS3.PAS
*EXIT
@GOTO PAS4::

CONT::@LOAD PAS3
@IF (NOERROR) @GOTO CONT
		! ***** message: pas3 failed to load
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS3::
*TEST PASCAL
*SEND PAS3.PAS failed to load
*EXIT
@GOTO PAS4::

CONT::@SAVE PAS3.EXE
@RUN PAS3
@IF (NOERROR) @GOTO CONT::
		! ***** message: ERROR pas3.exe
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS3::
*TEST PASCAL
*SEND ERROR while trying to run PAS3.EXE
*EXIT
@GOTO PAS4::

CONT::

!	***** MESSAGE: Error in generating output file
@ERROR %
@DIRECTORY FT.DAT
@IF (NOERROR) GOTO CONT::
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS3::
*TEST PASCAL
*SEND Error in generating output file
*EXIT

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
@VDIRECTORY PAS4.*

@COMPILE PAS4A.PAS
@IF (NOERROR) @GOTO CONT::
	!*****ERROR in compile of pas4a.pas
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS4::
*TEST PASCAL
*SEND Error in compiling PAS4A.PAS
*EXIT
@GOTO PAS5::

CONT::@LOAD PAS4A
@IF (NOERROR) @GOTO CONT
		! ***** message: pas4a failed to load
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS4::
*TEST PASCAL
*SEND PAS4A.PAS failed to load
*EXIT
@GOTO PAS5::

CONT::@SAVE PAS4A.EXE
@RUN PAS4A
@IF (NOERROR) @GOTO CONT::
		! ***** message: ERROR pas4a.exe
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS4::
*TEST PASCAL
*SEND ERROR while trying to run PAS4A.EXE
*EXIT
@GOTO PAS5::

CONT::@VDIRECTORY PAS4.DAT

@COMPILE PAS4B.PAS
@IF (NOERROR) @GOTO CONT::
	!*****ERROR in compile of pas4b.pas
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS4::
*TEST PASCAL
*SEND Error in compiling PAS4B.PAS
*EXIT
@GOTO PAS5::

CONT::@LOAD PAS4B
@IF (NOERROR) @GOTO CONT
		! ***** message: pas4b failed to load
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS4::
*TEST PASCAL
*SEND PAS4B.PAS failed to load
*EXIT
@GOTO PAS5::

CONT::@SAVE PAS4B.EXE
@RUN PAS4B
@IF (NOERROR) @GOTO CONT::
		! ***** message: ERROR pas4b.exe
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS4::
*TEST PASCAL
*SEND ERROR while trying to run PAS4B.EXE
*EXIT
@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
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS5::
*TEST PASCAL
*SEND Error in compiling PAS5.PAS with /debug swt
*EXIT
@GOTO END::

CONT::@DEBUG PAS5/debug
@IF (NOERROR) @GOTO CONT
		! ***** message: pas5 failed to load
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS5::
*TEST PASCAL
*SEND PAS5.PAS failed to load with @DEBUG command
*EXIT
@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
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL PAS5::
*TEST PASCAL
*SEND ERROR while trying to run PAS5 in debugger
*EXIT
@GOTO END::

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

ABORT::
	! ****** MESSAGE: TEST ABORTED
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL ABORT::
*TEST PASCAL
*SEND ERROR control file aborted
*EXIT
@GOTO END::

%TERR::
		! ***** message: time limit exceeded
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL %TERR::
*TEST PASCAL
*SEND Time Limit Exceeded in PASCAL-20 TEST
*EXIT
@GOTO END::

%ERR::
		! ***** message: unknown ERROR in PASCAL-20 TEST
@RUN UTP:SENDER
*TYPE ERROR
*BLABEL %ERR::
*TEST PASCAL
*SEND unknown ERROR in PASCAL-20 TEST
*EXIT

END::
%FIN::

@NOERROR
@RESET
@EXPUNGE <UETP.PASCAL>

		! ***** message: END OF PASCAL-20 TEST
@RUN UTP:SENDER
*TYPE END
*BLABEL END::
*TEST PASCAL
*SEND END OF PASCAL-20 TEST
*EXIT