Google
 

Trailing-Edge - PDP-10 Archives - BB-4148F-BM_1984 - sources/dbmtst.ctl
There is 1 other file named dbmtst.ctl in the archive. Click here to see a list.
!	DBMTST.CTL	for DBMS-20 Version 6.1		Jun-84

!                     Copyright (C) 1984 by
!             Digital Equipment Corporation, Maynard, Mass.
! 
!      This software is furnished under a license, and may be used
!      or copied only in accordance with the terms of that license.

!	Verification test of DBMS-20 in product build/host install area
!	Timings: Approx 10 min CPU, 45 min connect.

!	Setup libraries

@DEFINE DSK: NUL:
@DEFINE DSK:
@DEFINE SYS: DSK:,SYS:
@DEFINE HLP: DSK:


BEGIN::

! Files needed or used from SYS:

!	FILCOM.EXE
!	LINK.EXE
!	PA1050.EXE

!	COBOL.EXE	Optional, depending on install options
!	CBL74.EXE	Optional, depending on install options
!	CBL68.EXE	Optional, depending on install options
!	FORTRA.EXE	Optional, depending on install options
!	FOROT?.EXE	Current version of FORTRAN OTS

! Files needed on disk:

!	LIBOL.REL	If installed with COBOL-68 V12B
!	LIBO12.EXE	If installed with COBOL-68 V12B
!	C74LIB.REL	If installed with COBOL-74 V12B
!	C74O12.EXE	If installed with COBOL-74 V12B
!	COBOTS.REL	If installed with COBOL-20 V13 and DBSTUB added
!	COBOTS-V13.EXE	If installed with COBOL-20 V13
!	DBMS.REL	If installed with COBOL or FORTRAN and no DBMSF.REL
!	DBMSF.EXE	If installed with FORTRAN
!	DBMSF.REL	If current FORTRAN requires this versus DBMS.REL
!	FORLIB.REL	If installed with FORTRAN V7 and DBSTUB changed

!	DBINFO.EXE	The utilites and their help files
!	DBINFO.HLP
!	DBMEND.EXE
!	DBMEND.HLP
!	FORDML.EXE
!	FORDML.HLP
!	SCHEMA.EXE
!	SCHEMA.HLP
!	XDML.EXE
!	XDML.HLP

!	DBMTST.CTL	This file
!	DTORD.DDL	General application like test
!	DTORDR.CBL
!	DTORDR.FML
!	DTSCH.DDL	Schema and DML bind processor tests
!	DTSCHB.CBL
!	DTSCHB.FML
!	DTVRB.DDL	DML verb processor and DBCS tests
!	DTVR1S.CBL	Large subset of DTVRB1.CBL
!	DTVRB1.CBL
!	DTVRB2.CBL
!	DTVRB1.FML
!	DTVRB2.FML


!	Define logical name for test, create initial status file
@DEFINE JRN: DSK:
@NOERROR
@DELETE DBMTST.MAIL,
@EXPUNGE
@
@ERROR
@COPY TTY: DBMTST.MAIL
@Start of DBMS test.
@
@^Z

!	Clean up area
!	Running in an unknown environment, must be specific.
@NOERROR
@DELETE DSK:DTORD.JRN,DSK:DTORD.LOK,DSK:DTORD.SCH
@DELETE DSK:DTORDR.FOR,DSK:DTORDR.REL,DSK:DTORDR.EXE,DSK:DTSSOF.SUB
@DELETE DSK:DTORD1.DBS,DSK:DTORD2.DBS,DSK:DTORD3.DBS,DSK:DTORD4.DBS
@DELETE DSK:DTORD1.TMP,DSK:DTORD2.TMP,DSK:DTORD3.TMP,DSK:DTORD4.TMP
@DELETE DSK:DTORD1.AID,DSK:DTORD2.AID,DSK:DTORD3.AID,DSK:DTORD4.AID
@DELETE DSK:DTSCH.LOK,DSK:DTSCH.SCH
@DELETE DSK:DTSCHB.FOR,DSK:DTSCHB.REL,DSK:DTSCHB.EXE,DSK:DTSSSF.SUB
@DELETE DSK:DTVRB.JRN,DSK:DTVRB.LOK,DSK:DTVRB.SCH
@DELETE DSK:DTVRB1.DBS,DSK:DTVRB2.DBS
@DELETE DSK:DTVRB1.FOR,DSK:DTVRB2.FOR,DSK:DTVRB1.REL,DSK:DTVRB2.REL
@DELETE DSK:DTVR1S.REL,DSK:DTVRB1.EXE
@DELETE DSK:DTSSV1.SUB,DSK:DTSSV2.SUB
@DELETE DSK:DTORD.LOC,DSK:DTORD1.DBC,DSK:DTORD2.DBC,DSK:DTORD3.DBC
@DELETE DSK:DTORD4.DBC
@DELETE DSK:DTSCH.LOC,DSK:DTVRB.LOC,DSK:DTVRB1.DBC,DSK:DTVRB2.DBC
@DELETE DSK:DTORD.DBI,DSK:DTORD.ABS,DSK:DTORDB.ABS
@DELETE DSK:DTHOST.OK,DSK:DTUTL.OK,DSK:DTHLP.OK,DSK:DTSCHB.COB
@DELETE DSK:DTXDM.CMD,DSK:DTXDM.DCA,DSK:DTXDM.LOG
@EXPUNGE DSK:
@ERROR



TSTCK::
!	Check for required test files.
@ERROR %
@DIRECT DSK:DTORD.DDL,DSK:DTORDR.CBL,DSK:DTORDR.FML
@IF (ERROR) @GOTO TSTF1
@DIRECT DSK:DTSCH.DDL,DSK:DTSCHB.CBL,DSK:DTSCHB.FML
@IF (ERROR) @GOTO TSTF1
@DIRECT DSK:DTVRB.DDL,DSK:DTVRB1.CBL,DSK:DTVRB2.CBL,DSK:DTVR1S.CBL
@IF (ERROR) @GOTO TSTF1
@DIRECT DSK:DTVRB1.FML,DSK:DTVRB2.FML
@IF (ERROR) @GOTO TSTF1
@ERROR
@GOTO UTLCK

TSTF1::
@ERROR
@APPEND TTY: DBMTST.MAIL
@DBMS test files are missing from DSK: build area. Test aborted.
@^Z
@GOTO ENDIT




UTLCK::
!	Check for all required DBMS utilities.
!	Assume all are OK
@COPY NUL: DSK:DTUTL.OK

UTLC1::
@GET DSK:DBINFO
@IF (ERROR) @GOTO UTLF1
@INFORMATION VERSION
@GOTO UTLC2

