Google
 

Trailing-Edge - PDP-10 Archives - BB-H240B-BM - uetp/lib/dnv2ln.cmp
There are no other files named dnv2ln.cmp in the archive.
!
!THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY ONLY BE USED
!  OR COPIED IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
!
!COPYRIGHT (C) 1978,1979 BY DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
!
!	UETP TEST CONTROL FILE - DECnet-20 V2 DN20 Line test
!
INIT::
!+---------------------------------------------------------------------+
!|                                                                     |
!|        test: DNV2LN        step: INIT                               |
!|                                                                     |
!+---------------------------------------------------------------------+
!
@ENABLE
@DEFINE UTP: PS:<UETP.LIB>
!
!
@RUN UTP:SENDER
*test DNV2LN
*blabel INIT
*type START
*send DNV2LN started
*exit
!
@DEFINE NET: PS:<UETP.DECNET>
!
!
!	Set up logical name definitions and allow access to UETP
!
@DEFINE DSK: NET:,UTP:
!
!	Clean up connected directory to start fresh
!
@EXPUNGE NET:
!
!	Create the operator communication program
!
@DEFINE EDITOR: SYS:EDIT
@CREATE WTOR.MAC
TITLE WTOR
	SEARCH MONSYM,MACSYM
	T1=1
	T2=2
	T3=3
	T4=4
START:	MOVX T1,<GJ%SHT>
	HRROI T2,[ASCIZ/WTOR.DAT/]
	GTJFN
	 HALTF
	MOVX T2,<OF%RD+7B5>
	OPENF
	 HALTF
	HRROI T2,BUFFER
	MOVEI T3,^^D80
	MOVEI T4,12
	SIN
	HRROI T1,BUFFER
	PSOUT
	MOVEI T1,.PRIIN
	HRROI T2,BUFFER
	MOVEI T3,^^D80
	MOVEI T4,12
	SIN
	HALTF
BUFFER:	BLOCK 100
	END START
