Google
 

Trailing-Edge - PDP-10 Archives - red405a2 - uetp/lib/dnv2ft.app
There are 4 other files named dnv2ft.app in the archive. Click here to see a list.
!
!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 NFT test
!
INIT::
!+---------------------------------------------------------------------+
!|                                                                     |
!|        test: DNV2FT        step: INIT                               |
!|                                                                     |
!+---------------------------------------------------------------------+
!
@DEFINE UTP: PS:<UETP.LIB>
!
@RUN UTP:SENDER
*test DNV2FT
*blabel INIT
*type START
*send DNV2FT started
*exit
!
@DEFINE NET: PS:<UETP.DECNET>
!
!
!	Set up logical name definitions and allow access to UETP
!
@DEFINE DSK: NET:,UTP:
@TAKE SYS.CMD
!
!	Make sure we have the standard EDIT
!
@DEFINE EDITOR: SYS:EDIT.EXE
!
!	Place required data and control files into connected directory
!
@COPY UTP:DECNET.DAT (TO) SEND.DAT
@COPY UTP:NFT.INIT (TO) NFT.INIT
!
!	Absence of NFT.INIT means we bypass remainder of
!	initialization and just test local transfer
!
@IF (ERROR) @GOTO INIT2::
!
!	Set up to allow testing of 8 nodes maximum
!
@DELETE FTNODE..*
@COPY UTP:NULL.TXT (TO) FTNODE..9
@SET FILE GENERATION-RETENTION-COUNT (OF FILES) FTNODE..* (TO) 9
!
!	The following editor command file accepts NFT.INIT as
!	input and creates one file for each line in NFT.INIT.
!	These files are named FTNODE..00n where n goes from
!	1 to 8, maximum. The files FTNODE..00n will be used in
!	a later step to build  command files to control the
!	transfer of files in the network.
!	Error character is set to per-cent (%) to allow
!	termination when all lines in NFT.INIT have been
!	extracted.
!
@ERROR %
!
@EDIT NFT.INIT
*/NOBAK
*D^^/^^:*/*,Y
*C^^^[NFT.INIT,100,1
*A^^
*X^[X^[3W2500D
*BU^[FTNODE..001
*D^^/^^:*/*,Y
*C^^^[NFT.INIT,200,1
*A^^
*X^[X^[3W2500D
*BU^[FTNODE..002
*D^^/^^:*/*,Y
*C^^^[NFT.INIT,300,1
*A^^
*X^[X^[3W2500D
*BU^[FTNODE..003
*D^^/^^:*/*,Y
*C^^^[NFT.INIT,400,1
*A^^
*X^[X^[3W2500D
*BU^[FTNODE..004
*D^^/^^:*/*,Y
*C^^^[NFT.INIT,500,1
*A^^
*X^[X^[3W2500D
*BU^[FTNODE..005
*D^^/^^:*/*,Y
*C^^^[NFT.INIT,600,1
*A^^
*X^[X^[3W2500D
*BU^[FTNODE..006
*D^^/^^:*/*,Y
*C^^^[NFT.INIT,700,1
*A^^
*X^[X^[3W2500D
*BU^[FTNODE..007
*D^^/^^:*/*,Y
*C^^^[NFT.INIT,800,1
*A^^
*X^[X^[3W2500D
*BU^[FTNODE..008
*EQ
!
@GOTO INIT1::	!Bypass %ERR label
!
!	Catch allowable errors if user has less than 8 nodes
!	defined in NFT.INIT
!
%ERR::
!
!	Verify the files created by EDIT by typeing their contents.
!
INIT1::
!
@DELETE FTNODE..9
@TYPE (FILE) FTNODE..*
!
INIT2::
!
@ERROR	!Reset the error character
!
!
!	Find out what version software we are running on this
!	system and what DECnet nodes are accessible
!
@GET SYS:NFT.EXE
@INFO VERSION
@INFO DECNET NODES
!
@RUN UTP:SENDER
*test DNV2FT
*blabel INIT
*type MINOR
*send DNV2FT finished step INIT
*exit
@goto STP1:: !Continue with test.
!
%ERR::
!
@RUN UTP:SENDER
*test DNV2FT
*blabel INIT
*type error
*send DNV2FT failed in step INIT
*exit
@goto BAD
STP1::
!+---------------------------------------------------------------------+
!|                                                                     |
!|        test: DNV2FT        step: 1                                  |
!|                                                                     |
!+---------------------------------------------------------------------+
!
!	TOP OF BATCH CONTROL LOOP - Executed for each node tested
!
!	Check which node to test by copying lowest generation of
!	file FTNODE..* to FTNODE.TST. When no further generations
!	of FTNODE..* exist the test is finished.
!
!
@COPY FTNODE..-2 (TO) FTNODE.TST
@IF (NOERROR) @GOTO STP1A::
!
@GOTO FIN::	!On error we are done
!
STP1A::
!
!	Delete the lowest generation of the FTNODE..* file
!	which represents the node to which we will now test
!
@DELETE FTNODE..-2
@EXPUNGE NET:
!
!	Create FTXFER.CMD to test to the current node
!	Following this sequence of editor commands, the file FTXFER.CMD will
!	contain two copy commands to copy the file SEND.DAT to the remote node
!	as TEMP.DAT and back again as RECV.DAT.
!
@EDIT FTXFER.CMD
*^[
*D^^/^^:*/*,Y
*C^^^[FTNODE.TST,^^!1
*C.,^!1
*A.
*ICOPY SEND.DAT (TO) ^[^IITEMP.DAT^[
*C.,^!1
*A.
*ICOPY ^[^IITEMP.DAT (TO) RECV.DAT^[
*C.,^!1
*A.
*IDELETE ^[^IITEMP.DAT^[
*D^!1
*BU^[FTXFER.CMD
*EQ
!
!
!	Type out the contents of file to be used by NFT
!	to perform the test
!
@TYPE (FILE) FTXFER.CMD
@RUN UTP:SENDER
*test DNV2FT
*blabel STP1
*type MINOR
*send DNV2FT finished step STP1
*exit
@goto STP2
!
%ERR::
!
@RUN UTP:SENDER
*test DNV2FT
*blabel STP1
*type error
*send DNV2FT failed in step STP1
*exit
@goto BAD
STP2::
!+---------------------------------------------------------------------+
!|                                                                     |
!|        test: DNV2FT        step: 2                                  |
!|                                                                     |
!+---------------------------------------------------------------------+
!
!	Run NFT to perform the test using commands contained in
!	NFT.INIT to set node defaults and FTXFER.CMD to perform
!	the actual file transfer
!
@DELETE RECV.DAT
@NFT
*TAKE NFT.INIT
*INFORMATION DECNET
*INFORMATION DEFAULTS
*TAKE FTXFER.CMD
*EXIT
@RUN UTP:SENDER
*test DNV2FT
*blabel STP2
*type MINOR
*send DNV2FT finished step STP2
*exit
@goto STP3
!
%ERR::
!
@RUN UTP:SENDER
*test DNV2FT
*blabel STP2
*type error
*send DNV2FT failed in step STP2
*exit
@goto BAD
STP3::
!+---------------------------------------------------------------------+
!|                                                                     |
!|        test: DNV2FT        step: 3                                  |
!|                                                                     |
!+---------------------------------------------------------------------+
!
!	Compare the file copied to remote node and back with
!	the copy which remained here. Should compare equal.
!
@RUN UTP:UETCMP
*COMPARE
*RECV.DAT
*SEND.DAT
*EXIT
@RUN UTP:SENDER
*test DNV2FT
*blabel STP3
*type MINOR
*send DNV2FT finished step STP3
*exit
@BACKTO STP1::
%ERR::
@RUN UTP:SENDER
*test DNV2FT
*blabel STP3
*type error
*send DNV2FT failed in step STP3
*exit
!
!	Perform the test loop for each node
!
@BACKTO STP1::
!
%TERR::
!
@RUN UTP:SENDER
*test DNV2FT
*blabel %TERR
*type error
*send DNV2FT timed out
*exit
!
BAD::
!
@IF (NOERROR) @GOTO FIN
@RUN UTP:SENDER
*test DNV2FT
*blabel BAD
*type error
*send DNV2FT Terminated with error
*exit
!
FIN::
%FIN::
!+---------------------------------------------------------------------+
!|                                                                     |
!|        test: DNV2FT        step: %FIN / BAD                         |
!|                                                                     |
!+---------------------------------------------------------------------+
@RUN UTP:SENDER
*test DNV2FT
*blabel FIN
*type END
*send DNV2FT ended
*exit
DONE::