UTLF1::
@APPEND TTY: DBMTST.MAIL
@DBMS utility DSK:DBINFO.EXE not found.
@^Z
@NOERROR
@DELETE DSK:DTUTL.OK,
@EXPUNGE
@
@ERROR

UTLC2::
@GET DSK:DBMEND
@IF (ERROR) @GOTO UTLF2
@INFORMATION VERSION
@GOTO UTLC3

UTLF2::
@APPEND TTY: DBMTST.MAIL
@DBMS utility DSK:DBMEND.EXE not found.
@^Z
@NOERROR
@DELETE DSK:DTUTL.OK,
@EXPUNGE
@
@ERROR

UTLC3::
@GET DSK:FORDML
@IF (ERROR) @GOTO UTLF3
@INFORMATION VERSION
@GOTO UTLC4

UTLF3::
@APPEND TTY: DBMTST.MAIL
@DBMS utility DSK:FORDML.EXE not found.
@^Z
@NOERROR
@DELETE DSK:DTUTL.OK,
@EXPUNGE
@
@ERROR

UTLC4::
@GET DSK:SCHEMA
@IF (ERROR) @GOTO UTLF4
@INFORMATION VERSION
@GOTO UTLC5

UTLF4::
@APPEND TTY: DBMTST.MAIL
@DBMS utility DSK:SCHEMA.EXE not found.
@^Z
@NOERROR
@DELETE DSK:DTUTL.OK,
@EXPUNGE
@
@ERROR

UTLC5::
@GET DSK:XDML
@IF (ERROR) @GOTO UTLF5
@INFORMATION VERSION
@GOTO HLPCK

UTLF5::
@APPEND TTY: DBMTST.MAIL
@DBMS utility DSK:XDML.EXE not found.
@^Z
@NOERROR
@DELETE DSK:DTUTL.OK,
@EXPUNGE
@
@ERROR



HLPCK::
!	Check for required utility help files.
!	Assume all there
@COPY NUL: DSK:DTHLP.OK

HLPC1::
@ERROR %
@DIRECT DSK:DBINFO.HLP
@IF (NOERROR) @GOTO HLPC2
@ERROR
@APPEND TTY: DBMTST.MAIL
@DBMS help file DSK:DBINFO.HLP not found.
@^Z
@NOERROR
@DELETE DSK:DTHLP.OK,
@EXPUNGE
@

HLPC2::
@ERROR %
@DIRECT DSK:DBMEND.HLP
@IF (NOERROR) @GOTO HLPC3
@ERROR
@APPEND TTY: DBMTST.MAIL
@DBMS help file DSK:DBMEND.HLP not found.
@^Z
@NOERROR
@DELETE DSK:DTHLP.OK,
@EXPUNGE
@

HLPC3::
@ERROR %
@DIRECT DSK:FORDML.HLP
@IF (NOERROR) @GOTO HLPC4
@ERROR
@APPEND TTY: DBMTST.MAIL
@DBMS help file DSK:FORDML.HLP not found.
@^Z
@NOERROR
@DELETE DSK:DTHLP.OK,
@EXPUNGE
@

HLPC4::
@ERROR %
@DIRECT DSK:SCHEMA.HLP
@IF (NOERROR) @GOTO HLPC5
@ERROR
@APPEND TTY: DBMTST.MAIL
@DBMS help file DSK:SCHEMA.HLP not found.
@^Z
@NOERROR
@DELETE DSK:DTHLP.OK,
@EXPUNGE
@

HLPC5::
@ERROR %
@DIRECT DSK:XDML.HLP
@IF (NOERROR) @GOTO SCHRN
@ERROR
@APPEND TTY: DBMTST.MAIL
@DBMS help file DSK:XDML.HLP not found.
@^Z
@NOERROR
@DELETE DSK:DTHLP.OK,
@EXPUNGE
@



SCHRN::
!	Now run SCHEMA
@ERROR
@RUN DSK:SCHEMA
*/HELP
@IF (ERROR) @GOTO SCHF1
@ERROR %
*DTORD=DTORD.DDL
@IF (ERROR) @GOTO SCHF1
*DTSCH/NOCR
@IF (ERROR) @GOTO SCHF1
!	Two warnings are expected in next schema
@ERROR
*DTVRB.DDL
@IF (ERROR) @GOTO SCHF1
*^Z
!	Now copy the database files and lock files
!	for repeated executions using fresh copies
@COPY DSK:DTORD.LOK DSK:DTORD.LOC
@COPY DSK:DTORD1.DBS DSK:DTORD1.DBC
@COPY DSK:DTORD2.DBS DSK:DTORD2.DBC
@COPY DSK:DTORD3.DBS DSK:DTORD3.DBC
@COPY DSK:DTORD4.DBS DSK:DTORD4.DBC
@COPY DSK:DTSCH.LOK DSK:DTSCH.LOC
@COPY DSK:DTVRB.LOK DSK:DTVRB.LOC
@COPY DSK:DTVRB1.DBS DSK:DTVRB1.DBC
@COPY DSK:DTVRB2.DBS DSK:DTVRB2.DBC
@GOTO FMLRN

SCHF1::
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@SCHEMA test produced fatal errors. Test aborted.
@^Z
@GOTO ENDIT



FMLRN::
!	Do the FORTRAN DML translations, even if no FORTRAN
@ERROR
@RUN DSK:FORDML
*/HELP
@IF (ERROR) @GOTO FMLF1
@ERROR %
*DTORDR=DTORDR.FML/CHARACTER
@IF (ERROR) @GOTO FMLF1
*DTSCHB.FML/NOCH
@IF (ERROR) @GOTO FMLF1
*DTVRB1/NOCHAR/UNFLAG
@IF (ERROR) @GOTO FMLF1
*DTVRB2/NOCH/U
@IF (ERROR) @GOTO FMLF1
*^Z
@GOTO XDMRN

FMLF1::
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@FORDML test produced fatal errors.
@^Z
@NOERROR
@DELETE DSK:DTUTL.OK,
@EXPUNGE
@



XDMRN::

