z390 Portable Mainframe Assembler and Emulator

z390 Regression Tests

Automated Software Tools Corporation

z390 Regression tests all use the following process to verify successful execution with expected results:

  1. Erase generated test files from all z390 directories that have test or demo programs
  2. Assemble, link, and execute z390 test or demo programs generating test files
  3. Run linklib\RTGENDIR utility to generate list of all files in test directory to be compared with all files in save sub-directory containing copy of expected files from last successful regression test
  4. Run file compare utility fc to compare test file with saved file and store differences in dif directory in file with same name.
  5. Sort the dif directory files in descending order by size and list them to see which files have the largest differences.  (The differences may be due to different user directories, different z390 versions, different operating systems or Java runtimes, or execution errors.

The following regression test commands and corresponding sub-directories are included in the z390 install directory and can be executed from GUI or Windows command line in z390 directory:
 
RTDEMO - demo programs in demo directory
RTGUAM - interactive demo and test programs in Graphical User Access Method (GUAM) guam directory
RTLINK   - callable subroutines and test programs in linklib directory
RTSOA     - interactive demo and test programs in Service Oriented Architecture (SOA) soa directory
RTUTIL    - Utility programs in util directory
RTVSAM - VSAM macro and utility testing
RTVSE      - VSE demo and test programs in vse directory (see VSE macros in vse\mac directory)
 

The following optional regression tests require download and installation of MVS.zip containing all of the system macros for MVS 3.8 from the public domain SHARE CBT archives and RT.zip containing z390 regression tests for each component:

RTMVS - run all regression tests in optional mvs directory (download and install MVS zip)
RTTEST - run all regression tests in optional rt directory (download and install RT zip)
RT           - run all of the non-interactive regression tests including RTMVS and RTTEST

Demo programs Description of demo programs
   
DEMO WTO 'HELLO WORLD' 4 line macro program
DEMOBMK1 Benchmark which executes BCT instruction 2 million times for timing purposes
DEMOBMK2 Benchmark which executes AXR, BCT 100,000 times for timing purposes
DEMODFP1 Show differences in binary floating point and decimal floating point calculation
DEMOM8Q1 Calculate and display 8 queens chess problem using recursive macro code
DEMONUM1 Calculate and display prime numbers to 4000 using conditional macro code
DEMONUM2 Calculate and display prime numbers to 4000 using basic assembler code
DEMOSTR1 Demo use of structured programming macros  - IF, ELSEIF, ELSE,  ENDIF, DO, and ENDDO.  See z390 Structured Programming Guide. See SHARE presentation by Ed Jaffee.
DEMOWTO1 WTO 'HELLO WORLD' 4 line macro program
DEMOWTO2 Repeat WTO 'HELLO WORLD' 5 times using macro code loop
STDDEVLB Calculate standard deviation using 128 bit 34 digit BFP floating point instructions
   
RTCICS programs Description of CICS compatible transaction manager programs
   
DFHPCT Program Control Table
MMMMCIC2 EXEC SEND "Hello World" message and then EXEC RETURN
RTZCICS Test EXEC CICS parsing and generated macro expansion
Z390BED* Test bed tranaction handlers BED1 - BED9
Z390CIC1 Receive AID and if enter, EXEC LINK to Z390BED2, then repeat echo loop until PF3 received
Z390CIC2 Send AID character via EXEC SEND and EXEC RETURN
Z390CEMT CEMT system command processor
Z390CICS Server message transaction manager using TCPIO RECEIVE and SEND
Z390KCP Local terminal manager using GUAM dialog and TN3270 TPUT/TGET
Z390LOGO LOGO display using EXEC SEND and EXEC RETURN
   
GUAM programs Description of Graphical User Access Method interactive programs in z390\guam
   
DEMOAPL1 Show all APL graphic character symbols
DEMOGUI1 WTO and WTOR loop with reply display (use optional GUAM for GUI)
DEMOGUI2 WTO, WTOR, WAIT loop which calculates MIP rate (use optional GUAM)
DEMOGUI3 TPUT, TGET using edit mode (use optional GUAM for TSO scrolling screen mode)
DEMOGUI4 TPUT, TGET in full screen TN3270 to write and read fields with blinking cursor (this demo requires GUAM option for TN3270 data stream support)
DEMOGUI5 GUAM graphics macro outupt (this demo requires GUAM and is not fully supported yet.  See pending RPI 137)
DEMOGUI6 GUAM interactive TN3270 screen demo with F1 help and 3 input fields - name, address, and zip.  The zip field is numeric and alarm sounds if alpha entered.
HELLO1 demo TN3270 TPUT FULLSCR "Hello World"
HELLO2 demo TN3270 TPUT FULLSCR "Hello World" with multiple SF commands
HELLO3 demo TN3270 TPUT FULLSCR "Hello World" with SFE command
AID test TN3270 display any AID keys entered
TESTGP1 test TN3270 fill screen with characters using single TPUT for each character
TESTGP2 test TN3270 fill screen with single TPUT
TESTGP3 test TN3270 TPUT display Hello World and wait for TGET keyboard input
TESTGP4 test TN3270 TPUT display Hello World and wait for TGET keyboard input reg form
   
RTLINK programs Description of linklib directory callable utilities and subroutines
   
CVTTOHEX callable subroutine to convert any length field to HEX using single TROT instruction
FPCONMFC callable interface to FPCONVRT used by z390 CTD and CFD macros
FPCONVRT callable floating point conversion routine contributed by David Bond with Tachyon called by FPCONMFC when using LINKAGE=MF for mainframe compatiblity on CTD and CFD conversion macros in z390 assembler.
REPRO VSAM utility to load or unload VSAM file from/to QSAM or another VSAM file
RTGENCMP macro processor utility to generate BAT with FC compares for regression testing
RTGENDIR macro progressor utility to extrace file names from DIR command for use by RTGENCMP utility
TESTFPC1 verify CTD and CFD conversion for range of floating point values using both MF and SVC linkage options for EB, EH, DB, DH, LB, and LH floating point types.
TESTFPC2 verify CTD and CFD conversions for MIN and MAX values for all floating point types including EB, EH, DB, DH, LB, and LH.
   
SOA programs Description of Service Oriented Architecture (SOA) demos and tests in soa dir
   
DEMOMAIN Main program which calls DEMOSUB1 and DEMOSUB2 to add 2 numbers.  This demo is first run using static linking of subroutines and then it is rebuilt using generated stub object code to interface with client manager DEMOCMGR which uses TCPIO svc to communicate via sockets over TCP/IP network with DEMOSMGR which calls the requested dynamically loaded subroutine modules on the server to perform the requested service and return results.
DEMOSUB1 Callable subroutine to add 2 scientific notation numbers using 128 bit BFP
DEMOSUB2 Callable subroutine to add 2 integers
DEMOCMGR Generate SOA client message manager for DEMOMAIN application client
DEMOSMGR Generate SOA server message manager for DEMOMAIN application services
DEMOSTOP Utility to send message to specified SOA server to shut it down
TESTMSGC Send message to TESTMSGS server on specified port.  Message is echoed back to TESTMSGC and displayed on console.  Enter Q to end.
TESTMSGS Receive message from SOA client and send it back.
   
RTTEST programs Description of regression tests in rt\test dir
   
TESTACT1 macro ACTR limit
TESTASC1 ASCII mode DC constants
TESTASC2 ASCII mode self defining terms
TESTASC3 ASCII mode execution of TESTINS2 z390 instruction execution tests
TESTASC4 ASCII mode run TEST memory changes in batch mode and verify
TESTASM1 az390 tests - CNOP, L' operator,  symbol tests, START, COM, and RSECT test, CVTDCB flags test
TESTASM2 az390 test tab delimiter versus space before comments using notepad editor
TESTBLD1 ez390 test BLDL search for 390 load modules in CDE memory and SYS390 dirs
TESTCAL1 ez390 test local static linked CALL
TESTCAL2 ez390 test static linked CALL with EXTRN and ENTRY
TESTCIC1 mz390 test of DFTRESP CICS error code literal substitution.
TESTCIC2 mz390 test assembly only of EXEC CICS SEND/RECEIVE with quoted literals
TESTCMD1 Single Windows command process
TESTCMD2 Two Windows command processes reading separate linked list output queues in sequence
TESTCPY1 Nested copy statement support
TESTCPY2 Comments after name on COPY statement
TESTCTD1 CTD convert to decimal conversion macro
TESTCVB1 CVB 32 bit convert to binary
TESTCVBG CVBG 64 bit convert to binary
TESTDC1 DC constants
TESTDC2 DC bit length constants
TESTDCB1 copy RECFM=FT ASCII file to RECFM=FT ASCII file
TESTDCB2 copy RECFM=FT ASCII file to RECFM=F EBCDIC file
TESTDCB3 copy RECFM=FB EBCDIC file to RECFM=FB EBCDIC file
TESTDCB4 copy RECFM=VT ASCII file to RECFM=VT ASCII file
TESTDCB5 copy RECFM=VT ASCII file to RECFM=V EBCDIC file
TESTDCB6 copy RECFM=VT ASCII file to RECFM=VB EBCDIC file
TESTDCB7 copy RECFM= VB EBCDIC file to RECFM=FT ASCII file
TESTDCB8 copy RECFM=F using sequentail READ and WRITE
TESTDCB9 copy RECFM=F file in reverse order using random READ and WRITE
TESTDCBA copy RECFM=FT file in ASCII mode with DCB RECORD= and DSNAME= and new file
TESTDCBB copy RECFM=F EBCDIC file to RECFM=F EBCDIC file using DCB RECORD= and READ, WRITE, CHECK
TESTDCBC copy RECFM=FT ASCII file to RECFM=FT ASCII file in ASCII mode with DCB RECORD= and DSNAME= and new file
TESTDCBD copy RECFM=FT to RECFM=VT
TESTDCBE create RECFM=FT and read RECFM=FT contributed by MM
TESTDFP1 Decimal Floating Point (DFP)
TESTDMP1 S0C1 abend with default indicative dump
TESTDMP2 S0C1 abend with DUMP option for full dump
TESTDMP3 User requested ABEND 111 with DUMP requested
TESTDMP4 SNAP dump with open file information, program information, and memory area dump
TESTDMP5 test abend dump with forced 0C1 abend
TESTDST1 CSECT and DSECT support
TESTECB1 WAIT ECBLIST= test multiple ECB wait
TESTENT1 Symbol defined as both ENTRY and CSECT
TESTENV1 GETENV macro to get environment string value
TESTEOF1 End of ASCII file with X'1A' end of file code
TESTEQU1 test EQUREGS TYPE=FPR and TYPE=HEX
TESTERR1 mz390 macro errors
TESTERR2 az390 assembly errors
TESTERR3 mz390 DCB macro errors
TESTERR4 ez390 invalid DCB DSNAME causing S013 abend
TESTERR5 ez390 invalid DCB DSNAME with SYNAD exit
TESTERR6 ez390 invalid DCB error
TESTERR7 ez390 missing DDNAME and no SYNAD
TESTEXT1 EXTRN static link
TESTEXT2 VCON and ENTRY static link
TESTFP1 floating point BFP and HFP instructions
TESTINS1 verify assembly of all instruction formats (1085) including z9, z10, and ASSIST
TESTINS2 verify problem state instruction execution (400+) including z9 opcodes
TESTINS3 verify problem stat instruction execution (226) for new z10 opcodes
TESTIPL1 ez390 IPL program to initialize CVTDATE for use by TESTIPL2
TESTIPL2 ez390 test option IPL(TESTIPL1) which executes TESTIPL1 before TESTIPL2 which then fetches CVTDATE and displays its current value which is 0 if TESTIPL1 is not run first to initialize it.
TESTLAB1 generated statement label and operator field errors for HLASM compatibility
TESTLCT1 LOCTR sections
TESTLNK1 LINK, LOAD, and DELETE macro and svcs
TESTLOC1 az390 multiple LOCTR's for CSECT and DSECT
TESTLOD1 LOAD 390 load modules  with DDNAME and DSNAME options
TESTLOD2 LOAD and DELETE user data files with DSNAME options
TESTMAC1 mz390 substring operations and DOUBLE
TESTMAC2 mz390 conditional compares
TESTMAC3 mz390 redefine instruction using inline macro, redefine global as local, expand array, test tab vs space delimiter before comments
TESTMAC4 mz390 test macro labels on MEND statements both upper and lower case
TESTMAC5 mz390 test multiply in sub-string expression subscript and no concat . after substring
TESTMAC6