@Echo Regression test against Kermit-20 4.2(174) [2-May-85] @Terminal Ideal @Info Term @Info Job @SMNT STAR: @Access STAR: @CD K20: @Info Job ! ! LCLT20:: @CHKPNT LCLT20 @Echo Local Kermit is latest version @Get Kermit @Info Ver @Start *Echo Condition Local Kermit-20 *CWD KT: * *PWD *Set Flow None *Set Prompt "Local-Kermit-20>" *Set Input Default-Timeout 4.5 *Set Input Timeout-Action Quit *Set Input Search-Default "\r\n@" *Show Input *Echo Maximum packet length 4.2(174) Supports *Show 94 *Set 94 !4.2(174) Does not support pseudo-timing, so don't do it locally !*Time NUL !*Time Copy NUL PTY *Log Session KT:K20POL-LOCAL-SESSION *Show Line *Show Packet *Show Timing *Show Input ! ! REMT20:: @CHKPNT LCLT20 ! *Echo Sign into remote system, mount structure, recondition terminal *Connect pseudo-terminal /stay *Input *Echo Note, no password needed for same user id on a pseudo-terminal *Output "slogin\r" *Input *Output "Terminal Ideal\r" *Input *Output "SMNT k20:\r" *Input *Output "Access STAR:\r" *Input *Output "Connect k20:\r" *Input ! ! *Echo Test Input with a great deal of output *Output "where Kermit Loopback Testing [Batch]\r" *Input *Output "Finger\r" *Input ! REMK20:: @CHKPNT REMK20 ! *Echo Start Kermit-20 4.2(174) on remote job !*Echo Can't do this, as it (silently) breaks older Kermit-20's !*Output "Set NO Control-C-Capability\r" !*Input *Output "Get PS:Kermit\r" *Input *Output "Info Ver\r" *Input *Output "Start\r" *Echo Ignore incompatibilities with latest Kermit.INI @NOERROR *Input "\r\nKermit-20>" @ERROR ! ! *Echo Configure remote Kermit and put into server mode *Set Input Search-Default "\r\nRemote-Kermit-20>" *Show Input *Output "Set Prompt Remote-Kermit-20>\r" *Input *Output "Set 94\r" *Input ! !4.2(174) Does not support pseudo-timing, so can't do these remotely !*Output "Time NUL\r" !*Input !*Output "Time Copy NUL PTY\r" !*Input ! ! Don't choke 4.2(174) flushing NAK's, either ! !*Echo Note subsecond server NAK'ing!!! !*Output "Set Receive Server-Timeout 0.3333 \r" !*Input ! *Output "Set Flow None\r" *Input *Output "Show Line\r" *Input *Output "Show Timing\r" *Input *Output "Show Packet\r" *Input ! ! *Output "\rSERVER\r\r" *Input "BYE" *Input "\r\n" ! ! ! The following commands exercise the remote Kermit in server mode ! SIMSRV:: @CHKPNT SIMSRV ! *Echo Simple comands that do not open files ! !4.2(174) Does not implement PWD ! !*Remote PWD ! *Remote Space ! ! *Echo Remote Help (BASIC) *Remote Help *Statistics ! ! NULTST:: @CHKPNT NULTST ! *Echo Kermit-20 4.2(174) does not implement NUL:, so don't use it @GOTO CWDTST ! *Echo Basic tests against NUL: *Remote Dir NUL: *Remote Type NUL: *Remote Delete NUL: *Echo NUL: looks deleted, but it's still there *Remote Dir NUL: *Remote CWD NUL: * *Echo Show that remote Connect to NUL: did nothing *Remote PWD *Echo We can get NUL:, but it doesn't get us much *Get "NUL:" NUL: *Statistics ! ! CWDTST:: @CHKPNT CWDTST ! *Echo Test Changing real directories *Remote CWD TOMMYT: * !*Remote PWD *Remote CWD * !*Remote PWD ! ! FILTST:: @CHKPNT FILTST ! *Echo Tests with data files *Remote CWD TOMMYT: * ! ! 4.2(174) Does not implement REMOTE STATUS ! *Echo This is the Gutenberg ASCII text of The Ghost of Canterville by Oscar Wilde *Remote Dir *.TXT.0 PREFIX:: @CHKPNT PREFIX *GET "GUTENBERG-PREFIX.TXT" PREFIX.TXT;T *Statistics !*Remote Status TITLE:: @CHKPNT TITLE *GET "TITLE-PAGE.TXT" TITLE.TXT;T *Statistics !*Remote Status LIST:: @CHKPNT LIST *GET "LIST-OF-ILLUSTRATIONS.TXT" LIST.TXT;T *Statistics !*Remote Status I:: @CHKPNT I *GET "I.TXT" I.TXT;T *Statistics !*Remote Status II:: @CHKPNT II *GET "II.TXT" II.TXT;T *Statistics !*Remote Status III:: @CHKPNT III *GET "III.TXT" III.TXT;T *Statistics !*Remote Status IV:: @CHKPNT IV *GET "IV.TXT" IV.TXT;T *Statistics !*Remote Status V:: @CHKPNT V *GET "V.TXT" V.TXT;T *Statistics !*Remote Status VI:: @CHKPNT VI *GET "VI.TXT" VI.TXT;T *Statistics !*Remote Status VII:: @CHKPNT VII *GET "VII.TXT" VII.TXT;T *Statistics !*Remote Status POSTFX:: @CHKPNT POSTFX *GET "GUTENBERG-POSTFIX-AND-LICENSE.TXT" POSTFX.TXT;T *Statistics !*Remote Status *Remote CWD * !*Remote PWD @GOTO DONE ! ! 4.2(174) Does not implement large packets, so skip this ! BIGFIL:: @CHKPNT BIGFIL ! *Echo Large file with largest possible buffer *Local Dir DOC:JSYS_REFERENCE.MEM *Remote Dir DOC:JSYS_REFERENCE.MEM *Echo Use largest possible buffer *Set receive packet-length 9000 *get "DOC:JSYS_REFERENCE.MEM" JSYS.TXT;T *Statistics !*Remote Status ! ! DONE:: @CHKPNT DONE *Echo Done with remote tests, exit the remote Kermit *Finish *Set Input Default-Timeout 20 *Set Input Search-Default "\r\n@" *Show Input *Output "\R" *Input *Clear/Peek ! FINREM:: @CHKPNT FINREM ! *Echo Show Remote Processor Time Used *Output "Info Fork\R" *Input *Echo Log the remote job out *Output "Logout\R" *Input "Used" *Input "\r\n" ! ! FINLCL:: @CHKPNT FINLCL ! *Echo Finish up and close out the local Kermit *Clear /Display *Show Line *Close Session *Connect Close *echo No terminal fork to kill since never started one *echo Connect Kill *Quit @Info Fork ! ! CHKFIL:: @CHKPNT CHKFIL @Echo Compare transferred small files against known originals @Info Job @VD *.TXT.0 /since:today @Define OWC: TOMMYT: @Define PREFIX: OWC:GUTENBERG-PREFIX.TXT @Define TITLE: OWC:TITLE-PAGE.TXT @Define LIST: OWC:LIST-OF-ILLUSTRATIONS.TXT @Define POSTFX: OWC:GUTENBERG-POSTFIX-AND-LICENSE.TXT !@Define JRM: DOC:JSYS_REFERENCE.MEM @Set Trap File @FILCOM *TTY:=PREFIX:,PREFIX.TXT *TTY:=TITLE:,TITLE.TXT *TTY:=LIST:,LIST.TXT *TTY:=OWC:I.TXT,I.TXT *TTY:=OWC:II.TXT,II.TXT *TTY:=OWC:III.TXT,III.TXT *TTY:=OWC:IV.TXT,IV.TXT *TTY:=OWC:V.TXT,V.TXT *TTY:=OWC:VI.TXT,VI.TXT *TTY:=OWC:VII.TXT,VII.TXT *TTY:=POSTFX:,POSTFX.TXT ! ! Check transfer of large file ! !*TTY:=JRM:,JSYS.TXT = ! ! PORKY:: @CHKPNT PORKY @Modify Batch K20PNW /Dep 0 @Echo That's all Folks!