!	Use XDML to create a sample Order Entry database
!	Combined with this are a few miscellaneous commands
@ERROR
@RUN DSK:XDML
*HELP
@IF (ERROR) @GOTO XDMF1
@ERROR %
*INVOKE SUB-SCHEMA DTSSOC OF SCHEMA DTORD
*ORDER
*OPEN ALL USAGE-MODE UPDATE
*SHOW DATABASE
*DAYTIME
*ACCEPT IDAREA
*CUSAREA
*ACCEPT ORDSUM
*1
*
*0
*STORE ORDSUM
*ACCEPT PROD
*KA10
*CENTRAL PROCESSOR
*140000
*0
*0
*0
*0
*0
*0
*STORE PROD
*DISPLAY
*ACCEPT PROD
*DF10
*DATA CHANNEL
*14000
*0
*0
*0
*0
*0
*0
*STORE PROD
*ACCEPT SLSENG
*HOGAN, R.
*MAYNARD
*617897-5112968
*
*STORE SLSENG
*ACCEPT SLSENG
*CARMICHAEL, R.
*SANTA ANNA
*714979-2460   2
*
*STORE SLSENG
*ACCEPT CUSTOM
*DEC
*0
*
*ACCEPT STREET
*146 MAIN ST.
*ACCEPT CITY
*MAYNARD
*ACCEPT STATE
*MASS.
*ACCEPT ZIP
*01754
*STORE CUSTOM
*ACCEPT SLSENG-NAME
*HOGAN, R.
*FIND SLSENG
*FIND CUSTOM
*INSERT CUSTOM INTO SLSCUS-SET
*ACCEPT PURORD
*1
*071173
*0
*0
*
*STORE PURORD
*ACCEPT ORDSUM
*2
*
*1
*ACCEPT ITEM
*1001
*KA10
*1
*140000
*
*ACCEPT PROD-NO
*KA10
*FIND PROD RECORD
*ACCEPT PROD-ON-ORDER
*1
*MODIFY PROD PROD-ON-ORDER
*STORE ITEM
*FIND PURORD
*ACCEPT PURORD
*
*
*1
*140000
*
*MODIFY PURORD
*FIND FIRST ORDSUM RECORD OF ORDAREA AREA
*MODIFY ORDSUM ORDSUM-ORDERS,ORDSUM-NO
*CLOSE RUN-UNIT
*SHOW DATABASE
*STATS
*EXIT
@IF (ERROR) @GOTO XDMF1

