Trailing-Edge
-
PDP-10 Archives
-
DECNET-20_V2.1_2020_7-20-82
-
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) 1979,1980 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: 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
@DELETE FTXFER.CMD
@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.
!
@CREATE FTXFER.CMD
*^[
*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::