*^[
*EU
@LOAD WTOR.MAC
@SAVE WTOR.EXE
@OPERATOR >
!
!	Make sure we have the standard EDIT
!
@DEFINE EDITOR: SYS:EDIT.EXE
!
!	Place required data and control files into connected directory.
!	Build the indirect command files for DYNETS. This requires that
!	the user has placed a file named DNV2LN.NOD, which contains the
!	node name of the DN20 front end, in PS:<UETP.LIB>.
!
@COPY UTP:DNV2LN.NOD (TO) NODE-NAME.TXT
@CREATE TESTLINE.CMD
*^[
*/NOBAK
*D^^/^^:*/*,Y
*C^^^[NODE-NAME.TXT,^^,1
*C.,^!1
*A.
*IESTABLISH ^[6 2500R-TASK-TEST72 /BYTE:7 /RECL:80 /WAIT:60
*C.,^!1
*A.
*IRECEIVE ^[6 2500R-TASK-TEST72 /TIMEOUT:60
*C.,^!1
*A.
*ISEND ^[6 2500R-TASK-TEST72 DECNET.DAT
*D^!1
*EU
@CREATE LOGNAM.CMD
*^[
*/NOBAK
*D^^/^^:*/*,Y
*C^^^[NODE-NAME.TXT,^^,1
*A^^!1
*6 2500R-TASK-TEST72.LOG (TO BE) RCVDAT.LOG
*EU
!
!	Copy file which contains specification of lines
!	to be tested on the DN20.
!
@COPY UTP:DNV2LN.LIN (TO) LINES.TXT
!
@goto STP1
%ERR::
@RUN UTP:SENDER
*test DNV2LN
*blabel INIT
*type error
*send DNV2LN failed in step INIT
*exit
@goto BAD
STP1::
!+---------------------------------------------------------------------+
!|                                                                     |
!|        test: DNV2LN        step: 1                                  |
!|                                                                     |
!+---------------------------------------------------------------------+
!
!	Obtain the specification of the next line to be tested
!	from the file LINES.TXT. If the file is empty the test
!	is complete and we terminate. If not empty, the first 
!	line in the file is deleted and file written back. The
!	first line is then placed as the first line of the file
!	DECNET.DAT to control the action of TEST72 which is
!	running on the DN20.
!
@ERROR %
@CREATE TEMP.TXT
*^[
*/NOBAK
*C^^^[LINES.TXT,^^!1
*C.^[UTP:DECNET.DAT,^^:*
*EU
@RENAME TEMP.TXT DECNET.DAT
@EDIT LINES.TXT
*D^^!1
*EU
@IF (ERROR) @GOTO FIN::
@ERROR
@CREATE PLUG.CMD
*^[
*/NOBAK
*I100
>TURN LINE OFF, CONNECT PLUG, TURN LINE ON: 
*^[
*C.^[DECNET.DAT,^!1
*J100
*EU
@CREATE OFF.CMD
*^[
*/NOBAK
*I100
>TURN LINE OFF: 
*^[
*C.^[DECNET.DAT,^!1
*J100
*EU
@RUN UTP:SENDER
*test DNV2LN
*blabel STP1
*type MINOR
*send DNV2LN finished step STP1
*exit
@goto STP2
%ERR::
@RUN UTP:SENDER
*test DNV2LN
*blabel STP1
*type error
*send DNV2LN failed in step STP1
*exit
@goto BAD
STP2::
!+---------------------------------------------------------------------+
!|                                                                     |
!|        test: DNV2LN        step: 2                                  |
!|                                                                     |
!+---------------------------------------------------------------------+
!
!	Ask the operator to ready the line to be tested by turning
!	the line off, putting the loopback plug on the line, then
!	turning the line back on again.
!	Run the DYNETS program which will create a logical link to
!	the network task TEST72 on the DN20 front end. When data is
!	sent to it TEST72 will scan the first line looking for a
!	valid line specification of the form DDD_n_m, where DDD is
!	a device type, n is the controller, and m is the line. If
!	valid, TEST72 will place the specified line in diagnostic
!	loopback and echo all further data recieved on its logical
!	link through the line. DYNETS will receive the echoed data
!	and place it in the file <node>-TASK-TEST72.LOG.
!
!	Then ask the operator to turn the line off.
@DELETE RCVDAT.LOG
@COPY PLUG.CMD WTOR.DAT
@RUN WTOR
@RUN UTP:DYNETS.EXE
*TAKE TESTLINE.CMD NUL:
*EXIT
@COPY OFF.CMD WTOR.DAT
@RUN WTOR
@RUN UTP:SENDER
*test DNV2LN
*blabel STP2
*type MINOR
*send DNV2LN finished step STP2
*exit
@goto STP3
%ERR::
@RUN UTP:SENDER
*test DNV2LN
*blabel STP2
*type error
*send DNV2LN failed in step STP2
*exit
@goto BAD
STP3::
!+---------------------------------------------------------------------+
!|                                                                     |
!|        test: DNV2LN        step: 3                                  |
!|                                                                     |
!+---------------------------------------------------------------------+
!
!	Verify that the file which has been echoed through the
!	DN20 line has not been corrupted in transit.
!
@RENAME @LOGNAM.CMD
@RUN UTP:UETCMP
*COMPARE
*RCVDAT.LOG
*DECNET.DAT
*EXIT
@RUN UTP:SENDER
*test DNV2LN
*blabel STP3
*type MINOR
*send DNV2LN finished step STP3
*exit
!
@BACKTO STP1
!
%ERR::
!
@RUN UTP:SENDER
*test DNV2LN
*blabel STP3
*type error
*send DNV2LN failed in step STP3
*exit
!
@BACKTO STP1
!
%TERR::
!
@RUN UTP:SENDER
*test DNV2LN
*blabel %TERR
*type error
*send DNV2LN timed out
*exit
BAD::
@IF (NOERROR) @GOTO FIN
@RUN UTP:SENDER
*test DNV2LN
*blabel BAD
*type error
*send DNV2LN failed in step BAD
*exit
FIN::
%FIN::
!+---------------------------------------------------------------------+
!|                                                                     |
!|        test: DNV2LN        step: %FIN / BAD                         |
!|                                                                     |
!+---------------------------------------------------------------------+
@RUN UTP:SENDER
*test DNV2LN
*blabel FIN
*type END
*send DNV2LN ended
*exit
DONE::