XDMR2::
!	Demonstrate many of the capabilities of XDML
!	First, create a sample take file
@ERROR
@COPY TTY: DTXDM.CMD
@TYPE RUNNING XDML
@^Z
@ERROR
@RUN DSK:XDML
@ERROR %
*LOG OUTPUT DTXDM
*TAKE DTXDM
*SET ECHO TAKE ON
*TAKE DTXDM.CMD
*INVOKE SUB DTSSOC SCHEMA DTORD
*ORDER
*OPEN ALL
*FIND FIRST ORDSUM RECORD OF ORDAREA AREA
*NOTE ALL
*SET DISPLAY ERROR STATUS OFF
*FIND NEXT ORDSUM RECORD OF ORDAREA AREA
@IF (ERROR) @GOTO XDMF1
*TRANSLATE
@IF (NOERROR) @GOTO XDMF1
*SET DISPLAY ERROR STATUS ON
*DEFINE FN
*TYPE NEXT REC OF CUSAREA IS:
*FETCH NEXT RECORD OF CUSAREA AREA
*END
*SHOW USER-DEFINED-COMMAND FN
*FIND FIRST REC OF CUSAREA A
*SET DISPLAY CURRENCY ON
*FN
*SHOW CURRENCY
*MOVE CURRENCY STATUS RUN-UNIT TO DATA-BASE-KEY
*DISPLAY DATA-BASE-KEY
*SET DBKEY FORMAT SINGLE
*SET DBKEY RADIX OCTAL
*DISPLAY DATA-BASE-KEY
*GET
*DISPLAY
@IF (ERROR) @GOTO XDMF1
!	2ndary command level manips
*ENABLE
*DTKEY
*INTERCEPT NONE
*SHOW MODE
*RESET INTERCEPTS
*RESET NOTES
*SHOW BUFFER CUSAREA
*SHO LOC CUST-NAME
*DDT
*RET^[X
*QUIT
@CONTINUE
@IF (ERROR) @GOTO XDMF1
!	User command/ keypad manips
*ASSIGN FN ONE
*SHOW KEYPAD
*PRESERVE DTXDM
*DEASSIGN ONE
*UNDEFINE FN
*DECLARE DTXDM
*SET ECHO USER ON
*FN
*LOG NO OUTPUT
*PUSH
@DIRECT DTXDM.LOG
@IF (ERROR) @GOTO XDMF1
@DELETE DTXDM.CMD,DTXDM.DCA,DTXDM.LOG,
@EXPUNGE
@
@POP
*SHOW KEYPAD
*SHOW MODE
*CLOSE
*EXIT
@IF (NOERROR) @GOTO INFRN

XDMF1::
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@XDML tests produced fatal errors.
@^Z
@NOERROR
@DELETE DSK:DTUTL.OK,
@EXPUNGE
@



INFRN::
!	Use DBINFO to examine the Order Entry database
@ERROR
@RUN DSK:DBINFO
*HELP
@IF (ERROR) @GOTO INFF1
@ERROR %
*SCHEMA DTORD
*SS
*ADMIN:DTKEY
*OPEN CUSAREA,PRDAREA,SYSAREA,ORDAREA
*SUPERSEDE DTORD
*DISPLAY CALC
*DISP CREF
*DIS MAP
*STAR:20
*DISP FREE:1
*NOSTAR
*ACCUMULATE:2
*DISPLAY USAGE
*NOACCUMULATE
*DISPLAY US:"PROD-ITEM-SET"
*PAGES 5-10
*DISP DATA
*NOPAGES
*D D:"ALLORD-SET"
*DISPLAY
*DISPLAY K:7001
*APPEND DTORD
*DIS
*RECORD:33
*DISPLAY DATA:"CUSORD-SET"
*CLOSE ALL
*STATS
*EXIT
@IF (ERROR) @GOTO INFF1
@DIRECT DTORD.DBI
@IF (NOERROR) @GOTO MNDRN

INFF1::
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@DBINFO tests produced fatal errors.
@^Z
@NOERROR
@DELETE DSK:DTUTL.OK,
@EXPUNGE
@



MNDRN::
!	Use DBMEND to manipulate and abstract the journal
!	And merge in before images for most areas
@ERROR
@RUN DSK:DBMEND
*HELP
@IF (ERROR) @GOTO MNDF1
@ERROR %
*JOURNAL DTORD
*LABEL
*DISPLAY BEFORE COMMAND PAGENUM TEXT TRANSACTION
*START
*END
*ABSTRACT DTORD
*BUILD DTORDB
*CLOSE JOURNAL
*SCHEMA DTORD
*JOURNAL DTORD
*EXCLUDE SYSAREA
*OPEN ALL:DTKEY
*START
*END
*TRACE
*MERGE BEFORE
*CLOSE RUN-UNIT
*EXIT
@IF (ERROR) @GOTO MNDF1
@DIRECT DTORD.ABS
@IF (ERROR) @GOTO MNDF1
@DIRECT DTORDB.ABS
@IF (ERROR) @GOTO MNDF1

!	Use XDML to make sure there is no data
@ERROR
@RUN DSK:XDML
@ERROR %
*INVOKE SUB-SCHEMA DTSSOC OF SCHEMA DTORD
*ORDER
*OPEN ALL
*FIND FIRST ORDSUM RECORD OF ORDAREA AREA
@IF (NOERROR) @GOTO MNDF1
*CLOSE ALL
*EXIT
@IF (ERROR) @GOTO MNDF1

!	Use DBMEND to merge in all original after images
!	 and use XDML to check for existance of data
@RUN DSK:DBMEND
*JOURNAL DTORD
*EXCLUDE SYSAREA
*FORCEOPEN ALL
*START
*END *:21
*TRACE
*MERGE AFTER
*CLOSE RUN-UNIT
*EXIT
@IF (ERROR) @GOTO MNDF1

!	Now to verify
@ERROR
@RUN DSK:XDML
@ERROR %
*INVOKE SUB-SCHEMA DTSSOC SCHEMA DTORD
*ORDER
*OPEN ALL
*ACCEPT IDAREA
*CUSAREA
*FETCH FIRST ORDSUM RECORD OF ORDAREA AREA
*ACCEPT PROD-NO
*KA10
*FETCH PROD
*ACCEPT PROD-NO
*DF10
*FETCH PROD
*FETCH FIRST SLSENG RECORD OF CUSAREA AREA
*FETCH NEXT SLSENG REC CUSAREA A
*ACCEPT CUST-NAME
*DEC
*FETCH CUSTOM
*ACCEPT ORDNUM
*1
*FETCH PURORD
*FETCH FIRST ITEM REC OF ORDITM-SET SET
*CLO ALL
*EXI
@IF (ERROR) @GOTO MNDF1

!	Use XDML to open a transaction, abort, and reset, use DBMEND to
!	delete the transaction, and use XDML to check
@ERROR
@RUN DSK:XDML
@ERROR %
*INV SUB DTSSOC SCH DTORD
*ORDER
*OPEN ALL U U
*OPEN TRANSACTION
*JRTEXT BIG TRANSACTION
*ACC IDAREA
*CUSAREA
*ACC CUSTOM
*DEC-WEST
*
*OREGON
*STORE CUSTOM
*FETCH FIRST REC CUSAREA AREA
*MODIFY CUSTOM CUST-KEY
*DEFINE FN
*FETCH NEXT REC CUSAREA AREA
*END
*FN
*MODIFY SLSENG SLSENG-PAD
*FN
*MODIFY CUSTOM CUST-KEY
*FN
*MODIFY SLSENG SLSENG-PAD
*FETCH FIRST REC CUSAREA AREA

!	Generate an illegal-area intercept
*ACCEPT IDAREA
*BOGUS
@IF (ERROR) @GOTO MNDF1
*STORE CUSTOM
@IF (NOERROR) @GOTO MNDF1
@RESET

@RUN DSK:DBMEND
*SCHEMA DTORD
*DELETE TRANSACTION
*EXIT
@IF (ERROR) @GOTO MNDF1

@ERROR
@RUN DSK:XDML
@ERROR %
*INV SUB DTSSOC SCH DTORD
*ORDER
*OPEN ALL
*ACC IDAREA
*CUSAREA
*ACCEPT CUST-NAME
*DEC-WEST
*FIND CUSTOM RECORD
@IF (NOERROR) @GOTO MNDF1
*CLO ALL
*EXIT
@IF (ERROR) @GOTO MNDF1

!	Now Set AID for all areas
@RUN DSK:DBMEND
*SCHEMA DTORD
*AID ALL
*EXIT

!	And add a record, then verify its not there
!	when all areas are temporary
@ERROR
@RUN DSK:XDML
@ERROR %
*INVOKE SUB DTSSOC SCHEMA DTORD
*ORDER
*OPEN ALL USAGE-MODE EXCLUSIVE UPDATE
*ACC IDAREA
*CUSAREA
*ACC CUSTOM
*DEC-WEST
*
*OREGON
*STORE CUSTOM SUPPRESS ALL
*CLOSE RUN
*EXIT
@IF (ERROR) @GOTO MNDF1

@ERROR
@RUN DSK:XDML
@ERROR %
*INVOKE SUB TS1 OF SCH DTORD
*OTEMP
*OPEN ALL
*ACCEPT CUST-NAME
*DEC-WEST
*ACCEPT IDAREA
*CUSAREA
*FIND CUSTOM RECORD
@IF (NOERROR) @GO TO MNDF1
*CLOSE ALL
*EXIT
@IF (ERROR) @GO TO MNDF1

!	Now MERGE AID, turn it off, and verify data is there
@RUN DSK:DBMEND
*SCHEMA DTORD
*OPEN ALL
*MERGE AID
*CLOSE CUSAREA,PRDAREA,SYSAREA,ORDAREA
*EXIT
@IF (ERROR) @GOTO MNDF1

!	Record should be there even when temp
@ERROR
@RUN DSK:XDML
@ERROR %
*INVOKE SUB TS1 OF SCH DTORD
*OTEMP
*OPEN ALL
*ACCEPT CUST-NAME
*DEC-WEST
*ACCEPT IDAREA
*CUSAREA
*FIND CUSTOM RECORD
@IF (ERROR) @GOTO MNDF1
*CLOSE ALL
*EXIT
@IF (ERROR) @GOTO MNDF1
@RESET
@GOTO UTLDN

MNDF1::
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@DBMEND tests produced fatal errors.
@^Z
@NOERROR
@DELETE DSK:DTUTL.OK,
@EXPUNGE
@



UTLDN::
!	Utility tests complete - give status
@ERROR %
@DIRECT DSK:DTUTL.OK
@IF (ERROR) @GOTO UTLD2
@DIRECT DSK:DTHLP.OK
@IF (ERROR) @GOTO UTLD1
@ERROR
@APPEND TTY: DBMTST.MAIL
@All DBMS utility tests completed OK.
@^Z
@GOTO HSTTS

UTLD1::
@ERROR
@APPEND TTY: DBMTST.MAIL
@DBMS utility tests ran OK, some help files are missing.
@^Z
@GOTO HSTTS

UTLD2::
@ERROR
@APPEND TTY: DBMTST.MAIL
@Some DBMS utility tests failed.
@^Z



HSTTS::
!	Should minimally have a DBMS.REL in SYS:. Will check for
!	possibly required DBMSF.REL with FORTRAN check later.
!	Let test proceed, and catch error at load time.
@ERROR %
@DIRECT SYS:DBMS.REL
@IF (NOERROR) @GOTO COBTS
@ERROR
@APPEND TTY: DBMTST.MAIL
@DBMS load library SYS:DBMS.REL not found.
@^Z



COBTS::
!	Check for the FORTRAN and COBOL host languages
!	First try COBOL
@ERROR %
@DIRECT SYS:COBOL.EXE
@IF (NOERROR) @GOTO COBRN
@APPEND TTY: DBMTST.MAIL
@COBOL host language unavailable, trying FORTRAN.
@^Z
@GOTO FORTS


COBRN::
!	Now wish to try all flavors of COBOL - at least 1 should work
!	if DBMS has been installed with COBOL.
!	Will try COBOL, CBL74, and CBL68 (via COMPILE switches)
!	However COBOL may actually be one of CBL68 or 74, therfore will
!	also check one of the generated .RELs to avoid replication

!	First, get clean DTORD database files and no .JRN
@NOERROR
@RESET
@DELETE DSK:DTORD.LOK,DSK:DTORD.JRN
@DELETE DSK:DTORD1.DBS,DSK:DTORD2.DBS,DSK:DTORD3.DBS,DSK:DTORD4.DBS
@DELETE DSK:DTORD1.AID,DSK:DTORD2.AID,DSK:DTORD3.AID,DSK:DTORD4.AID
@DELETE DSK:DTORD1.TMP,DSK:DTORD2.TMP,DSK:DTORD3.TMP,DSK:DTORD4.TMP
@EXPUNGE DSK:
@ERROR
@COPY DSK:DTORD.LOC DSK:DTORD.LOK
@COPY DSK:DTORD1.DBC DSK:DTORD1.DBS
@COPY DSK:DTORD2.DBC DSK:DTORD2.DBS
@COPY DSK:DTORD3.DBC DSK:DTORD3.DBS
@COPY DSK:DTORD4.DBC DSK:DTORD4.DBS

!	Now begin with generic COBOL
@ERROR %
@COMPILE DTORDR.CBL
@IF (ERROR) @GOTO COBF1
@COMPILE DTSCHB.CBL
@IF (ERROR) @GOTO COBF1
!	Try and compile full COBOL DML test - may fail
@COMPILE DTVRB1.CBL
@IF (NOERROR) @GOTO COBV2
@NOERROR
@DELETE DSK:DTVRB1.REL,
@EXPUNGE
@
@ERROR %
!	COBOL DML 99% sub-set must compile
@COMPILE DTVR1S.CBL
@IF (ERROR) @GOTO COBF1
!	Simplify loading
@COPY DSK:DTVR1S.REL DSK:DTVRB1.REL
COBV2::
@COMPILE DTVRB2.CBL
@IF (NOERROR) @GOTO COBLD

COBF1::
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@Using COBOL: DBMS tests failed to compile.
@^Z
@GOTO C74CK

COBLD::
@ERROR %
@LOAD DTORDR.REL
@IF (ERROR) @GOTO COBF2
@SAVE DTORDR
@IF (ERROR) @GOTO COBF2
@LOAD DTSCHB.REL
@IF (ERROR) @GOTO COBF2
@SAVE DTSCHB
@IF (ERROR) @GOTO COBF2
@LOAD DTVRB1.REL,DTVRB2.REL
@IF (ERROR) @GOTO COBF2
@SAVE DTVRB1
@IF (NOERROR) @GOTO COBEX

COBF2::
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@Using COBOL: DBMS tests failed to load.
@^Z
@GOTO C74CK

COBEX::
@ERROR %
@RUN DTSCHB
@IF (ERROR) @GOTO COBF3
@ERROR
!	May have a warning if really CBL68 or CBL74
@RUN DTVRB1
@IF (ERROR) @GOTO COBF3
@ERROR %
@RUN DTORDR
*BEGIN
*ENTER
*PROD
*KA10
*CENTRAL PROCESSOR
*140000
*DF10
*DATA CHANNEL
*14000
*KI10
*CENTRAL PROCESSOR
*240000
*
*SLSENG
*HOGAN, R.
*MAYNARD
*617
*897-5111
*2968
*CARMICHAEL, R.
*SANTA ANNA
*714
*979-2460
*2
*BRANDT, D.
*CAMBRIDGE
*617
*491-6130
*2522
*CUTHBERTSON, F.
*CAMBRIDGE
*617
*491-6130
*2522
*
*CUSTOM
*DEC
*146 MAIN ST.
*MAYNARD
*MASS.
*01754
*
*YES
*070973
*KA10
*3
*DF10
*4
*
*CUSTOM
*COPLEY
*2525 PACIFIC BEACH BLVD.
*SAN DIEGO
*CALIF.
*07111
*CARMICHAEL, R.
*YES
*071173
*KA10
*1
*
*CUSTOM
*FIRST CHURCH
*25 HUNTINGTON AVE.
*BOSTON
*MASS.
*02139
*BRANDT, D.
*YES
*071173
*KI10
*1
*DF10
*3
*
*CUSTOM
*SPAN
*25 TURNPIKE ROAD
*PROVIDENCE
*RHODE ISLAND
*01800
*CUTHBERTSON, F.
*NO
*
*INQUIRY
*CUSTOM
*DEC
*YES
*YES
*
*ENTER
*PROD
*MC10
*MEMORY PORT AND CABLE
*1000
*MD10-E
*MD10 32K WORD MEMORY EXPANSION MODULE
*42000
*
*PURORD
*DEC
*071273
*MC10
*2
*
*
*QUIT
@IF (ERROR) @GOTO COBF3
@ERROR
@APPEND TTY: DBMTST.MAIL
@Using COBOL: DBMS tests completed OK.
@^Z
!	Copy simple DTSCHB.REL for comparison
!	And create DTHOST.OK to show 1 successful host run
@COPY DSK:DTSCHB.REL DSK:DTSCHB.COB
@COPY NUL: DSK:DTHOST.OK
@GOTO C74CK

COBF3::
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@Using COBOL: DBMS tests failed to execute.
@^Z


C74CK::
!	Now try CBL74
!	If no SYS:CBL74.EXE, skip all this
@ERROR %
@DIRECT SYS:CBL74.EXE
@IF (ERROR) @GOTO C68CK
!	First, get fresh copy of .LOK and .DBS, and no .JRNs
!	And delete previous .RELs and .EXEs
@NOERROR
@RESET
@DELETE DSK:DTORD.LOK,DSK:DTORD.JRN,DSK:DTORDR.REL,DSK:DTORDR.EXE
@DELETE DSK:DTORD1.DBS,DSK:DTORD2.DBS,DSK:DTORD3.DBS,DSK:DTORD4.DBS
@DELETE DSK:DTSCH.LOK,DSK:DTSCHB.REL,DSK:DTSCHB.EXE
@DELETE DSK:DTVRB.LOK,DSK:DTVRB.JRN,DSK:DTVRB1.REL,DSK:DTVRB2.REL
@DELETE DSK:DTVR1S.REL,DSK:DTVRB1.EXE
@EXPUNGE DSK:
@ERROR
@COPY DSK:DTSCH.LOC DSK:DTSCH.LOK
@COPY DSK:DTVRB.LOC DSK:DTVRB.LOK
@COPY DSK:DTVRB1.DBC DSK:DTVRB1.DBS
@COPY DSK:DTVRB2.DBC DSK:DTVRB2.DBS
@COPY DSK:DTORD.LOC DSK:DTORD.LOK
@COPY DSK:DTORD1.DBC DSK:DTORD1.DBS
@COPY DSK:DTORD2.DBC DSK:DTORD2.DBS
@COPY DSK:DTORD3.DBC DSK:DTORD3.DBS
@COPY DSK:DTORD4.DBC DSK:DTORD4.DBS

!	Now use /74-COBOL, but first, compile the simple DTSCHB prog
!	If failure, report same, else compare with
!	COBOL compile, if the same, skip to CBL68
@ERROR %
@COMPILE DTSCHB.CBL/74-COBOL
@IF (ERROR) @GOTO C74F1
@RUN SYS:FILCOM
*=DTSCHB.COB,DTSCHB.REL/W/Q
@IF (ERROR) @GOTO C74C2
@ERROR
@APPEND TTY: DBMTST.MAIL
@Using CBL74: .REL matched COBOL, test skipped.
@^Z
@GOTO C68CK

C74C2::
@COMPILE DTORDR.CBL/74-COBOL
@IF (ERROR) @GOTO C74F1
@COMPILE DTVR1S.CBL/74-COBOL
@IF (ERROR) @GOTO C74F1
@COMPILE DTVRB2.CBL/74-COBOL
@IF (NOERROR) @GOTO C74LD

C74F1::
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@Using CBL74: DBMS tests failed to compile.
@^Z
@GOTO C68CK

C74LD::
@ERROR %
@LOAD DTORDR.REL
@IF (ERROR) @GOTO C74F2
@SAVE DTORDR
@IF (ERROR) @GOTO C74F2
@LOAD DTSCHB.REL
@IF (ERROR) @GOTO C74F2
@SAVE DTSCHB
@IF (ERROR) @GOTO C74F2
@LOAD DTVR1S.REL,DTVRB2.REL
@IF (ERROR) @GOTO C74F2
@SAVE DTVRB1
@IF (NOERROR) @GOTO C74EX

C74F2::
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@Using CBL74: DBMS tests failed to load.
@^Z
@GOTO C68CK

C74EX::
@ERROR %
@RUN DTSCHB
@IF (ERROR) @GOTO C74F3
@ERROR
!	May have a warning
@RUN DTVRB1
@IF (ERROR) @GOTO C74F3
@ERROR %
@RUN DTORDR
*BEGIN
*ENTER
*PROD
*KA10
*CENTRAL PROCESSOR
*140000
*DF10
*DATA CHANNEL
*14000
*KI10
*CENTRAL PROCESSOR
*240000
*
*SLSENG
*HOGAN, R.
*MAYNARD
*617
*897-5111
*2968
*CARMICHAEL, R.
*SANTA ANNA
*714
*979-2460
*2
*BRANDT, D.
*CAMBRIDGE
*617
*491-6130
*2522
*CUTHBERTSON, F.
*CAMBRIDGE
*617
*491-6130
*2522
*
*CUSTOM
*DEC
*146 MAIN ST.
*MAYNARD
*MASS.
*01754
*
*YES
*070973
*KA10
*3
*DF10
*4
*
*CUSTOM
*COPLEY
*2525 PACIFIC BEACH BLVD.
*SAN DIEGO
*CALIF.
*07111
*CARMICHAEL, R.
*YES
*071173
*KA10
*1
*
*CUSTOM
*FIRST CHURCH
*25 HUNTINGTON AVE.
*BOSTON
*MASS.
*02139
*BRANDT, D.
*YES
*071173
*KI10
*1
*DF10
*3
*
*CUSTOM
*SPAN
*25 TURNPIKE ROAD
*PROVIDENCE
*RHODE ISLAND
*01800
*CUTHBERTSON, F.
*NO
*
*INQUIRY
*CUSTOM
*DEC
*YES
*YES
*
*ENTER
*PROD
*MC10
*MEMORY PORT AND CABLE
*1000
*MD10-E
*MD10 32K WORD MEMORY EXPANSION MODULE
*42000
*
*PURORD
*DEC
*071273
*MC10
*2
*
*
*QUIT
@IF (ERROR) @GOTO C74F3
@ERROR
@APPEND TTY: DBMTST.MAIL
@Using CBL74: DBMS tests completed OK.
@^Z
!	Note a successful host run
@COPY NUL: DSK:DTHOST.OK.1
@GOTO C68CK

C74F3::
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@Using CBL74: DBMS tests failed to execute.
@^Z


C68CK::
!	Now try CBL68
!	If no SYS:CBL68.EXE, skip all this
@ERROR %
@DIRECT SYS:CBL68.EXE
@IF (ERROR) @GOTO FORTS
!	First, get fresh copy of .LOK and .DBS, and no .JRNs
!	And delete previous .RELs and .EXEs
@NOERROR
@RESET
@DELETE DSK:DTORD.LOK,DSK:DTORD.JRN,DSK:DTORDR.REL,DSK:DTORDR.EXE
@DELETE DSK:DTORD1.DBS,DSK:DTORD2.DBS,DSK:DTORD3.DBS,DSK:DTORD4.DBS
@DELETE DSK:DTSCH.LOK,DSK:DTSCHB.REL,DSK:DTSCHB.EXE
@DELETE DSK:DTVRB.LOK,DSK:DTVRB.JRN,DSK:DTVRB1.REL,DSK:DTVRB2.REL
@DELETE DSK:DTVR1S.REL,DSK:DTVRB1.EXE
@EXPUNGE DSK:
@ERROR
@COPY DSK:DTSCH.LOC DSK:DTSCH.LOK
@COPY DSK:DTVRB.LOC DSK:DTVRB.LOK
@COPY DSK:DTVRB1.DBC DSK:DTVRB1.DBS
@COPY DSK:DTVRB2.DBC DSK:DTVRB2.DBS
@COPY DSK:DTORD.LOC DSK:DTORD.LOK
@COPY DSK:DTORD1.DBC DSK:DTORD1.DBS
@COPY DSK:DTORD2.DBC DSK:DTORD2.DBS
@COPY DSK:DTORD3.DBC DSK:DTORD3.DBS
@COPY DSK:DTORD4.DBC DSK:DTORD4.DBS

!	Now use /68-COBOL, but first, compile the simple DTSCHB prog
!	If failure, report same, else compare with
!	COBOL compile, if the same, skip to FORTS
@ERROR %
@COMPILE DTSCHB.CBL/68-COBOL
@IF (ERROR) @GOTO C68F1
@RUN SYS:FILCOM
*=DTSCHB.COB,DTSCHB.REL/W/Q
@IF (ERROR) @GOTO C68C2
@ERROR
@APPEND TTY: DBMTST.MAIL
@Using CBL68: .REL matched COBOL, test skipped.
@^Z
@GOTO FORTS

C68C2::
@COMPILE DTORDR.CBL/68-COBOL
@IF (ERROR) @GOTO C68F1
@COMPILE DTVR1S.CBL/68-COBOL
@IF (ERROR) @GOTO C68F1
@COMPILE DTVRB2.CBL/68-COBOL
@IF (NOERROR) @GOTO C68LD

C68F1::
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@Using CBL68: DBMS tests failed to compile.
@^Z
@GOTO FORTS

C68LD::
@ERROR %
@LOAD DTORDR.REL
@IF (ERROR) @GOTO C68F2
@SAVE DTORDR
@IF (ERROR) @GOTO C68F2
@LOAD DTSCHB.REL
@IF (ERROR) @GOTO C68F2
@SAVE DTSCHB
@IF (ERROR) @GOTO C68F2
@LOAD DTVR1S.REL,DTVRB2.REL
@IF (ERROR) @GOTO C68F2
@SAVE DTVRB1
@IF (NoERROR) @GOTO C68EX

C68F2::
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@Using CBL68: DBMS tests failed to load.
@^Z
@GOTO FORTS

C68EX::
@ERROR %
@RUN DTSCHB
@IF (ERROR) @GOTO C68F3
@ERROR
!	May have a warning
@RUN DTVRB1
@IF (ERROR) @GOTO C68F3
@ERROR %
@RUN DTORDR
*BEGIN
*ENTER
*PROD
*KA10
*CENTRAL PROCESSOR
*140000
*DF10
*DATA CHANNEL
*14000
*KI10
*CENTRAL PROCESSOR
*240000
*
*SLSENG
*HOGAN, R.
*MAYNARD
*617
*897-5111
*2968
*CARMICHAEL, R.
*SANTA ANNA
*714
*979-2460
*2
*BRANDT, D.
*CAMBRIDGE
*617
*491-6130
*2522
*CUTHBERTSON, F.
*CAMBRIDGE
*617
*491-6130
*2522
*
*CUSTOM
*DEC
*146 MAIN ST.
*MAYNARD
*MASS.
*01754
*
*YES
*070973
*KA10
*3
*DF10
*4
*
*CUSTOM
*COPLEY
*2525 PACIFIC BEACH BLVD.
*SAN DIEGO
*CALIF.
*07111
*CARMICHAEL, R.
*YES
*071173
*KA10
*1
*
*CUSTOM
*FIRST CHURCH
*25 HUNTINGTON AVE.
*BOSTON
*MASS.
*02139
*BRANDT, D.
*YES
*071173
*KI10
*1
*DF10
*3
*
*CUSTOM
*SPAN
*25 TURNPIKE ROAD
*PROVIDENCE
*RHODE ISLAND
*01800
*CUTHBERTSON, F.
*NO
*
*INQUIRY
*CUSTOM
*DEC
*YES
*YES
*
*ENTER
*PROD
*MC10
*MEMORY PORT AND CABLE
*1000
*MD10-E
*MD10 32K WORD MEMORY EXPANSION MODULE
*42000
*
*PURORD
*DEC
*071273
*MC10
*2
*
*
*QUIT
@IF (ERROR) @GOTO C68F3
@ERROR
@APPEND TTY: DBMTST.MAIL
@Using CBL68: DBMS tests completed OK.
@^Z
!	Note a successful host run
@COPY NUL: DSK:DTHOST.OK.1
@GOTO FORTS

C68F3::
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@Using CBL68: DBMS tests failed to execute.
@^Z



FORTS::
!	See if a FORTRAN to run
@ERROR %
@DIRECT SYS:FORTRA
@IF (NOERROR) @GOTO DBFCK
@ERROR
@APPEND TTY: DBMTST.MAIL
@FORTRAN host language unavailable.
@^Z
@GOTO HSTCK


DBFCK::
!	Will need FORTRAN specific DBCS SYS:DBMSF.EXE
@ERROR %
@DIRECT SYS:DBMSF.EXE
@IF (NOERROR) @GOTO DFLCK
@ERROR
@APPEND TTY: DBMTST.MAIL
@FORTRAN only DBCS file SYS:DBMSF.EXE not found.
@^Z


DFLCK::
!	Now see if there is a DBMSF.REL. If not, it is possible
!	that the current FORLIB will require one. See if this is so.
@ERROR %
@DIRECT SYS:DBMSF.REL
@IF (NOERROR) @GOTO FORRN

@RUN SYS:LINK
*/REQUIRE:SBIND
*SYS:FORLIB.REL/SEARCH
@IF (NOERROR) @GOTO FORRN
@ERROR
@APPEND TTY: DBMTST.MAIL
@FORTRAN only DBMS load library SYS:DBMSF.REL not found.
@^Z


FORRN::

!	First, get fresh copy of .LOK and .DBS, and no .JRNs
!	And delete previous .RELs and .EXEs
@NOERROR
@RESET
@DELETE DSK:DTORD.LOK,DSK:DTORD.JRN,DSK:DTORDR.REL,DSK:DTORDR.EXE
@DELETE DSK:DTORD1.DBS,DSK:DTORD2.DBS,DSK:DTORD3.DBS,DSK:DTORD4.DBS
@DELETE DSK:DTSCH.LOK,DSK:DTSCHB.REL,DSK:DTSCHB.EXE
@DELETE DSK:DTVRB.LOK,DSK:DTVRB.JRN,DSK:DTVRB1.REL,DSK:DTVRB2.REL
@DELETE DSK:DTVR1S.REL,DSK:DTVRB1.EXE
@EXPUNGE DSK:
@ERROR
@COPY DSK:DTSCH.LOC DSK:DTSCH.LOK
@COPY DSK:DTVRB.LOC DSK:DTVRB.LOK
@COPY DSK:DTVRB1.DBC DSK:DTVRB1.DBS
@COPY DSK:DTVRB2.DBC DSK:DTVRB2.DBS
@COPY DSK:DTORD.LOC DSK:DTORD.LOK
@COPY DSK:DTORD1.DBC DSK:DTORD1.DBS
@COPY DSK:DTORD2.DBC DSK:DTORD2.DBS
@COPY DSK:DTORD3.DBC DSK:DTORD3.DBS
@COPY DSK:DTORD4.DBC DSK:DTORD4.DBS

!	Now use DML translated FORTRAN programs
@ERROR %
@COMPILE DTORDR.FOR/LANG:"/NOWARN:CNM"
@IF (ERROR) @GOTO FORF1
@COMPILE DTSCHB.FOR
@IF (ERROR) @GOTO FORF1
@COMPILE DTVRB1.FOR,DTVRB2.FOR
@IF (NOERROR) @GOTO FORLD

FORF1::
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@Using FORTRAN: DBMS tests failed to compile.
@^Z
@GOTO HSTCK

FORLD::
@ERROR %
@LOAD DTORDR.REL
@IF (ERROR) @GOTO FORF2
@SAVE DTORDR
@IF (ERROR) @GOTO FORF2
@LOAD DTSCHB.REL
@IF (ERROR) @GOTO FORF2
@SAVE DTSCHB
@IF (ERROR) @GOTO FORF2
@LOAD DTVRB1.REL,DTVRB2.REL
@IF (ERROR) @GOTO FORF2
@SAVE DTVRB1
@IF (NOERROR) @GOTO FOREX

FORF2::
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@Using FORTRAN: DBMS tests failed to load.
@^Z
@GOTO HSTCK

FOREX::
@ERROR %
@RUN DTSCHB
@IF (ERROR) @GOTO FORF3
@RUN DTVRB1
@IF (ERROR) @GOTO FORF3
@RUN DTORDR
*BEGIN
*ENTER
*PROD
*KA10
*CENTRAL PROCESSOR
*140000
*DF10
*DATA CHANNEL
*14000
*KI10
*CENTRAL PROCESSOR
*240000
*
*SLSENG
*HOGAN, R.
*MAYNARD
*617
*897-5111
*2968
*CARMICHAEL, R.
*SANTA ANNA
*714
*979-2460
*2
*BRANDT, D.
*CAMBRIDGE
*617
*491-6130
*2522
*CUTHBERTSON, F.
*CAMBRIDGE
*617
*491-6130
*2522
*
*CUSTOM
*DEC
*146 MAIN ST.
*MAYNARD
*MASS.
*01754
*
*YES
*070973
*KA10
*3
*DF10
*4
*
*CUSTOM
*COPLEY
*2525 PACIFIC BEACH BLVD.
*SAN DIEGO
*CALIF.
*07111
*CARMICHAEL, R.
*YES
*071173
*KA10
*1
*
*CUSTOM
*FIRST CHURCH
*25 HUNTINGTON AVE.
*BOSTON
*MASS.
*02139
*BRANDT, D.
*YES
*071173
*KI10
*1
*DF10
*3
*
*CUSTOM
*SPAN
*25 TURNPIKE ROAD
*PROVIDENCE
*RHODE ISLAND
*01800
*CUTHBERTSON, F.
*NO
*
*INQUIRY
*CUSTOM
*DEC
*YES
*YES
*
*ENTER
*PROD
*MC10
*MEMORY PORT AND CABLE
*1000
*MD10-E
*MD10 32K WORD MEMORY EXPANSION MODULE
*42000
*
*PURORD
*DEC
*071273
*MC10
*2
*
*
*QUIT
@IF (ERROR) @GOTO FORF3
@ERROR
@APPEND TTY: DBMTST.MAIL
@Using FORTRAN: DBMS tests completed OK.
@^Z
!	Note a successful host run
@COPY NUL: DSK:DTHOST.OK.1
@GOTO HSTCK

FORF3::
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@Using FORTRAN: DBMS tests failed to execute.
@^Z



HSTCK::
!	Now verify that at least one host language test succeeded
@ERROR %
@DIRECT DTHOST.OK
@IF (NOERROR) @GOTO ENDIT
@ERROR
@APPEND TTY: DBMTST.MAIL
@No DBMS host language test ran correctly.
@^Z
@GOTO ENDIT



%TERR::
!	Job timeout
@
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@DBMS20 timed out - rerun test with larger time limit.
@^Z
@GOTO ENDIT



%ERR::
@GOTO UERR

UERR::
!	An unexpected error occurred somewhere.
@
@ERROR
@RESET
@APPEND TTY: DBMTST.MAIL
@Unexpected DBMS test error - check .LOG file.
@^Z
@GOTO ENDIT



ENDIT::
!	Cleanup and finish
@NOERROR
@RESET
@DELETE DSK:DTORD.JRN,DSK:DTORD.LOK,DSK:DTORD.SCH
@DELETE DSK:DTORDR.FOR,DSK:DTORDR.REL,DSK:DTORDR.EXE,DSK:DTSSOF.SUB
@DELETE DSK:DTORD1.DBS,DSK:DTORD2.DBS,DSK:DTORD3.DBS,DSK:DTORD4.DBS
@DELETE DSK:DTORD1.TMP,DSK:DTORD2.TMP,DSK:DTORD3.TMP,DSK:DTORD4.TMP
@DELETE DSK:DTORD1.AID,DSK:DTORD2.AID,DSK:DTORD3.AID,DSK:DTORD4.AID
@DELETE DSK:DTSCH.LOK,DSK:DTSCH.SCH
@DELETE DSK:DTSCHB.FOR,DSK:DTSCHB.REL,DSK:DTSCHB.EXE,DSK:DTSSSF.SUB
@DELETE DSK:DTVRB.JRN,DSK:DTVRB.LOK,DSK:DTVRB.SCH
@DELETE DSK:DTVRB1.DBS,DSK:DTVRB2.DBS
@DELETE DSK:DTVRB1.FOR,DSK:DTVRB2.FOR,DSK:DTVRB1.REL,DSK:DTVRB2.REL
@DELETE DSK:DTVR1S.REL,DSK:DTVRB1.EXE
@DELETE DSK:DTSSV1.SUB,DSK:DTSSV2.SUB
@DELETE DSK:DTORD.LOC,DSK:DTORD1.DBC,DSK:DTORD2.DBC,DSK:DTORD3.DBC
@DELETE DSK:DTORD4.DBC
@DELETE DSK:DTSCH.LOC,DSK:DTVRB.LOC,DSK:DTVRB1.DBC,DSK:DTVRB2.DBC
@DELETE DSK:DTORD.DBI,DSK:DTORD.ABS,DSK:DTORDB.ABS
@DELETE DSK:DTHOST.OK,DSK:DTUTL.OK,DSK:DTHLP.OK,DSK:DTSCHB.COB
@DELETE DSK:DTXDM.CMD,DSK:DTXDM.DCA,DSK:DTXDM.LOG
@EXPUNGE DSK:
@ERROR

@APPEND TTY: DBMTST.MAIL
@
@End of DBMS test.
@^Z

!	Mail the status message
@MAIL
@IF (ERROR) @PLEASE DBMTST finished. Please TYPE DBMTST.MAIL for results. 
*.
*
*DBMS-20 Verification Test results
*@DBMTST.MAIL


%FIN::

!	End of tests.