diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/BUMPJOB.rex b/endevor/Automated-Test-Facility-Using-Test4Z/BUMPJOB.rex deleted file mode 100644 index 431dcbe..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/BUMPJOB.rex +++ /dev/null @@ -1,14 +0,0 @@ -/* REXX */ -/* Bump the last character on a Jobname to next value */ - Trace O - Arg jobname; - Rotation = '12345678901', - 'ABCDEFGHIJKLMNOPQRSTUVWXYZA', - '@#$@' - jobname = word(jobname,1) - lastchar = Substr(jobname,Length(jobname)) - wherenext = Pos(lastchar,Rotation) + 1 - overlaychar = Substr(Rotation,wherenext,1) - nextJobname = overlay(jobname,overlaychar,Length(jobname)) - nextJobname = overlay(overlaychar,jobname,Length(jobname)) - Return nextJobname diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Example-COBOL-processor-with-INCLUDES.jcl b/endevor/Automated-Test-Facility-Using-Test4Z/Example-COBOL-processor-with-INCLUDES.jcl deleted file mode 100644 index cf6ab27..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Example-COBOL-processor-with-INCLUDES.jcl +++ /dev/null @@ -1,147 +0,0 @@ -//** -//******************************************************************* -//** ** -//** COBOL2 AND COBOL/MVS COMPILE AND LINK-EDIT PROCESSOR -//** ** -//******************************************************************* -//GC1COB PROC LISTLIB='&PROJECT..SMPL&C1SSTAGE1..LISTLIB', -// CLECOMP='IGY.SIGYCOMP', -// CLERUN='CEE.SCEERUN', -// CLELKED='CEE.SCEELKED', -// CIILIB='SYS1.COB2LIB', -// CIICOMP='SYS1.COB2COMP', -// CSIQCLS0='Your.NDVR.TARGET.CSIQCLS0', -// PROJECT='Your.NDVR.V1##', -// COPYLIB='&PROJECT..SMPL&C1ST..COPYLIB', -// EXPINC=N, -// OPTIONS='Your.NDVR.V1##.SMPL&C1ST..OPTIONS', -// LOADLIB='&PROJECT..SMPL&C1ST..LOADLIB', - ++INCLUDE T4ZVARBS Test4Z processor variables -// MEMBER=&C1ELEMENT, -// MONITOR=COMPONENTS, -// CPARMA='', -// CPARMZ='', -// PARMCOB='LIB,NOSEQ,OBJECT,APOST,TEST(SEPARATE,DWARF)', -// PARMLNK='LIST,MAP,XREF', -// SYSOUT=*, -// WRKUNIT=3390 -//********************************************************************* -//* ALLOCATE TEMPORARY LISTING DATASETS -//INITCOB EXEC PGM=BC1PDSIN,MAXRC=0 GC1COB -//C1INIT01 DD DSN=&&COBLIST,DISP=(,PASS), -// UNIT=&WRKUNIT,SPACE=(TRK,(10,10)), -// DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0,DSORG=PS) -//C1INIT02 DD DSN=&&LNKLIST,DISP=(,PASS), -// UNIT=&WRKUNIT,SPACE=(TRK,(10,10)), -// DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0,DSORG=PS) -//C1INIT03 DD DSN=&&ZLRESLT,DISP=(,PASS), -// UNIT=&WRKUNIT,SPACE=(TRK,(10,10)), -// DCB=(RECFM=FB,LRECL=120,BLKSIZE=0,DSORG=PS) -//C1INIT04 DD DSN=&&ZLMESG,DISP=(,PASS), -// UNIT=&WRKUNIT,SPACE=(TRK,(10,10)), -// DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0,DSORG=PS) -//******************************************************************** -//* READ SOURCE AND EXPAND INCLUDES -//********************************************************************* -//CONWRITE EXEC PGM=CONWRITE,COND=(0,LT),MAXRC=0, GC1COB -// PARM='EXPINCL(&EXPINC)' -//ELMOUT DD DSN=&&ELMOUT,DISP=(,PASS), -// UNIT=&WRKUNIT,SPACE=(TRK,(100,100),RLSE), -// DCB=(RECFM=FB,LRECL=80,BLKSIZE=0), -// MONITOR=&MONITOR -//******************************************************************* -//** COMPILE THE ELEMENT ** -//******************************************************************* -//COMPILE EXEC PGM=CONPARMX,COND=(4,LT),MAXRC=4, GCOBOL -// PARM=(IGYCRCTL,'(&CPARMA)','&C1SYSTEM','&C1PRGRP', -// '&C1ELEMENT','(&CPARMZ)','N','N') -//* TEST PROCESSOR GROUP IF CIINBL THEN ALLOCATE COBOL2 LIBRARIES -//* IF CLENBL ALLOCATE COBOL/MVS RUNTIME LIBS -//* PROCESSOR GROUP IS COBOL/LE -//STEPLIB DD DSN=&CLECOMP,DISP=SHR -// DD DSN=&CLERUN,DISP=SHR -//PARMSDEF DD DSN=&OPTIONS, -// MONITOR=&MONITOR,ALLOC=LMAP, -// DISP=SHR -//******************************************************************* -//* COPYLIB CONCATENATIONS ** -//******************************************************************* -//SYSLIB DD DSN=©LIB,ALLOC=PMAP, -// MONITOR=&MONITOR, -// DISP=SHR -//SYSIN DD DSN=&&ELMOUT,DISP=(OLD,PASS) -//SYSLIN DD DSN=&&SYSLIN,DISP=(,PASS,DELETE), -// UNIT=&WRKUNIT,SPACE=(TRK,(100,100),RLSE), -// DCB=(RECFM=FB,LRECL=80,BLKSIZE=0), -// FOOTPRNT=CREATE -//SYSUT1 DD UNIT=&WRKUNIT,SPACE=(CYL,(5,3)) -//SYSUT2 DD UNIT=&WRKUNIT,SPACE=(CYL,(5,3)) -//SYSUT3 DD UNIT=&WRKUNIT,SPACE=(CYL,(5,3)) -//SYSUT4 DD UNIT=&WRKUNIT,SPACE=(CYL,(5,3)) -//SYSUT5 DD UNIT=&WRKUNIT,SPACE=(CYL,(5,3)) -//SYSUT6 DD UNIT=&WRKUNIT,SPACE=(CYL,(5,3)) -//SYSUT7 DD UNIT=&WRKUNIT,SPACE=(CYL,(5,3)) -//SYSUT8 DD UNIT=&WRKUNIT,SPACE=(CYL,(5,3)) -//SYSUT9 DD UNIT=&WRKUNIT,SPACE=(CYL,(5,3)) -//SYSUT10 DD UNIT=&WRKUNIT,SPACE=(CYL,(5,3)) -//SYSUT11 DD UNIT=&WRKUNIT,SPACE=(CYL,(5,3)) -//SYSUT12 DD UNIT=&WRKUNIT,SPACE=(CYL,(5,3)) -//SYSUT13 DD UNIT=&WRKUNIT,SPACE=(CYL,(5,3)) -//SYSUT14 DD UNIT=&WRKUNIT,SPACE=(CYL,(5,3)) -//SYSUT15 DD UNIT=&WRKUNIT,SPACE=(CYL,(5,3)) -//SYSMDECK DD UNIT=&WRKUNIT,SPACE=(CYL,(1,1)) -//SYSPRINT DD DSN=&&COBLIST,DISP=(OLD,PASS) -//******************************************************************* -//** LINK EDIT THE ELEMENT ** -//******************************************************************* -//LKED EXEC PGM=IEWL,COND=(4,LT),MAXRC=4, GC1COB -// PARM='&PARMLNK' -//SYSLIN DD DSN=&&SYSLIN,DISP=(OLD,DELETE) -//SYSLMOD DD DSN=&LOADLIB(&MEMBER), -// MONITOR=&MONITOR, -// FOOTPRNT=CREATE, -// DISP=SHR -//SYSLIB DD DSN=&LOADLIB,ALLOC=PMAP, -// MONITOR=&MONITOR, -// DISP=SHR -// DD DSN=&CLELKED, -// DISP=SHR -//SYSUT1 DD UNIT=&WRKUNIT,SPACE=(CYL,(1,1)) -//SYSPRINT DD DSN=&&LNKLIST,DISP=(OLD,PASS) -//********************************************************************* -//*** for Test4z processing\ -//*********INCLUDES(TEST4Z)***(include 1st and either/both others)* M - ++INCLUDE T4ZOPTNS Test4Z Examine OPTIONS - ++INCLUDE T4ZUNIT Test4Z Unit Testing for COBOL - ++INCLUDE T4ZRPLA2 Test4Z REPLAY from Recorded data -//* ++EXCLUDE T4ZRPLAY Test4Z REPLAY from Recorded data -//*** for Test4z processing/ -//*********INCLUDES(TEST4Z)**************************************** M -// IF (&C1USERID = 'ibmuser') THEN -//******************************************************************* -//* STORE THE TEST RESULTS IN USS -//******************************************************************* - ++INCLUDE T4ZCUSS Test4Z Test results store in USS - ++INCLUDE T4ZJNKNO Test4Z Test results from USS to Jenkins -// ENDIF -//******************************************************************* -//* STORE THE LISTINGS -//******************************************************************* -//STORLIST EXEC PGM=CONLIST,MAXRC=0,PARM=STORE,COND=EVEN, GC1COB -// EXECIF=(&LISTLIB,NE,NO) -//C1LLIBO DD DSN=&LISTLIB,DISP=SHR, -// MONITOR=&MONITOR -//C1BANNER DD UNIT=&WRKUNIT,SPACE=(TRK,(1,1)), -// DCB=(RECFM=FBA,LRECL=121,BLKSIZE=0) -//LIST01 DD * -************Compile and Link Listing************* -//LIST02 DD DSN=&&COBLIST,DISP=(OLD,DELETE) -//LIST03 DD DSN=&&LNKLIST,DISP=(OLD,DELETE) -//LIST04 DD * -************TEST4Z ZLRESULT in JSON************* -//LIST05 DD DSN=&&ZLRESLT,DISP=(OLD,DELETE) -//LIST06 DD DSN=&&ZLMESG,DISP=(OLD,DELETE) -//LIST07 DD * -************END OF TEST4Z RESULTS ************** -// -//** diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/GETACCTC lookup.rex b/endevor/Automated-Test-Facility-Using-Test4Z/GETACCTC lookup.rex deleted file mode 100644 index 122a9e6..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/GETACCTC lookup.rex +++ /dev/null @@ -1,18 +0,0 @@ -/* REXX */ - Arg whatuser - JobAccountingCode. = '12340' - JobAccountingCode.user#01 = '127398730' - JobAccountingCode.user#02 = '127398730' - JobAccountingCode.user#03 = '106321234' - JobAccountingCode.user#04 = '106321234' - JobAccountingCode.user#05 = '111212340' - JobAccountingCode.user#06 = '124312340' - JobAccountingCode.user#07 = '121412340' - JobAccountingCode.user#08 = '118412340' - JobAccountingCode.user#09 = '124312340' - JobAccountingCode.user#10 = '114412340' - JobAccountingCode.user#11 = '123212340' - JobAccountingCode.user#12 = '111412340' - JobAccountingCode.user#13 = '106341234' - JobAccountingCode.user#14 = '301123400' - Return JobAccountingCode.whatuser diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/GETACCTC.rex b/endevor/Automated-Test-Facility-Using-Test4Z/GETACCTC.rex deleted file mode 100644 index 344d668..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/GETACCTC.rex +++ /dev/null @@ -1,19 +0,0 @@ -/* REXX */ -/* Find and return the Accounting code value for current user/job */ - start = 540 /* it starts here */ - start = D2X(start) - TCB_Addr = C2D(Storage(start,4)) /* Current TCB Addr */ - TCB_Area = Storage(D2X(TCB_Addr),200) -/*TIOT_Addr = Substr(TCB_Area,13,4) - TIOT_jobname = Storage(C2X(TIOT_Addr),8) */ - - JSCB_Addr = Substr(TCB_Area,181,4) - JSCB_Area = Storage(C2X(JSCB_Addr),280) - JCT_Addr = Substr(JSCB_Area,261,4) - JCT_Area = Storage(C2X(JCT_Addr),100) - ACT_Addr = C2D(Substr(JCT_Area,57,3)) - ACT_Area = Storage(D2X(ACT_Addr),100) - ACT_len = C2D(Substr(ACT_Area,49,1)) - ACT_code = Substr(ACT_Area,50,ACT_len) - - Return ACT_code diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Integration-Testing/FINANCE.opt b/endevor/Automated-Test-Facility-Using-Test4Z/Integration-Testing/FINANCE.opt deleted file mode 100644 index bdb5170..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Integration-Testing/FINANCE.opt +++ /dev/null @@ -1,11 +0,0 @@ -** List in chronological order the Tests to run -TEST_Test_Suite = 'ZTTQSAML ZTTQSAMK ZTTQSAMI ' + - 'ZTTQSAMH ZTTQSAMJ ZTTQSAMM' -TEST_Allow_test_fails= + - 'N N N ' + - 'N Y N ' - QA_Test_Suite = 'ZTTQSAMH ZTTQSAMJ ZTTQSAMM ' + - 'ZTTQSAML ZTTQSAMK ZTTQSAMI' - QA_Allow_test_fails= + - 'N Y Y ' + - 'N N N ' diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Integration-Testing/FINANCEY.yaml b/endevor/Automated-Test-Facility-Using-Test4Z/Integration-Testing/FINANCEY.yaml deleted file mode 100644 index 678bb3b..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Integration-Testing/FINANCEY.yaml +++ /dev/null @@ -1,20 +0,0 @@ -## List tests in chronological order (comment in line 1 is required) - TEST: - - Test_Suite: 'ZTTQSAML' - - Allow_test_fails: 'Y' - - Test_Suite: 'ZTTQSAMK' - - Test_Suite: 'ZTTQSAMI' - - Test_Suite: 'ZTTQSAMH' - - Test_Suite: 'ZTTQSAMJ' - - Allow_test_fails: 'Y' - - Test_Suite: 'ZTTQSAMM' - - QA: - - Test_Suite: 'ZTTQSAMJ' - - Allow_test_fails: 'Y' - - Test_Suite: 'ZTTQSAMM' - - Test_Suite: 'ZTTQSAML' - - Test_Suite: 'ZTTQSAMK' - - Test_Suite: 'ZTTQSAMI' - - Test_Suite: 'ZTTQSAMH' - diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Integration-Testing/GSYSTST.jcl b/endevor/Automated-Test-Facility-Using-Test4Z/Integration-Testing/GSYSTST.jcl deleted file mode 100644 index f87507b..0000000 Binary files a/endevor/Automated-Test-Facility-Using-Test4Z/Integration-Testing/GSYSTST.jcl and /dev/null differ diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Integration-Testing/README.md b/endevor/Automated-Test-Facility-Using-Test4Z/Integration-Testing/README.md deleted file mode 100644 index b0a5ae7..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Integration-Testing/README.md +++ /dev/null @@ -1,14 +0,0 @@ -# Integration Testing - -You may want to separate testing from single programs to conduct Integration testing, where your entire application is tested. - -The processors in this folder allows you conduct lists of tests, defined in your choice format: - -- *keyword = 'list of Test_Suites'* - the traditional format consistent with CONPARMX -- *Yaml* - a modern Mark-up language - -An example for each is provided in the **Integration Testing** folder - -You can choose which format you want, and the processor will act accordingly. A "#' (hash character) in the first position of the first record tells the processor you are using a Yaml version. - -You can mix both formats in the same element type, if desired. The processor is able to detect by element, which format is used. \ No newline at end of file diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRPTP.pnl b/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRPTP.pnl deleted file mode 100644 index 4c2490a..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRPTP.pnl +++ /dev/null @@ -1,27 +0,0 @@ -)ATTR DEFAULT() FORMAT(MIX) - ^ TYPE(INPUT) CAPS(OFF) JUST(ASIS) PAD(' ') - _ TYPE(INPUT) CAPS(ON) JUST(ASIS) PADC(USER) - ` TYPE(TEXT) SKIP(ON) - › TYPE(OUTPUT) INTENS(LOW) CAPS(OFF) - { TYPE(PT) /* Panel Title */ - } TYPE(NT) /* Normal Text */ - % TYPE(FP) /* Field Prompt - Use for command/scroll text*/ -)BODY WINDOW(65,15) CMD() -} {Test4Z Endevor Submit a Replay job} } -} } -}Element ......›EEVETKEL ` } -}Description ......›USERDESC ` } -} } -}Load Lib ......^LOADLIB ` } -}NDVR ZLdata ......^T4ZLDATA ` } - \Retrieved into this dataset -}Review JCL? ......^Z` } -} } -}ENV:›EEVETKEN}SYS:›EEVETKSY`}SUB:›EEVETKSB`}TYP:›EEVETKTY` } -} } -}Enter criteria for a batch TEST4Z 'Replay' submission. } -)INIT - .ZVARS='(SHOWJCL)' - .CURSOR = SHOWJCL -)PROC -)END diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRPTR.pnl b/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRPTR.pnl deleted file mode 100644 index 894ff25..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRPTR.pnl +++ /dev/null @@ -1,26 +0,0 @@ -)ATTR DEFAULT() FORMAT(MIX) - ^ TYPE(INPUT) CAPS(OFF) JUST(ASIS) PAD(' ') - _ TYPE(INPUT) CAPS(ON) JUST(ASIS) PADC(USER) - ` TYPE(TEXT) SKIP(ON) - › TYPE(OUTPUT) INTENS(LOW) CAPS(OFF) - { TYPE(PT) /* Panel Title */ - } TYPE(NT) /* Normal Text */ - % TYPE(FP) /* Field Prompt - Use for command/scroll text*/ -)BODY WINDOW(65,15) CMD() -} {Test4Z Endevor Submit a Record job} } -} } -}Element ......›EEVETKEL ` } -}Description ......›USERDESC ` } -}JCL Lib ......^MYJCLLIB ` } -}Load Lib ......^LOADLIB ` } -}Data Lib ......^T4ZLDATA ` } -}Cover Lib ......^COVERLIB ` } -}Review JCL? ......^Z` } -}ENV:›EEVETKEN}SYS:›EEVETKSY`}SUB:›EEVETKSB`}TYP:›EEVETKTY` } -} } -}Enter criteria for a batch TEST4Z 'record' submission. } -)INIT - .ZVARS='(SHOWJCL)' - .CURSOR = SHOWJCL -)PROC -)END diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRPTU.pnl b/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRPTU.pnl deleted file mode 100644 index 1aa30ef..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRPTU.pnl +++ /dev/null @@ -1,28 +0,0 @@ -)ATTR DEFAULT() FORMAT(MIX) - ^ TYPE(INPUT) CAPS(OFF) JUST(ASIS) PAD(' ') - _ TYPE(INPUT) CAPS(ON) JUST(ASIS) PADC(USER) - ` TYPE(TEXT) SKIP(ON) - › TYPE(OUTPUT) INTENS(LOW) CAPS(OFF) - { TYPE(PT) /* Panel Title */ - } TYPE(NT) /* Normal Text */ - % TYPE(FP) /* Field Prompt - Use for command/scroll text*/ -)BODY WINDOW(65,15) CMD() -} {Test4Z Endevor Submit a Unit Test } } -} } -}Element ......›EEVETKEL ` } -}Load Lib ......^LOADLIB ` } -}T4Z load #1 ......^T4ZLOAD1 ` } -}T4Z load #2 ......^T4ZLOAD2 ` } -} } -}TSTSUITE(s) ......^TSTSUITE ` } -}JSON Lib ......^JSONLIB ` } -}Review JCL? ......^Z` } -} } -}ENV:›EEVETKEN}SYS:›EEVETKSY`}SUB:›EEVETKSB`}TYP:›EEVETKTY` } -} } -}Enter criteria for a batch TEST4Z 'Unit Test' submission. } -)INIT - .ZVARS='(SHOWJCL)' - .CURSOR = SHOWJCL -)PROC -)END diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRPTZ.pnl b/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRPTZ.pnl deleted file mode 100644 index 2ca7eb4..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRPTZ.pnl +++ /dev/null @@ -1,29 +0,0 @@ -)ATTR DEFAULT() FORMAT(MIX) - ^ TYPE(INPUT) CAPS(OFF) JUST(ASIS) PAD(' ') - _ TYPE(INPUT) CAPS(ON) JUST(ASIS) PADC(USER) - ` TYPE(TEXT) SKIP(ON) - { TYPE(PT) /* Panel Title */ - } TYPE(NT) /* Normal Text */ - % TYPE(FP) /* Field Prompt - Use for command/scroll text*/ - ¨ AREA(SCRL) EXTEND(ON) -)BODY WINDOW(65,15) CMD() -} {Test4Z Endevor Meta-Data} } -} } -}{Element .......^EEVETKEL ` } -}{Description.......^USERDESC ` } -} } -}{ENV ^EEVETKEN{SYS ^EEVETKSY`{SUB ^EEVETKSB`{TYP ^EEVETKTY` } -}{ Program ^PROGRAM `} -}{ Parameter ^PARM `} -} } -¨SAREA38 ¨ -)AREA SAREA38 -}Use this panel to enter criteria for a batch TEST4Z submission.} -)INIT - .CURSOR = PROGRAM - VGET (USERDAT1 USERDAT2 USERDESC) SHARED - VGET (USERLCCI USERGCCI USERRCCI USERPGRP USERUSER) SHARED -)PROC - VPUT (USERDAT1 USERDAT2 USERDESC) SHARED - VPUT (USERLCCI USERGCCI USERRCCI USERPGRP USERUSER) SHARED -)END diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRXTP.rex b/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRXTP.rex deleted file mode 100644 index 8ccd1c5..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRXTP.rex +++ /dev/null @@ -1,183 +0,0 @@ -/* REXX - User Routine Sample to submit a TEST4Z Replay job. - Kick off a Test4Z job -*/ -Trace Off - -CALL BPXWDYN "INFO FI(NDUSRXTZ) INRTDSN(DSNVAR) INRDSNT(myDSNT)" -if RESULT = 0 then Testing = 'Y' -If Testing = 'Y' then Trace Off - -/* Enter your Site selected values here */ - T4ZLibraryPrefix = USERID() - T4ZLibraryPrefix = 'PUBLIC' - SHOWJCL = 'N' - -parse arg PassParm /* The Parm tells us what variable */ -PassName = strip(PassParm,,"'") /* holds the varialbe names, remove */ -ADDRESS ISPEXEC "VGET ("PASSNAME") SHARED"/* ANY QUOTES AND GET THESE NAMES */ -interpret 'ALLVALS = 'PassName /* use interpret to expand the names*/ -ADDRESS ISPEXEC "VGET ("ALLVALS") SHARED" /* and get those values */ -ADDRESS ISPEXEC "VGET (MYJCLLIB) PROFILE" -USERDESC = EEVBCOM /* ...description */ -USERDAT1 = SUBSTR(EEVEUSRD,01,40) /* The EEVEUSRD is 80 bytes, tailor */ -USERDAT2 = SUBSTR(EEVEUSRD,41,40) /* this bit to split it into chunks */ -USERUSER = EEVETSO /* ...Signout UserID */ - -ADDRESS ISPEXEC "VPUT (USERDAT1 USERDAT2", /* Make vars available */ - "USERDESC USERPGRP USERLCCI USERGCCI", /* */ - "USERRCCI USERUSER ) SHARED" /* */ - - LOADLIB = '' - Call USE_APIAEELM ; - - tmpload = Translate(LOADLIB,' ','.') - uptoLastnode= WordIndex(tmpload,Words(tmpload)) - 1 - COVERLIB= Substr(LOADLIB,1,uptoLastnode) || 'ZLCOVER' - COVERLIB= T4ZLibraryPrefix'.'EEVETKSY'.'EEVETKEL'.ZLCOVER' - T4ZLDATA= Substr(LOADLIB,1,uptoLastnode) || 'T4ZLDATA' - T4ZLDATA= T4ZLibraryPrefix'.'EEVETKSY'.'EEVETKEL'.T4ZLDATA' - -ADDRESS ISPEXEC "ADDPOP" /* Show the panel in a pop-up */ -ADDRESS ISPEXEC "DISPLAY PANEL(NDUSRPTP)" /* Then show the panel */ -if rc > 0 then /* Did use hit END or RETURN? */ -do - ADDRESS ISPEXEC "REMPOP" /* Remove the popup */ - ADDRESS ISPEXEC "SETMSG MSG(ENDE046E)" /* Request cancelled */ - exit 0 /* and get out (no changes) */ -end - - /* Look in MYJCLLIB to see if the element has a member */ - thisT4ZJcl = MYJCLLIB"("EEVETKEL")" - DSNCHECK = SYSDSN("'"thisT4ZJcl"'") ; - IF DSNCHECK /= 'OK' then, - Do - Say "NDUSRXTZ- Expecting a member named" EEVETKEL "in" MYJCLLIB '.' - Say "NDUSRXTZ- Not finding one and cannot submit a TEST4Z job. " - Exit(8) - End - -ADDRESS ISPEXEC "REMPOP" /* Remove the popup */ -ADDRESS ISPEXEC "VGET (USERDAT1 USERDAT2", /* Get the values again */ - "USERDESC USERPGRP USERLCCI USERGCCI", /* */ - "USERRCCI USERUSER ) SHARED" /* */ - - ADDRESS ISPEXEC "FTOPEN TEMP" - ADDRESS ISPEXEC "FTINCL T4ZREPLA" - ADDRESS ISPEXEC "FTCLOSE " ; - ADDRESS ISPEXEC "VGET (ZUSER ZTEMPF ZTEMPN) ASIS" ; - - DEBUG = 'YES' ; - DEBUG = 'NAW' ; - If Testing = 'Y' then DEBUG = 'YES' ; - If SHOWJCL = 'Y' then DEBUG = 'YES' ; - - X = OUTTRAP("OFF") - ADDRESS ISPEXEC "VPUT (MYJCLLIB) PROFILE" - - IF DEBUG = 'YES' THEN, - DO - ADDRESS ISPEXEC "LMINIT DATAID(DDID) DDNAME(&ZTEMPN)" - ADDRESS ISPEXEC "EDIT DATAID(&DDID)" - ADDRESS ISPEXEC "LMFREE DATAID(&DDID)" - END; - ELSE, - ADDRESS TSO "SUBMIT '"ZTEMPF"'" ; - - exit 0 /* and get out (no changes) */ - -USE_APIAEELM : - - ADDRESS TSO -/* */ - "ALLOC F(SYSPRINT) DUMMY REUSE " ; - "ALLOC F(SYSOUT) DUMMY REUSE " ; - "ALLOC F(SYSIN) LRECL(80) BLKSIZE(0) SPACE(5,5)", - "RECFM(F B) TRACKS ", - "NEW UNCATALOG REUSE " ; - "ALLOC F(MSGFILE) LRECL(133) BLKSIZE(13300) SPACE(5,5)", - "RECFM(F B) TRACKS ", - "NEW UNCATALOG REUSE " ; - "ALLOC F(ELEMLIST) LRECL(2048) BLKSIZE(22800) SPACE(5,5)", - "RECFM(V B) TRACKS DSORG(PS) ", - "DA('"USERID()".DANST4Z.NOTIFY."ENVELM"')", - "MOD CATALOG REUSE " ; - /* */ - /* V - COLUMN 6 = FORMAT SETTING */ - /* = ' ' FOR NO FORMAT, JUST EXTRACT ELEMENT */ - /* = 'B' FOR ENDEVOR BROWSE DISPLAY FORMAT */ - /* = 'C' FOR ENDEVOR CHANGE DISPLAY FORMAT */ - /* = 'H' FOR ENDEVOR HISTORY DISPLAY FORMAT */ - /* V - COLUMN 7 = Replay TYPE SETTING */ - /* = 'E' FOR ELEMENT */ - /* = 'C' FOR COMPONENT */ - /* VVVVVVVV - COLUMN 10-17 ENVIRONMENT NAME */ - /* V - COLUMN 18 = STAGE ID */ - /* VVVVVVVV - COLUMN 19-26 SYSTEM NAME */ - /* VVVVVVVV - COLUMN 27-34 SUBSYSTEM NAME */ - /* COLUMN 35-44 = ELEMENT NAME VVVVVVVVVV */ - /* COLUMN 45-52 = TYPE NAME VVVVVVVV */ - /* */ - - Do map# = 1 to Words(DANST4ZMapList) - QUEUE 'AACTL MSGFILE ELEMLIST' /* Another search ... */ - TEMP= COPIES(" ",80); - TEMP= Overlay('AEELMBC ',TEMP,1) ; - TEMP= Overlay(EEVETKEN,TEMP,10) ; /* Env */ - TEMP= Overlay(EEVETKSI,TEMP,18) ; /* stg id */ - TEMP= Overlay(EEVETKSY,TEMP,19) ; /* Sys */ - TEMP= Overlay(EEVETKSB,TEMP,27) ; /* Sub */ - TEMP= Overlay(EEVETKEL,TEMP,35) ; /* Ele */ - TEMP= Overlay(EEVETKTY,TEMP,45) ; /* Typ */ - SA= TEMP; - QUEUE TEMP ; - QUEUE 'RUN' ; - End /* Do map# = 2 to Words(DANST4ZMapList) */ - - QUEUE 'AACTLY ' ; - QUEUE 'RUN' ; - QUEUE 'QUIT' ; - ADDRESS TSO, - "EXECIO" QUEUED() "DISKW SYSIN (FINIS " - RETURN_RC = 0 ; - ADDRESS TSO "PROFILE NOWTPMSG " ; - - ADDRESS ISPEXEC "SELECT PGM(ENTBJAPI)" ; - IF RC > 0 THEN, - DO - SA= 'CANNOT GET INFORMATION FROM ENDEVOR' ; - EXIT - END ; - RETURN_RC = RC ; - - ADDRESS TSO, - "EXECIO * DISKR ELEMLIST (STEM LIST. FINIS" ; - - "FREE F(SYSPRINT)" - "FREE F(SYSOUT) " - "FREE F(SYSIN) " - "FREE F(MSGFILE) " - "FREE F(ELEMLIST)" - - /* Inspect the output of the API call */ - Found_OUTPUT_COMPONENTS = 'N' - Do i = list.0 by -1 to 1 - out= list.i - If Pos(' DD=SYSLMOD ', out) = 0 &, - Pos(' DD=OUTDD ', out) = 0 then Iterate - whereDSN = Pos('DSN=',out) - if whereDSN = 0 then Iterate - tmpLOADLIB = Word(Substr(out,whereDSN + 4),1) - If Pos('.LOAD',tmpLOADLIB) = 0 then Iterate - LOADLIB = tmpLOADLIB - Leave - End /* Do i = 1 to list.0 */ - - If LOADLIB = '' then, - Do - Say "NDUSRXTZ- Unable to find output load library" - Say "NDUSRXTZ- Bypassing the submit for a TEST4Z job. " - Exit(8) - End - - Return ; - diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRXTR.rex b/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRXTR.rex deleted file mode 100644 index 0313aff..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRXTR.rex +++ /dev/null @@ -1,183 +0,0 @@ -/* REXX - User Routine Sample to submit a TEST4Z RECORD job. - Kick off a Test4Z job -*/ -Trace Off - -CALL BPXWDYN "INFO FI(NDUSRXTZ) INRTDSN(DSNVAR) INRDSNT(myDSNT)" -if RESULT = 0 then Testing = 'Y' -If Testing = 'Y' then Trace Off - -/* Enter your Site selected values here */ - T4ZLibraryPrefix = USERID() - T4ZLibraryPrefix = 'PUBLIC' - SHOWJCL = 'N' - -parse arg PassParm /* The Parm tells us what variable */ -PassName = strip(PassParm,,"'") /* holds the varialbe names, remove */ -ADDRESS ISPEXEC "VGET ("PASSNAME") SHARED"/* ANY QUOTES AND GET THESE NAMES */ -interpret 'ALLVALS = 'PassName /* use interpret to expand the names*/ -ADDRESS ISPEXEC "VGET ("ALLVALS") SHARED" /* and get those values */ -ADDRESS ISPEXEC "VGET (MYJCLLIB) PROFILE" -USERDESC = EEVBCOM /* ...description */ -USERDAT1 = SUBSTR(EEVEUSRD,01,40) /* The EEVEUSRD is 80 bytes, tailor */ -USERDAT2 = SUBSTR(EEVEUSRD,41,40) /* this bit to split it into chunks */ -USERUSER = EEVETSO /* ...Signout UserID */ - -ADDRESS ISPEXEC "VPUT (USERDAT1 USERDAT2", /* Make vars available */ - "USERDESC USERPGRP USERLCCI USERGCCI", /* */ - "USERRCCI USERUSER ) SHARED" /* */ - - LOADLIB = '' - Call USE_APIAEELM ; - - tmpload = Translate(LOADLIB,' ','.') - uptoLastnode= WordIndex(tmpload,Words(tmpload)) - 1 - COVERLIB= Substr(LOADLIB,1,uptoLastnode) || 'ZLCOVER' - COVERLIB= T4ZLibraryPrefix'.'EEVETKSY'.'EEVETKEL'.ZLCOVER' - T4ZLDATA= Substr(LOADLIB,1,uptoLastnode) || 'T4ZLDATA' - T4ZLDATA= T4ZLibraryPrefix'.'EEVETKSY'.'EEVETKEL'.T4ZLDATA' - -ADDRESS ISPEXEC "ADDPOP" /* Show the panel in a pop-up */ -ADDRESS ISPEXEC "DISPLAY PANEL(NDUSRPTR)" /* Then show the panel */ -if rc > 0 then /* Did use hit END or RETURN? */ -do - ADDRESS ISPEXEC "REMPOP" /* Remove the popup */ - ADDRESS ISPEXEC "SETMSG MSG(ENDE046E)" /* Request cancelled */ - exit 0 /* and get out (no changes) */ -end - - /* Look in MYJCLLIB to see if the element has a member */ - thisT4ZJcl = MYJCLLIB"("EEVETKEL")" - DSNCHECK = SYSDSN("'"thisT4ZJcl"'") ; - IF DSNCHECK /= 'OK' then, - Do - Say "NDUSRXTZ- Expecting a member named" EEVETKEL "in" MYJCLLIB '.' - Say "NDUSRXTZ- Not finding one and cannot submit a TEST4Z job. " - Exit(8) - End - -ADDRESS ISPEXEC "REMPOP" /* Remove the popup */ -ADDRESS ISPEXEC "VGET (USERDAT1 USERDAT2", /* Get the values again */ - "USERDESC USERPGRP USERLCCI USERGCCI", /* */ - "USERRCCI USERUSER ) SHARED" /* */ - - ADDRESS ISPEXEC "FTOPEN TEMP" - ADDRESS ISPEXEC "FTINCL T4ZRCORD" - ADDRESS ISPEXEC "FTCLOSE " ; - ADDRESS ISPEXEC "VGET (ZUSER ZTEMPF ZTEMPN) ASIS" ; - - DEBUG = 'YES' ; - DEBUG = 'NAW' ; - If Testing = 'Y' then DEBUG = 'YES' ; - If SHOWJCL = 'Y' then DEBUG = 'YES' ; - - X = OUTTRAP("OFF") - ADDRESS ISPEXEC "VPUT (MYJCLLIB) PROFILE" - - IF DEBUG = 'YES' THEN, - DO - ADDRESS ISPEXEC "LMINIT DATAID(DDID) DDNAME(&ZTEMPN)" - ADDRESS ISPEXEC "EDIT DATAID(&DDID)" - ADDRESS ISPEXEC "LMFREE DATAID(&DDID)" - END; - ELSE, - ADDRESS TSO "SUBMIT '"ZTEMPF"'" ; - - exit 0 /* and get out (no changes) */ - -USE_APIAEELM : - - ADDRESS TSO -/* */ - "ALLOC F(SYSPRINT) DUMMY REUSE " ; - "ALLOC F(SYSOUT) DUMMY REUSE " ; - "ALLOC F(SYSIN) LRECL(80) BLKSIZE(0) SPACE(5,5)", - "RECFM(F B) TRACKS ", - "NEW UNCATALOG REUSE " ; - "ALLOC F(MSGFILE) LRECL(133) BLKSIZE(13300) SPACE(5,5)", - "RECFM(F B) TRACKS ", - "NEW UNCATALOG REUSE " ; - "ALLOC F(ELEMLIST) LRECL(2048) BLKSIZE(22800) SPACE(5,5)", - "RECFM(V B) TRACKS DSORG(PS) ", - "DA('"USERID()".DANST4Z.NOTIFY."ENVELM"')", - "MOD CATALOG REUSE " ; - /* */ - /* V - COLUMN 6 = FORMAT SETTING */ - /* = ' ' FOR NO FORMAT, JUST EXTRACT ELEMENT */ - /* = 'B' FOR ENDEVOR BROWSE DISPLAY FORMAT */ - /* = 'C' FOR ENDEVOR CHANGE DISPLAY FORMAT */ - /* = 'H' FOR ENDEVOR HISTORY DISPLAY FORMAT */ - /* V - COLUMN 7 = RECORD TYPE SETTING */ - /* = 'E' FOR ELEMENT */ - /* = 'C' FOR COMPONENT */ - /* VVVVVVVV - COLUMN 10-17 ENVIRONMENT NAME */ - /* V - COLUMN 18 = STAGE ID */ - /* VVVVVVVV - COLUMN 19-26 SYSTEM NAME */ - /* VVVVVVVV - COLUMN 27-34 SUBSYSTEM NAME */ - /* COLUMN 35-44 = ELEMENT NAME VVVVVVVVVV */ - /* COLUMN 45-52 = TYPE NAME VVVVVVVV */ - /* */ - - Do map# = 1 to Words(DANST4ZMapList) - QUEUE 'AACTL MSGFILE ELEMLIST' /* Another search ... */ - TEMP= COPIES(" ",80); - TEMP= Overlay('AEELMBC ',TEMP,1) ; - TEMP= Overlay(EEVETKEN,TEMP,10) ; /* Env */ - TEMP= Overlay(EEVETKSI,TEMP,18) ; /* stg id */ - TEMP= Overlay(EEVETKSY,TEMP,19) ; /* Sys */ - TEMP= Overlay(EEVETKSB,TEMP,27) ; /* Sub */ - TEMP= Overlay(EEVETKEL,TEMP,35) ; /* Ele */ - TEMP= Overlay(EEVETKTY,TEMP,45) ; /* Typ */ - SA= TEMP; - QUEUE TEMP ; - QUEUE 'RUN' ; - End /* Do map# = 2 to Words(DANST4ZMapList) */ - - QUEUE 'AACTLY ' ; - QUEUE 'RUN' ; - QUEUE 'QUIT' ; - ADDRESS TSO, - "EXECIO" QUEUED() "DISKW SYSIN (FINIS " - RETURN_RC = 0 ; - ADDRESS TSO "PROFILE NOWTPMSG " ; - - ADDRESS ISPEXEC "SELECT PGM(ENTBJAPI)" ; - IF RC > 0 THEN, - DO - SA= 'CANNOT GET INFORMATION FROM ENDEVOR' ; - EXIT - END ; - RETURN_RC = RC ; - - ADDRESS TSO, - "EXECIO * DISKR ELEMLIST (STEM LIST. FINIS" ; - - "FREE F(SYSPRINT)" - "FREE F(SYSOUT) " - "FREE F(SYSIN) " - "FREE F(MSGFILE) " - "FREE F(ELEMLIST)" - - /* Inspect the output of the API call */ - Found_OUTPUT_COMPONENTS = 'N' - Do i = list.0 by -1 to 1 - out= list.i - If Pos(' DD=SYSLMOD ', out) = 0 &, - Pos(' DD=OUTDD ', out) = 0 then Iterate - whereDSN = Pos('DSN=',out) - if whereDSN = 0 then Iterate - tmpLOADLIB = Word(Substr(out,whereDSN + 4),1) - If Pos('.LOAD',tmpLOADLIB) = 0 then Iterate - LOADLIB = tmpLOADLIB - Leave - End /* Do i = 1 to list.0 */ - - If LOADLIB = '' then, - Do - Say "NDUSRXTZ- Unable to find output load library" - Say "NDUSRXTZ- Bypassing the submit for a TEST4Z job. " - Exit(8) - End - - Return ; - diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRXTU.rex b/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRXTU.rex deleted file mode 100644 index 1312572..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRXTU.rex +++ /dev/null @@ -1,180 +0,0 @@ -/* REXX - User Routine Sample to submit a TEST4Z Unit Test. - Kick off a Test4Z job -*/ - -CALL BPXWDYN "INFO FI(NDUSRXTU) INRTDSN(DSNVAR) INRDSNT(myDSNT)" -if RESULT = 0 then Testing = 'Y' -If Testing = 'Y' then Trace ?R - -/* Enter your Site selected values here */ - T4ZLibraryPrefix = USERID() - T4ZLibraryPrefix = 'PUBLIC' - SHOWJCL = 'N' - -parse arg PassParm /* The Parm tells us what variable */ -PassName = strip(PassParm,,"'") /* holds the varialbe names, remove */ -ADDRESS ISPEXEC "VGET ("PASSNAME") SHARED"/* ANY QUOTES AND GET THESE NAMES */ -interpret 'ALLVALS = 'PassName /* use interpret to expand the names*/ -ADDRESS ISPEXEC "VGET ("ALLVALS") SHARED" /* and get those values */ -USERDESC = EEVBCOM /* ...description */ -USERDAT1 = SUBSTR(EEVEUSRD,01,40) /* The EEVEUSRD is 80 bytes, tailor */ -USERDAT2 = SUBSTR(EEVEUSRD,41,40) /* this bit to split it into chunks */ -USERUSER = EEVETSO /* ...Signout UserID */ - -ADDRESS ISPEXEC "VPUT (USERDAT1 USERDAT2", /* Make vars available */ - "USERDESC USERPGRP USERLCCI USERGCCI", /* */ - "USERRCCI USERUSER ) SHARED" /* */ - - LOADLIB = '' - Call USE_APIAEELM ; - - tmpload = Translate(LOADLIB,' ','.') - uptoLastnode= WordIndex(tmpload,Words(tmpload)) - 1 - JSONLIB = Substr(LOADLIB,1,uptoLastnode) || 'JSON' - JSONLIB = T4ZLibraryPrefix'.'EEVETKSY'.'EEVETKEL'.JSON' - COVERLIB= Substr(LOADLIB,1,uptoLastnode) || 'ZLCOVER' - COVERLIB= T4ZLibraryPrefix'.'EEVETKSY'.'EEVETKEL'.ZLCOVER' - T4ZLOAD1= Substr(LOADLIB,1,uptoLastnode) || 'T4ZLOAD' - -/* Enter your choice for setting default values for these */ -ADDRESS ISPEXEC "VGET (T4ZLOAD2 TSTSUITE) PROFILE" -If Length(T4ZLOAD2) < 8 then, - T4ZLOAD2 = '' -If Length(TSTSUITE) < 8 then, - TSTSUITE = EEVETKEL - - -ADDRESS ISPEXEC "ADDPOP" /* Show the panel in a pop-up */ -ADDRESS ISPEXEC "DISPLAY PANEL(NDUSRPTU)" /* Then show the panel */ -if rc > 0 then /* Did use hit END or RETURN? */ -do - ADDRESS ISPEXEC "REMPOP" /* Remove the popup */ - ADDRESS ISPEXEC "SETMSG MSG(ENDE046E)" /* Request cancelled */ - exit 0 /* and get out (no changes) */ -end - -ADDRESS ISPEXEC "REMPOP" /* Remove the popup */ -ADDRESS ISPEXEC "VGET (USERDAT1 USERDAT2", /* Get the values again */ - "USERDESC USERPGRP USERLCCI USERGCCI", /* */ - "USERRCCI USERUSER ) SHARED" /* */ - - ADDRESS ISPEXEC "FTOPEN TEMP" - ADDRESS ISPEXEC "FTINCL T4ZUTEST" - ADDRESS ISPEXEC "FTCLOSE " ; - ADDRESS ISPEXEC "VGET (ZUSER ZTEMPF ZTEMPN) ASIS" ; - - DEBUG = 'YES' ; - DEBUG = 'NAW' ; - If Testing = 'Y' then DEBUG = 'YES' ; - If SHOWJCL = 'Y' then DEBUG = 'YES' ; - - X = OUTTRAP("OFF") - ADDRESS ISPEXEC "VPUT (T4ZLOAD1 T4ZLOAD2 TSTSUITE) PROFILE" - - IF DEBUG = 'YES' THEN, - DO - ADDRESS ISPEXEC "LMINIT DATAID(DDID) DDNAME(&ZTEMPN)" - ADDRESS ISPEXEC "EDIT DATAID(&DDID)" - ADDRESS ISPEXEC "LMFREE DATAID(&DDID)" - END; - ELSE, - ADDRESS TSO "SUBMIT '"ZTEMPF"'" ; - - exit 0 /* and get out (no changes) */ - -USE_APIAEELM : - - ADDRESS TSO -/* */ - "ALLOC F(SYSPRINT) DUMMY REUSE " ; - "ALLOC F(SYSOUT) DUMMY REUSE " ; - "ALLOC F(SYSIN) LRECL(80) BLKSIZE(0) SPACE(5,5)", - "RECFM(F B) TRACKS ", - "NEW UNCATALOG REUSE " ; - "ALLOC F(MSGFILE) LRECL(133) BLKSIZE(13300) SPACE(5,5)", - "RECFM(F B) TRACKS ", - "NEW UNCATALOG REUSE " ; - "ALLOC F(ELEMLIST) LRECL(2048) BLKSIZE(22800) SPACE(5,5)", - "RECFM(V B) TRACKS DSORG(PS) ", - "DA('"USERID()".DANST4Z.NOTIFY."ENVELM"')", - "MOD CATALOG REUSE " ; - /* */ - /* V - COLUMN 6 = FORMAT SETTING */ - /* = ' ' FOR NO FORMAT, JUST EXTRACT ELEMENT */ - /* = 'B' FOR ENDEVOR BROWSE DISPLAY FORMAT */ - /* = 'C' FOR ENDEVOR CHANGE DISPLAY FORMAT */ - /* = 'H' FOR ENDEVOR HISTORY DISPLAY FORMAT */ - /* V - COLUMN 7 = RECORD TYPE SETTING */ - /* = 'E' FOR ELEMENT */ - /* = 'C' FOR COMPONENT */ - /* VVVVVVVV - COLUMN 10-17 ENVIRONMENT NAME */ - /* V - COLUMN 18 = STAGE ID */ - /* VVVVVVVV - COLUMN 19-26 SYSTEM NAME */ - /* VVVVVVVV - COLUMN 27-34 SUBSYSTEM NAME */ - /* COLUMN 35-44 = ELEMENT NAME VVVVVVVVVV */ - /* COLUMN 45-52 = TYPE NAME VVVVVVVV */ - /* */ - - Do map# = 1 to Words(DANST4ZMapList) - QUEUE 'AACTL MSGFILE ELEMLIST' /* Another search ... */ - TEMP= COPIES(" ",80); - TEMP= Overlay('AEELMBC ',TEMP,1) ; - TEMP= Overlay(EEVETKEN,TEMP,10) ; /* Env */ - TEMP= Overlay(EEVETKSI,TEMP,18) ; /* stg id */ - TEMP= Overlay(EEVETKSY,TEMP,19) ; /* Sys */ - TEMP= Overlay(EEVETKSB,TEMP,27) ; /* Sub */ - TEMP= Overlay(EEVETKEL,TEMP,35) ; /* Ele */ - TEMP= Overlay(EEVETKTY,TEMP,45) ; /* Typ */ - SA= TEMP; - QUEUE TEMP ; - QUEUE 'RUN' ; - End /* Do map# = 2 to Words(DANST4ZMapList) */ - - QUEUE 'AACTLY ' ; - QUEUE 'RUN' ; - QUEUE 'QUIT' ; - ADDRESS TSO, - "EXECIO" QUEUED() "DISKW SYSIN (FINIS " - RETURN_RC = 0 ; - ADDRESS TSO "PROFILE NOWTPMSG " ; - - ADDRESS ISPEXEC "SELECT PGM(ENTBJAPI)" ; - IF RC > 0 THEN, - DO - SA= 'CANNOT GET INFORMATION FROM ENDEVOR' ; - EXIT - END ; - RETURN_RC = RC ; - - ADDRESS TSO, - "EXECIO * DISKR ELEMLIST (STEM LIST. FINIS" ; - - "FREE F(SYSPRINT)" - "FREE F(SYSOUT) " - "FREE F(SYSIN) " - "FREE F(MSGFILE) " - "FREE F(ELEMLIST)" - - /* Inspect the output of the API call */ - Found_OUTPUT_COMPONENTS = 'N' - Do i = list.0 by -1 to 1 - out= list.i - If Pos(' DD=SYSLMOD ', out) = 0 &, - Pos(' DD=OUTDD ', out) = 0 then Iterate - whereDSN = Pos('DSN=',out) - if whereDSN = 0 then Iterate - tmpLOADLIB = Word(Substr(out,whereDSN + 4),1) - If Pos('.LOAD',tmpLOADLIB) = 0 then Iterate - LOADLIB = tmpLOADLIB - Leave - End /* Do i = 1 to list.0 */ - - If LOADLIB = '' then, - Do - Say "NDUSRXTU- Unable to find output load library" - Say "NDUSRXTU- Bypassing the submit for a TEST4Z job. " - Exit(8) - End - - Return ; - diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRXTZ.rex b/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRXTZ.rex deleted file mode 100644 index 547b8e3..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/NDUSRXTZ.rex +++ /dev/null @@ -1,54 +0,0 @@ -/* REXX - User Routine Sample to display Alterable Fields in a pop-up screen - Kick off a Test4Z job -*/ -Trace Off -/* - THESE SAMPLE ROUTINES ARE DISTRIBUTED BY BROADCOM "AS IS". - NO WARRANTY, EITHER EXPRESSED OR IMPLIED, IS MADE FOR THEM. - BROADCOM CANNOT GUARANTEE THAT THE ROUTINES ARE - ERROR FREE, OR THAT IF ERRORS ARE FOUND, THEY WILL BE CORRECTED. - -*/ - -/* Common Preamble */ -if ARG(1) == "DESCRIPTION" THEN - RETURN "Sample routine to display Test4Z contents" -/* End of Preamble */ - -parse arg PassParm /* Get parm that contains */ -PassName = strip(PassParm,,"'") /* ...all the names */ -ADDRESS ISPEXEC "VGET ("PassName") SHARED" /* Retrieve it's value */ -interpret 'ALLVALS = 'PassName /* Use it to retrieve names */ -ADDRESS ISPEXEC "VGET ("ALLVALS") SHARED" /* ...and retrieve them */ -ADDRESS ISPEXEC "VGET (ZSCREEN) SHARED" /* Get current screen */ -DDNAME = 'DUMPOUT' || ZSCREEN /* use screen in DDName */ -address TSO "ALLOC DD("DDNAME") SP(1,0) ", /* Allocate temp file */ - "TR NEW RELEASE LRECL(512) BLKSIZE(0)", - "DSORG(PS)", - "RECFM(V,B) NEW REU UNCATALOG" -Queue "*** Test4z QE User routines ***" /* Write a Title */ -Queue " " -Queue "Use TR to submit a Test4Z Record job " -Queue " The JCL LIB must have input and output references " -Queue " " -Queue "Use TP to submit a Test4Z Replay Job " -Queue " You must run the Record (TR) job first " -Queue " " -Queue "Use TU to submit a Test4Z Unit Test Job " -Queue " You must have a COBOLTST element for the test. " -Queue " " -Queue "Your OPTIONS may direct the Endevor processor to " -Queue " perform TU and TP actions with a COBOL Generate. " -Queue "" /* null line to terminate */ -address TSO "EXECIO * DISKW "DDNAME" (FINIS" /* Write queued lines */ -zedsmsg = 'Selected Row Dumped' /* Set a user message */ -zedlmsg = 'All variables for row have been collected' -address ispexec "SETMSG MSG(ISRZ000)" -ADDRESS ISPEXEC "LMINIT DATAID(DDID) DDNAME("DDNAME")" -ADDRESS ISPEXEC "VIEW DATAID(&DDID)" /* invoke View to Browse */ -ADDRESS ISPEXEC "LMFREE DATAID(&DDID)" -address TSO "FREE FILE("DDNAME")" /* Free the file we're done */ -USERMSG = '*Dumped' /* Tell user what happened */ -ADDRESS ISPEXEC "VPUT (USERMSG) SHARED" /* and store the message */ -EXIT 0 - Exit diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/README.md b/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/README.md deleted file mode 100644 index 6beb4d4..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/README.md +++ /dev/null @@ -1,25 +0,0 @@ -# Quick Edit User Extension Points - -Items in this folder leverage an existing feature in Quick Edit named the [Quick-Edit User Extension points](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/ca-endevor-software-change-manager/19-0/using/quick-edit-option/quick-edit-user-extension-points.html). - You can quickly get started toward integrating Test4Z with Endevor, by incorporating the items in this folder. It is a good way to start, before migrating to the second method - using Endevor procdessors. - -## Setup Prerequisites - -The .rex, .pnl and .skl items must be placed into REXX, ISPF panel alnd ISPF skeleton libraries accordingly. - -If you are not already using Quick-Edit User Extensions, here is how you may engage the feature: - -In your CSIQSRC(ENCOPTBL) turn on the QE user routines with this option: - - CD18102_QE_USER_ROUTINES=ON - -In your CSIQSRC(ENDICNFG) turn off the "Hide" option: - - UI_OPT_HIDE_NDUSRX=N - -## Considerations for the Test4Z Record action - -JCL content used for **Record** actions depends on the technical composite of the program being tested. See the **Example Record and Replay JCL** section in the -[Record and Replay](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/test4z/1-0/administrating/record-replay-and-verification-processing.html). Because of the JCL diversity, the Quick Edit User Extensions require steps to be maintained as members in a **MYJCLLIB** dataset. A member names must match the names of an application COBOL program, and must contain RECORD snippets of JCL. In other words, members in your **MYJCLLIB** will resemble the **Record and Replay JCL** examples shown in the documentation. - -Set the value of the **MYJCLLIB** variable to a dataset name that contains JCL-snippets for Test4Z recording. **MYJCLLIB** can be an output library for an Endevor type, or a dataset where testers can edit directly. Configuring the dataset to be an Endevor output is a better choice, but not required. Items diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/T4ZRCORD.skl b/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/T4ZRCORD.skl deleted file mode 100644 index 4afc6e2..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/T4ZRCORD.skl +++ /dev/null @@ -1,103 +0,0 @@ -)SEL &C1BJC1 NE &Z -&C1BJC1 -)ENDSEL -)SEL &C1BJC2 NE &Z -&C1BJC2 -)ENDSEL -)SEL &C1BJC3 NE &Z -&C1BJC3 -)ENDSEL -)SEL &C1BJC4 NE &Z -&C1BJC4 -)ENDSEL -//*==================================================================* -//*= A TEST4Z RECORD JOB ============================================* -//*==================================================================* -// JCLLIB ORDER=(&MYJCLLiB) -//*==================================================================* -//*--------------------------------------------------------- TST4ZJOB --* -//* Test4Z Record jcl for : -//* Env &EEVETKEN -//* Sys &EEVETKSY -//* Sub &EEVETKSB -//* Typ &EEVETKTY -//* Stg &EEVETKSI -//* ELE &EEVETKEL -//*--------------------------------------------------------------------* -//* STEP 1 -- Execute TEST4Z program -//*--------------------------------------------------------------------* -//**JCL from &EEVETKEL \\\\\\ --- Include the JCL step for this pgm ---* -// INCLUDE MEMBER=&EEVETKEL -//**JCL from &EEVETKEL ////// --- Include the JCL step for this pgm ---* -//STEPLIB DD DISP=SHR,DSN=Your.TEST4Z.CT4ZLOAD -// DD DISP=SHR,DSN=&LOADLIB -//* DD DISP=SHR,DSN=YOUR.V190.STG1.LOADLIB -// DD DISP=SHR,DSN=YOUR.V190.STG1.T4ZLOAD -//* Outputs \ -//ZLDATA DD DSN=&T4ZLDATA, -// DISP=(MOD,CATLG,KEEP), -// SPACE=(CYL,(1,15)),UNIT=3390,DSNTYPE=LIBRARY, -// DCB=(RECFM=VB,LRECL=32000,BLKSIZE=32004,DSORG=PO) -//ZLCOVER DD DSN=&COVERLIB(&EEVETKEL), -// DISP=(MOD,CATLG,KEEP), -// SPACE=(CYL,(1,15)),UNIT=3390,DSNTYPE=LIBRARY, -// DCB=(RECFM=VB,LRECL=132,BLKSIZE=27998,DSORG=PO) -//SYSPRINT DD SYSOUT=* -//* Inputs \ -//CEEOPTS DD * -TRAP(ON,NOSPIE) -//*--------------------------------------------------------------------* -//*--------------------------------------------------------------------* -//* ADD T4Z outputs into Endevor if appropriate for your site * -//*--------------------------------------------------------------------* -//$$$$$$@ EXEC PGM=NDVRC1, ** Add the Json into Endv* T4ZRCORD -// COND=(4,LT), -// DYNAMNBR=1500, -// REGION=4096K, -// PARM='C1BM3000' -)IM SCMM@LIB -)SEL &VARSILEV = Y -//*-------------------------------------------------------------------* -//* PANVALET AND LIBRARIAN SUPPORT. * -//*-------------------------------------------------------------------* -//C1TPDD01 DD UNIT=&T@DISK, -// SPACE=(CYL,(1,1)), -// DCB=(RECFM=VB,LRECL=260) -//C1TPDD02 DD UNIT=&T@DISK, -// SPACE=(CYL,(1,1)), -// DCB=(RECFM=VB,LRECL=260) -//C1TPLSIN DD UNIT=&T@DISK, -// SPACE=(CYL,(1,1)), -// DCB=(RECFM=FB,LRECL=80) -//C1TPLSOU DD UNIT=&T@DISK, -// SPACE=(CYL,(1,1)) -//C1PLMSGS DD SYSOUT=* -)ENDSEL -//*-------------------------------------------------------------------* -//* OUTPUT DATA SETS * -//*-------------------------------------------------------------------* -//C1MSGS1 DD SYSOUT=* -//C1MSGS2 DD SYSOUT=* -//SYSUDUMP DD SYSOUT=* -//SYMDUMP DD DUMMY -//SYSOUT DD SYSOUT=* -//SYSPRINT DD SYSOUT=* -)SEL &VCAPYN = Y -//********************************************************************* -//* CONCURRENT ACTION PROCESSING REQUESTED * -//********************************************************************* -//EN$CAP&VCAPRN DD SYSOUT=* -)ENDSEL -//*-------------------------------------------------------------------* -//* CONTROL STATEMENTS * -//*-------------------------------------------------------------------* -//BSTIPT01 DD * - ADD ELEMENT '&EEVETKEL' - TO ENVIRONMENT '&EEVETKEN' - SYSTEM '&EEVETKSY' SUBSYSTEM '&EEVETKSB' TYPE 'T4ZLDATA' - FROM DSN '&T4ZLDATA' - OPTIONS CCID '&EEVETCCG' - COMMENT '&EEVLCOM' - UPDATE OVERRIDE SIGNOUT - . -//*-------------------------------------------------------------------* diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/T4ZREPLA.skl b/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/T4ZREPLA.skl deleted file mode 100644 index 0b625b1..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/T4ZREPLA.skl +++ /dev/null @@ -1,140 +0,0 @@ -)SEL &C1BJC1 NE &Z -&C1BJC1 -)ENDSEL -)SEL &C1BJC2 NE &Z -&C1BJC2 -)ENDSEL -)SEL &C1BJC3 NE &Z -&C1BJC3 -)ENDSEL -)SEL &C1BJC4 NE &Z -&C1BJC4 -)ENDSEL -//*==================================================================* -//*= A TEST4Z Replay JOB ============================================* -//*==================================================================* -)IM SCMM@SYM -//*--------------------------------------------------------- TST4ZJOB --* -//* Test4Z Replay jcl for : -//* Env &EEVETKEN -//* Sys &EEVETKSY -//* Sub &EEVETKSB -//* Typ &EEVETKTY -//* Stg &EEVETKSI -//* ELE &EEVETKEL -//* (Sysouts) SUCCESS / WARNING / FAILURE -//*--------------------------------------------------------------------* -//* STEP 1 -- Retrieve T4ZLDATA -//*--------------------------------------------------------------------* -//* Retrieve T4ZLDAta into a work TL4Zdata file * -//*--------------------------------------------------------------------* -//$$$$$$@ EXEC PGM=NDVRC1, ** Add the Json into Endv* T4ZREPLA -// COND=(4,LT), -// DYNAMNBR=1500, -// REGION=4096K, -// PARM='C1BM3000' -)IM SCMM@LIB -)SEL &VARSILEV = Y -//*-------------------------------------------------------------------* -//* PANVALET AND LIBRARIAN SUPPORT. * -//*-------------------------------------------------------------------* -//C1TPDD01 DD UNIT=&T@DISK, -// SPACE=(CYL,(1,1)), -// DCB=(RECFM=VB,LRECL=260) -//C1TPDD02 DD UNIT=&T@DISK, -// SPACE=(CYL,(1,1)), -// DCB=(RECFM=VB,LRECL=260) -//C1TPLSIN DD UNIT=&T@DISK, -// SPACE=(CYL,(1,1)), -// DCB=(RECFM=FB,LRECL=80) -//C1TPLSOU DD UNIT=&T@DISK, -// SPACE=(CYL,(1,1)) -//C1PLMSGS DD SYSOUT=* -)ENDSEL -//*-------------------------------------------------------------------* -//* OUTPUT DATA SETS * -//*-------------------------------------------------------------------* -//C1MSGS1 DD SYSOUT=* -//C1MSGS2 DD SYSOUT=* -//SYSUDUMP DD SYSOUT=* -//SYMDUMP DD DUMMY -//SYSOUT DD SYSOUT=* -//SYSPRINT DD SYSOUT=* -)SEL &VCAPYN = Y -//********************************************************************* -//* CONCURRENT ACTION PROCESSING REQUESTED * -//********************************************************************* -//EN$CAP&VCAPRN DD SYSOUT=* -)ENDSEL -//*-------------------------------------------------------------------* -//* CONTROL STATEMENTS * -//*-------------------------------------------------------------------* -//BSTIPT01 DD * - RETRIEVE ELEMENT &EEVETKEL - FROM ENVIRONMENT &EEVETKEN SYSTEM &EEVETKSY SUBSYSTEM &EEVETKSB - TYPE T4ZLDATA STAGE &EEVETKSI - TO DDNAME 'T4ZLDATA' - OPTIONS SEARCH NO SIGNOUT REPLACE. -//T4ZLDATA DD DSN=&T4ZLDATA, -// DISP=(MOD,CATLG,KEEP), -// SPACE=(CYL,(1,15)),UNIT=3390,DSNTYPE=LIBRARY, -// DCB=(RECFM=VB,LRECL=32000,BLKSIZE=32004,DSORG=PO) -//*--------------------------------------------------------------------* -//* STEP 2 -- Execute TEST4Z program -//*--------------------------------------------------------------------* -//T4ZRPLAY EXEC PGM=ZTESTEXE ** Run the T4Z Replay** T4ZREPLA -//STEPLIB DD DISP=SHR,DSN=Your.TEST4Z.CT4ZLOAD -// DD DISP=SHR,DSN=&LOADLIB -//* DD DISP=SHR,DSN=YOUR.V190.STG1.LOADLIB -// DD DISP=SHR,DSN=YOUR.V190.STG1.T4ZLOAD -//* Inputs \ -//ZLOPTS DD * -RUN(&EEVETKEL),REPLAY -COVERAGE,DEEP -//CEEOPTS DD * -TRAP(ON,NOSPIE) -//ZLDATA DD DSN=&T4ZLDATA, -// DISP=SHR -//ZLCOVER DD SYSOUT=* -//SYSPRINT DD SYSOUT=* -//SYSOUT DD SYSOUT=* -//SYSOUT1 DD SYSOUT=* -//ZLMSG DD DSN=&&&&T4ZLMSG, -// DISP=(NEW,PASS), -// SPACE=(CYL,(1,15)),UNIT=3390, -// DCB=(RECFM=FB,LRECL=120,BLKSIZE=24000,DSORG=PS) -//********************************************************************** -//* Indicate a PASS or FAIL condition onto the Element -//********************************************************************** -//PASSFAIL EXEC PGM=IRXJCL, **Determine Pass/Fail** T4ZREPLA -// PARM=' ' (null char) -//ZLMSGIN DD DSN=&&&&T4ZLMSG,DISP=(OLD,DELETE) -//ZLMSG DD SYSOUT=* -//SYSEXEC DD * - $my_rc =3 - "EXECIO * DISKR ZLMSGIN (Stem zmsg. Finis" - "EXECIO * DISKW ZLMSG (Stem zmsg. Finis" - Do j# = 1 to zmsg.0 - msgtext = zmsg.j# - If Pos('Testing passed on',msgtext) /= 0 then, - Do; Queue msgtext; $my_rc =1; Leave; End - End; /* Do j# = 1 to zmsg.0 */ - - if $my_rc =1 then, - Queue "Replay Test was successful" - if $my_rc =3 then, - Queue "Test Failed" - If Allow_test_fails = 'Y' then, - Do; Queue "The Allow_test_fails = 'Y' is set"; $my_rc =2 ; End - - MessageDD = Word("SUCCESS WARNING FAILURE",$my_rc) - Call BPXWDYN "ALLOC DD("MessageDD") SYSOUT(A) " - "EXECIO " QUEUED() "DISKW" MessageDD "( Finis" - CALL BPXWDYN "Free DD("MessageDD")" - if $my_rc =3 then $my_rc =8 - - exit($my_rc) -//SYSTSIN DD DUMMY -//SYSTSPRT DD SYSOUT=* -//*--------------------------------------------------------------------* -//********************************************************************** diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/T4ZUTEST.skl b/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/T4ZUTEST.skl deleted file mode 100644 index fda2c59..0000000 Binary files a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/T4ZUTEST.skl and /dev/null differ diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/ZTP1HELO-Test4Z-Record-Example.jcl b/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/ZTP1HELO-Test4Z-Record-Example.jcl deleted file mode 100644 index 1d91b36..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/ZTP1HELO-Test4Z-Record-Example.jcl +++ /dev/null @@ -1,18 +0,0 @@ -//*--------------------------------------------------------------------* -//* ** 'Your.TEST4Z.RECORD.MYJCLLIB(ZTP1HELO) ** -//*--------------------------------------------------------------------* -//* STEP 1 -- Execute TEST4Z program Record action -//*--------------------------------------------------------------------* -//T4ZRECRD EXEC PGM=ZTESTEXE ** Run the T4Z Record** ZTP1HELO -//ZLOPTS DD * -RUN(ZTP1HELO),COVERAGE -//INPUTS DD * ** Unique Input for ZTP1HELO ** -Chandru -Olga -Joseph -PavanKumar -Purusottam -Richard -Selvam -//MESSAGES DD SYSOUT=* ** Unique Output messages for for ZTP1HELO ** -//*---------------------------------------------------------- diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/ZTP1HELO.jcl b/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/ZTP1HELO.jcl deleted file mode 100644 index 795c6a3..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/ZTP1HELO.jcl +++ /dev/null @@ -1,11 +0,0 @@ -//* ** YOURSITE.NDVR.TEAM.JCL.TEST4Z(ZTP1HELO) -//INPUTS DD * ** Unique Input for ZTP1HELO ** -Chandru -Olga -Joseph -PavanKumar -Purusottam -Richard -Selvam -//MESSAGES DD SYSOUT=* ** Unique Output messages for for ZTP1HELO ** -//*---------------------------------------------------------- diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/ZTPQHELO-Test4Z-Record-Example.jcl b/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/ZTPQHELO-Test4Z-Record-Example.jcl deleted file mode 100644 index a0d10dd..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/ZTPQHELO-Test4Z-Record-Example.jcl +++ /dev/null @@ -1,18 +0,0 @@ -//*--------------------------------------------------------------------* -//* ** 'Your.TEST4Z.RECORD.MYJCLLIB(ZTPQHELO) ** -//*--------------------------------------------------------------------* -//* STEP 1 -- Execute TEST4Z program Record action -//*--------------------------------------------------------------------* -//T4ZRECRD EXEC PGM=ZTESTEXE ** Run the T4Z Record** ZTPQHELO -//ZLOPTS DD * -RUN(ZTPQHELO),COVERAGE -//SYSIN1 DD * -Vamsy -Ashwin -David -PavanKumar -Purusottam -Richard -Selvam -//SYSOUT1 DD SYSOUT=* -//*---------------------------------------------------------- diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/ZTPQHELO.jcl b/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/ZTPQHELO.jcl deleted file mode 100644 index 2bc8cab..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/Quick-Edit-User-Extension-Points/ZTPQHELO.jcl +++ /dev/null @@ -1,11 +0,0 @@ -//* ** YOURSITE.NDVR.TEAM.JCL.TEST4Z(ZTPQHELO) -//SYSIN1 DD * -Vamsy -Ashwin -David -PavanKumar -Purusottam -Richard -Selvam -//SYSOUT1 DD SYSOUT=* -//*---------------------------------------------------------- diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/README.MD b/endevor/Automated-Test-Facility-Using-Test4Z/README.MD deleted file mode 100644 index 45f07b7..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/README.MD +++ /dev/null @@ -1,77 +0,0 @@ -# Automated Testing in Endevor with Test4Z - -These samples are provided as is and are not officially supported (see [license](https://github.com/BroadcomMFD/broadcom-product-scripts/blob/main/LICENSE -) for more information). - -## Introduction - -Items in this folder can be used to introduce and automate testing in Endevor, running the kinds of test supported by Test4Z. There are many items in this folder largely to support the many choices available to you and your configuration for testing. Your Endevor processor can submit JCL and wait for your batch test to complete. - -Processor code that is provided can be copied into yuor processors, or used as "Includes" - like copybooks. Files with the .prc extension use an OPTIONS approach for determining which tests to run. Files with the .inc extension use a Table approach. **UTABLE.tbl** is an example Table. It is expected that you will use one method or the other. - - -See the two modes of testing described in [Testing Modes](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/test4z/1-0/administrating/define-options-for-unit-and-record-and-replay.html) and [Test4Z techdocs documentation](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/test4z/1-0.html) : - -1. [Record and Replay](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/test4z/1-0/administrating/record-replay-and-verification-processing.html). The .jcl items in the **Quick-Edit-User-Extension-Points** subfolder correspond to the **Record and Replay** examples. -2. [Unit Test Processing](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/test4z/1-0/administrating/unit-test-processing.html). Build **test suites** for your application programs. Then you may have Endevor execute them using either or both of the methods described below. - - - -This folder provides for two Endevor methods for executing the Test4Z modes: - -1. [Quick-Edit User Extension points](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/ca-endevor-software-change-manager/19-0/using/quick-edit-option/quick-edit-user-extension-points.html). -See the content of the **Quick-Edit-User-Extension-Points** folder for details. - -2. [Endevor processors](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/ca-endevor-software-change-manager/19-0/administrating/processors.html). Items that can automate the running of tests run from your Endevor processor(s). Test4Z objects can be automatically engaged by your Endevor Generate and Move processors. Tests may pass or fail, and the condition is made to reflect onto the element status in Endevor. Items using the .prc extension are processor Incluides. You can include them within your existing processors. If your configuration does not support the use of processor includes, then copy the content of the .prc items into your processors. If you are interested in seeing more about the use of processor Includes, see [Panvalet-Like Includes](https://community.broadcom.com/viewdocument/panvalet-like-includes?CommunityKey=592eb6c9-73f7-460f-9aa9-e5194cdafcd2&tab=librarydocuments) . - -You may double-click on the batch file named Test4Z.bat, to create a ".moveout" file. Then upload the ".moveout" file to place all items from this folder onto your mainframe. - -## Test4Z Modes - - -The Test4Z Testing Modes are described [here](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/test4z/1-0/administrating/define-options-for-unit-and-record-and-replay.html). - - -- **RECORD**. The Test4Z Record action is a prerequisite for the REPLAY. This solution requires that the **RECORD** action be run using the Quick-Edit User Extensions. It is anticipated that you may want to develop the inputs and outputs for the Recording session, and run the process perhaps multiple times without requiring a program compile. The output from the **RECORD** action is captured to be used with a **REPLAY**. - - -- **REPLAY**. Preceede a **REPLAY** with a **RECORD** action. You may execute a **REPLAY** using the Quick-Edit User Extensions and/or by automating its execution by a processor. See [Record, Replay, and Verification processing](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/test4z/1-0/administrating/record-replay-and-verification-processing.html) . - - -- **Unit Test** processing may be executed using the Quick-Edit User Extensions and/or by automating its execution by a processor. [Unit Test Processing](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/test4z/1-0/administrating/unit-test-processing.html) - -## SUCCESS / WARNING / FAILURE - -An assessment of the completed Test is made automatically to make it easier for you to know the results. One of the outputs will be given, as shown in this example job output: - - ------------------------------------------------------------------------------- - Cmd DDname Stepname Procstep Status Cpys TotLines OutClass Prty - ________ JESMSGLG JES2 HELD 1 30 X 144 - ________ JESJCL JES2 HELD 1 32 X 144 - ________ JESYSMSG JES2 HELD 1 615 X 144 - ________ C1MSGS1 $$$$$$@ HELD 1 1132 X 144 - ________ C1MSGS2 $$$$$$@ HELD 1 8 X 144 - ________ SYSUT2 $$$$$$@ HELD 1 2 X 144 - ________ MSGOUT1 $$$$$$@ HELD 1 36 X 144 - ________ MSGOUT2 $$$$$$@ HELD 1 8 X 144 - ________ SYSTSPRT $$$$$$@ HELD 1 1 X 144 - ________ SYSTSPRT $$$$$$@ HELD 1 4 X 144 - ________ ZLMSG $$$$$$@ HELD 1 652 X 144 - ________ SUCCESS $$$$$$@ QUEUED 1 2 A 144 - - -## Endevor Types - -There are four potential Endevor Types that might be useful for this solution. If you use Endevor Processors to automate testing, then only the OPTIONS element type is required. You may use any Types name you prefer, rather than the ones refereced within items in this folder. - -- **OPTIONS**. The use of an **OPTIONS** element type originally comes from the inputs to the CONPARMX processor utility described [Here](https://techdocs.broadcom.com/us/en/ca-mainframe-software/devops/ca-endevor-software-change-manager/19-0/administrating/processors/processor-utilities/conparmx-utility.html). It is not necessary that CONPARMX be already executed within your processors, but the type is required by this solution if processors are to execute automated tests. - - -- **T4ZLDATA**. When a **RECORD** action is run, the captured data is ADDed into Endevor as type **T4ZLDATA**. The Endevor Type definition allows you to compress the data, and better manage its size. You may elect to bypass defining a Type, by placing the recoreded data into an output file only. Then, modify the Record and Replay steps to simply access the file. - - -- **COBOLTST**. If you plan to use **UNIT TEST SUITE MODULEs**, then you may manage them as COBOLTST elements, or another Type name of your choice. Alternatively, you may develop them outside of Endevor, and allows the processing in this solution simply reference the load library name where your **UNIT TEST SUITE MODULEs** are found. - -- **USERJCL**. This solution assumes that the JCL Snippets are manually placed into this file, whose name you enter onto the Quick-Edit User Extensins panels. You may elect to make the file become an output file for a new Endevor Type, - - diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/SUBMITST.rex b/endevor/Automated-Test-Facility-Using-Test4Z/SUBMITST.rex deleted file mode 100644 index b3afb3a..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/SUBMITST.rex +++ /dev/null @@ -1,155 +0,0 @@ -/* REXX */ - /*----------------------------------------------------------*/ - /* This Rexx is given a JCL dataset and member name in its */ - /* parameter. */ - /* The REXX: */ - /* o submits the JCL */ - /* o watches and waits for it to complete its execution*/ - /* o returns to caller */ - /* */ - /*----------------------------------------------------------*/ - CALL BPXWDYN 'INFO DD(SUBMITST)' - If RESULT = 0 Then Trace ?R - Arg SubmitJCL WaitLoops LoopSeconds; - - /* Set the value for Phase that indicates job is done */ - FinalExpectedPhase = "AWAITING OUTPUT" - - /*----------------------------------------------------------*/ - /* Get my jobname.... Cannot wait for myself */ - /* Ensure the job we submit does not have the same jobname */ - /* as my own. */ - /*----------------------------------------------------------*/ - myJobName = MVSVAR('SYMDEF',JOBNAME ) /*Returns JOBNAME */ - - /* Submit the JCL named in the parameter */ - Call Submit_n_save_jobInfo; - If SelectJobName = myJobName then, - Do - Say 'The job to be monitored is mine. Invalid request' - Exit(8) - End; - - /* Wait for the submitted job to finish */ - jobnum = SelectJobNumber - jobid = SelectJobName - ownerid = USERID() - retcode. = ' ' - daten. = ' ' - Timen.= ' ' - PhaseName. = ' ' - Call Monitor_Job_Status; - - exit - -Submit_n_save_jobInfo: /* submit SubmitJCL job and save job info */ - - Address TSO "PROFILE NOINTERCOM" /* turn off msg notific */ - CALL MSG "ON" - CALL OUTTRAP "out." - ADDRESS TSO "SUBMIT '"SubmitJCL"'" ; - CALL OUTTRAP "OFF" - JobData = Strip(out.1); - jobinfo = Word(JobData,2) ; - If jobinfo = 'JOB' then, - jobinfo = Word(JobData,3) ; - SelectJobName = Word(Translate(jobinfo,' ',')('),1) ; - SelectJobNumber = Word(Translate(jobinfo,' ',')('),2) ; - - Return; - -Monitor_Job_Status: - - IsfRC = isfcalls( "ON" ) - if IsfRC <> 0 then Exit(8) - - myMessage = ' '; - isfprefix = SelectJobname - isfowner = USERID() - isfcols = "jname jobid ownerid queue jclass prtdest retcode", - " daten TIMEN PHASENAME " - - seconds = LoopSeconds /* Number of Seconds to wait if needed */ - - /*********************************************/ - /* Wait until the submitted job is completed */ - /*********************************************/ - Do loop# = 1 to WaitLoops - /* call exec_sdsf "0 ISFEXEC ST" opts_sdsf */ - Address SDSF "isfexec ST (VERBOSE ALTERNATE DELAYED)" - - if RC <> 0 then, - Do - say "RC" RC "returned from ISFEXEC ST" ; - Exit(12); - end; - - Sa= 'isfcols=' isfcols - StRows = isfrows - If StRows = 0 then, - Do - say "No rows returned from ISFEXEC" - Call WaitAwhile - Iterate ; - end; - - SubmittedJobPhase = 'Submitted' - Call EvaluateSubmittedJob - If SubmittedJobPhase = FinalExpectedPhase then Leave; - - Call WaitAwhile - - End; /* Do loop# = 1 to WaitLoops */ - - If SubmittedJobPhase /= FinalExpectedPhase then, - Do - Say 'Job' SelectJobname SelectJobNumber, - ' not completed within Wait arguments', - WaitLoops LoopSeconds - exit(8) - End - - Say 'Job' SelectJobname SelectJobNumber 'is completed', - ' at ' DATE(S) TIME() - - Return; - -EvaluateSubmittedJob: - - Do row# = 1 to StRows - Sa= 'Finding' jname.row# jobid.row# ownerid.row#, - jclass.row# PhaseName.row# Timen.row# - if jobid.row# /= SelectJobNumber then iterate; - - SubmittedJobPhase = PhaseName.row# - Sa= 'Status:' SelectJobname SelectJobNumber , - 'retcode.row#=' retcode.row# SubmittedJobPhase , - ' on ' row# 'wait loop' - Leave; - End; /*Do row# = 1 to StRows */ - - Return; - -WaitAwhile: - /* */ - /* A resource is unavailable. Wait awhile and try */ - /* accessing the resource again. */ - /* */ - /* The length of the wait is designated in the parameter */ - /* value which specifies a number of seconds. */ - /* A parameter value of '000003' causes a wait for 3 seconds. */ - /* */ - /*seconds = Abs(seconds) */ - /*seconds = Trunc(seconds,0) */ - Say "Waiting for" seconds "seconds at " DATE(S) TIME() - /* AOPBATCH and BPXWDYN are IBM programs */ - CALL BPXWDYN "ALLOC DD(STDOUT) DUMMY SHR REUSE" - CALL BPXWDYN "ALLOC DD(STDERR) DUMMY SHR REUSE" - CALL BPXWDYN "ALLOC DD(STDIN) DUMMY SHR REUSE" - - /* AOPBATCH and BPXWDYN are IBM programs */ - parm = "sleep "seconds - Address LINKMVS "AOPBATCH parm" - - Return - diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/T4ZCONFG.inc b/endevor/Automated-Test-Facility-Using-Test4Z/T4ZCONFG.inc deleted file mode 100644 index 3ef88b2..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/T4ZCONFG.inc +++ /dev/null @@ -1,12 +0,0 @@ -// OPTIONS='&PROJECT..&C1ST..OPTIONS', *T4Z YAML FILE* -// TABLE='&PROJECT..&C1STAGE..TABLE', *T4Z TABLE* -// T4ZRUNL='your_Test4z_Runtime_Loadlib', *RUNTIME LOAD* -// T4ZLOAD='&PROJECT..&C1ST..T4ZLOAD', *UNIT TEST LOAD* -// T4ZLDATA='&PROJECT..&C1ST..T4ZLDATA', *RECORDING DATA* -// T4ZRJSON='&PROJECT..&C1ST..JSONR', *TEST RESULTS* -// T4ZCJSON='&PROJECT..&C1ST..JSONC', *COVERAGE* -// USERCLS0='&PROJECT..USERCLS0', *USER REXX* -// DB2LLIB='your_DB2_sdsnload_lib', *DB2 LOADLIB* -// CICSLIB='your_CICS_lib', *CICS HLQ* -//* DB2S='DSN1', *DB2 SYSTEM* -//* PLANNME='DB2PLAN', *DB2 PLAN NAME* diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/T4ZJNKNO.prc b/endevor/Automated-Test-Facility-Using-Test4Z/T4ZJNKNO.prc deleted file mode 100644 index c752fff..0000000 Binary files a/endevor/Automated-Test-Facility-Using-Test4Z/T4ZJNKNO.prc and /dev/null differ diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/T4ZOPTNS.prc b/endevor/Automated-Test-Facility-Using-Test4Z/T4ZOPTNS.prc deleted file mode 100644 index 07a3cd2..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/T4ZOPTNS.prc +++ /dev/null @@ -1,84 +0,0 @@ -//*--------------------------------------------------------------------* -//*********INCLUDES(T4ZOPTNS)**************************************** -//*--------------------------------------------------------------------* -//* TEST FOR MEMBER NAME MATCHING ELEMENT NAME IN THE OPTION LIBS * -//* RC=4 IF MEMBER NOT FOUND * -//*--------------------------------------------------------------------* -//GETOPTNS EXEC PGM=IEBUPDTE,MAXRC=4, -// COND=(4,LT) -//SYSPRINT DD DUMMY -//SYSIN DD * -./ REPRO NEW=PS,NAME=&C1ELEMENT -// IF (&C1ACTION = 'GENERATE') THEN -//SYSUT1 DD DSN=&OPTIONS, -// DISP=SHR,ALLOC=LMAP,MONITOR=COMPONENTS -// ELSE -//SYSUT1 DD DSN=&OPTIONS, -// DISP=SHR,ALLOC=LMAP -// ENDIF -//SYSUT2 DD DISP=(NEW,PASS),DSN=&&EOPTIONS, -// SPACE=(TRK,(10,10)), -// DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920) -//* -//*--------------------------------------------------------------------* -//* T4ZOPTNS PARM CREATION FROM OPTIONS ELEMENT -//*--------------------------------------------------------------------* -//T4ZOPTNS EXEC PGM=IKJEFT1B, **Examine T4Z Options** T4ZOPTNS -// PARM='ENBPIU00 1', -// COND=(4,LT) -// IF (GETOPTNS.RC > 0) THEN -//OPTIONS DD * - EXIT(0) -// ELSE -//OPTIONS DD * - $nomessages = 'Y' - If $row# < 1 then $SkipRow = 'Y' - &C1STAGE._Tst_Suite = '' - &C1STAGE._Allow_test_fails = 'N' - X = IncludeQuotedOptions(TEST4OPT) - Tst_Suite = &C1STAGE._Tst_Suite - Allow_test_fails = &C1STAGE._Allow_test_fails - If Tst_Suite = '' then Exit(0) - x= BuildFromMODEL(MODEL) - If Tst_Suite = '*REPLAY*' then Exit(1) -* Unit Testing ..... - MODEL = "MODEL2" - TBLOUT = "TBLOUT2" - $my_rc = 2 -* normal processing from here expands MODEL2 into TBLOUT2 -// ENDIF -//TEST4OPT DD DSN=&&EOPTIONS,DISP=(OLD,DELETE) -//TABLE DD * <- Table Tool requires a TABLE. Little value here -* Tst_Suite - * -//MODEL DD * *Reporting output - Tst_Suite = '&Tst_Suite' - Allow_test_fails = '&Allow_test_fails' -//MODEL2 DD * *UnitTest output -ZESTPARM(D=&T4ZLOAD.,M=&Tst_Suite) -COVERAGE,DEEP -//SYSTSIN DD DUMMY -//SYSTSPRT DD SYSOUT=* -//SYSEXEC DD DISP=SHR,DSN=&CSIQCLS0 -// DD DISP=SHR,DSN=&USERCLS0 -//TBLOUT2 DD DSN=&&ZLOPTION,DISP=(,PASS,DELETE), -// UNIT=SYSDA,SPACE=(TRK,(1,1)), -// DCB=(RECFM=FB,LRECL=80,BLKSIZE=3120) -//TBLOUT DD DSN=&&TOPTIONS,DISP=(,PASS,DELETE), -// UNIT=SYSDA,SPACE=(TRK,(1,1)), -// DCB=(RECFM=FB,LRECL=80,BLKSIZE=3120) -//********************************************************************** -//* Show the intermediate results -//********************************************************************** -//SHOWOPTS EXEC PGM=IEBGENER, **Show Results** T4ZOPTNS -// COND=(4,LT) -//SYSPRINT DD DUMMY -//SYSUT1 DD DISP=SHR,DSN=&&TOPTIONS -// IF (T4ZOPTNS.RC = 2) THEN -// DD DISP=SHR,DSN=&&ZLOPTION -// ENDIF -//SYSUT2 DD SYSOUT=* -//SYSIN DD DUMMY -//*--------------------------------------------------------------------* -//*********INCLUDES(T4ZOPTNS)**************************************** -//*--------------------------------------------------------------------* diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/T4ZRECRD.inc b/endevor/Automated-Test-Facility-Using-Test4Z/T4ZRECRD.inc deleted file mode 100644 index 9778659..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/T4ZRECRD.inc +++ /dev/null @@ -1,137 +0,0 @@ -//*--------------------------------------------------------------------* -//* T4ZOPTNR - CREATE A PARM OPTION MODEL FROM TABLE -//* PARM='ENBPIU00 M ....' -//* Option M - Process only selected rows based on search value given -//*--------------------------------------------------------------------* -//T4ZOPTNR EXEC PGM=IKJEFT1B, **Examine T4Z Options** -// PARM='ENBPIU00 M &C1ELEMENT', -// COND=(4,LT) -//SYSEXEC DD DISP=SHR,DSN=&CSIQCLS0 -// DD DISP=SHR,DSN=&USERCLS0 -//MYYAML DD DISP=SHR,DSN=&OPTIONS(&C1ELEMENT) -//OPTIONS DD * - $nomessages = 'Y' - $NumberModelsAndTblouts= 1 - Addnl_parm = ' ' - x=BuildFromMODEL('MODEL') - call bpxwdyn "info fi(MYYAML) inrtdsn(dsnvar)" - dsnmem = dsnvar||'('&C1ELEMENT')'; - x = SYSDSN("'"dsnmem"'"); - if x = 'OK' then, Addnl_parm = 'Y' -//TABLE DD DSN=&TABLE(RTABLE), -// DISP=SHR -//MODEL DD * *Reporting output - Element = '&Element' - Recording = '&Recording' -//SYSTSIN DD DUMMY -//SYSTSPRT DD SYSOUT=* -//TBLOUT DD DSN=&&ROPTIONS,DISP=(,PASS,DELETE) -//*--------------------------------------------------------------------* -//* RECORDING JCL -//*--------------------------------------------------------------------* -//T4ZRECRD EXEC PGM=IKJEFT1B, **Create RECORDING JCL -// PARM='ENBPIU00 1', -// COND=(4,LT) -//TABLE DD * -* Any - * -//SYSEXEC DD DISP=SHR,DSN=&USERCLS0 -// DD DISP=SHR,DSN=&CSIQCLS0 -//YAML2REX DD DUMMY <- Turn on/off REXX trace -//MYYAML DD DISP=SHR,DSN=&OPTIONS(&C1ELEMENT) -//*YYAML DD DISP=(OLD,DELETE),DSN=&&OPTIONS -//OPTIONS DD * Bump jobcard and fetch Accounting code -* Identify Whether Recording needs to be executed - X = IncludeQuotedOptions(TEST4OPT) - if Recording \= 'Y' then, exit(3) - WhoAmI = USERID() -* Accounting value fetch may not be necessary at your site - myJobAccountingCode = GETACCTC(whoAmI) - myJobName = MVSVAR('SYMDEF',JOBNAME ) - BumpedJobname = BUMPJOB(myJobName) -* Include the additional parms or lines in Recording JCL - if Addnl_parm = ' ' then do; + - x=BuildFromMODEL('MODEL'); + - IncludeJcl='//*'; + - x=BuildFromMODEL('MODEL1'); + - x=BuildFromMODEL('MODEL2'); + - $SkipRow='Y'; + - END; - Call YAML2REX 'MYYAML' - HowManyYamls = QUEUED() - Do yaml# =1 to HowManyYamls; + - Parse pull yaml2rexx; + - interpret yaml2rexx; + - End; - x=BuildFromMODEL('MODEL') - Do yaml# =1 to TEST4Z.JCLS.0 ; + - Includejcl=substr(TEST4Z.JCLS.yaml#,3); + - if Includejcl = ' ' then, Includejcl = '//*'; + - x=BuildFromMODEL('MODEL1'); + - END; - x=BuildFromMODEL('MODEL2') - Do yaml# =1 to TEST4Z.PARMS.0; + - Includejcl=substr(TEST4Z.PARMS.yaml#,3); + - x=BuildFromMODEL('MODEL1'); + - END; - $SkipRow='Y' -//TEST4OPT DD DSN=&&ROPTIONS,DISP=(OLD,PASS) -//MODEL DD DATA,DLM=QQ -//&BumpedJobname JOB (&myJobAccountingCode),'&whoAmI T4Z', -// CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID -//RUNTEST EXEC PGM=ZTESTEXE -//STEPLIB DD DISP=SHR,DSN=your_Test4z_Runtime_Loadlib -// DD DISP=SHR,DSN=&LOADLIB -//ZLDATA DD DSN=&PROJECT..&C1STAGE..T4ZLDATA(RECORDNG), -// DISP=OLD -//SYSPRINT DD SYSOUT=* -QQ -//MODEL1 DD DATA,DLM=Q1 -&Includejcl -Q1 -//MODEL2 DD DATA,DLM=Q2 -//ZLOPTS DD * -RUN(&C1ELEMENT) -Q2 -//SYSIN DD DUMMY -//SYSTSIN DD DUMMY -//SYSTSPRT DD SYSOUT=* -//TBLOUT DD DSN=&PROJECT..&C1ELEMENT..RECRDNG, -// DISP=(,PASS,DELETE) -//********************************************************************** -//* SHOW THE RECORDING JCL -//********************************************************************** -//SHOWJCL EXEC PGM=IEBGENER, **Show Results** -// COND=(4,LT) -//* COND=((4,GT,T4ZRECRD)), -//* EXECIF=(&C1ACTION,EQ,GENERATE) -//SYSPRINT DD SYSOUT=* -//SYSUT1 DD DISP=(OLD,PASS),DSN=&PROJECT..&C1ELEMENT..RECRDNG -//SYSUT2 DD DSN=&&ZLJCR,DISP=(,PASS,DELETE) -//SYSUT2 DD SYSOUT=* -//SYSIN DD DUMMY -//*---------------------------------------------------------- -//SUBMITRB EXEC PGM=IKJEFT1B, **Submit RECORDING JCL -// COND=((3,EQ,T4ZRECRD),(4,LT)), -// PARM='SUBMITST &PROJECT..&C1ELEMENT..RECRDNG 10 01' -//SYSEXEC DD DISP=SHR,DSN=&USERCLS0 -//SYSTSPRT DD SYSOUT=* -//SYSTSIN DD DUMMY -//*---------------------------------------------------------- -//*STEP TO FOOTPRINT THE RECORDING DATASET -//*---------------------------------------------------------- -//RECCOPY EXEC PGM=IEBGENER,MAXRC=0, -// COND=((4,LT)) -//SYSPRINT DD SYSOUT=* -//SYSUT1 DD DSN=&PROJECT..&C1STAGE..T4ZLDATA(RECORDNG), -// DISP=SHR -//SYSUT2 DD DSN=&PROJECT..&C1STAGE..T4ZLDATA(&C1ELEMENT.),DISP=OLD, -// MONITOR=COMPONENTS,FOOTPRNT=CREATE -//SYSIN DD DUMMY -//* -//* -//RECDELET EXEC PGM=IKJEFT01 -//SYSTSPRT DD SYSOUT=* -//SYSTSIN DD * -DELETE '&PROJECT..&C1STAGE..T4ZLDATA(RECORDNG)' -/* diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/T4ZRPLA2.prc b/endevor/Automated-Test-Facility-Using-Test4Z/T4ZRPLA2.prc deleted file mode 100644 index 35b1829..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/T4ZRPLA2.prc +++ /dev/null @@ -1,156 +0,0 @@ -//*--------------------------------------------------------------------* -//*********INCLUDES(T4ZRPLA2)**************************************** -//*--------------------------------------------------------------------* -//* T4ZRPLA2 PARM CREATION FROM OPTIONS ELEMENT -//*--------------------------------------------------------------------* -//* FETCH REPLAY -//*--------------------------------------------------------------------* -//* STEP 1 -- Retrieve T4ZLDATA -//*--------------------------------------------------------------------* -//* Retrieve T4ZLDAta into a work TL4Zdata file * -//*--------------------------------------------------------------------* -//T4ZPLA#1 EXEC PGM=C1BM3000, **Retrve T4Z recording** T4ZRPLA2 -// PARM='SCLIN,MSGOUT1,,MSGOUT2', -// COND=((4,LT),(1,NE,T4ZOPTNS)),MAXRC=4 -//MSGOUT1 DD SYSOUT=* -//MSGOUT2 DD SYSOUT=* -//SYSABEND DD SYSOUT=* -//SCLIN DD * - RETRIEVE ELEMENT &C1ELEMENT - FROM ENVIRONMENT &C1EN SYSTEM &C1SY SUBSYSTEM &C1SU - TYPE T4ZLDATA STAGE &C1STGID - TO DSN '&T4ZLDATA' - OPTIONS SEARCH NO SIGNOUT REPLACE. -//T4ZLDATA DD DSN=&T4ZLDATA, -// DISP=(MOD,CATLG,KEEP), -// SPACE=(CYL,(1,15)),UNIT=3390,DSNTYPE=LIBRARY, -// DCB=(RECFM=VB,LRECL=32000,BLKSIZE=32004,DSORG=PO) -//ZLMSGSAV DD DSN=&T4ZHLQTM..&C1ELEMENT..ZLMSG, -// DISP=(NEW,CATLG,KEEP), -// SPACE=(CYL,(1,15)),UNIT=3390,DSNTYPE=LIBRARY, -// DCB=(RECFM=FB,LRECL=120,BLKSIZE=24000,DSORG=PS) -//*--------------------------------------------------------------------* -//* Relate the T4ZRPLA2 recording to this program. -//*--------------------------------------------------------------------* -//T4ZPLA#2 EXEC PGM=CONRELE, **Relate T4Z recording** T4ZRPLA2 -// COND=((4,LT),(1,NE,T4ZOPTNS),(4,LT,T4ZPLA#1)) -//NDVRIPT DD * -RELATE ELEMENT &C1ELEMENT - LOCATION - ENVIRONMENT = &C1EN - SYSTEM = &C1SY - SUBSYSTEM = &C1SU - TYPE = T4ZLDATA - STAGE = &C1STGID - INPUT VALIDATE. -//*--------------------------------------------------------------------* -//* Create a REPLAY JCL -//*--------------------------------------------------------------------* -//T4ZPLA#3 EXEC PGM=IRXJCL, **Create REPLAY JCL T4ZRPLA2 -// PARM='ENBPIU00 1', -// COND=((4,LT),(1,NE,T4ZOPTNS),(4,LT,T4ZPLA#1)) -//TABLE DD * -* Any - * -//SYSEXEC DD DISP=SHR,DSN=Your.NDVR.V1##.USERCLS0 -// DD DISP=SHR,DSN=Your.NDVR.V1##.CSIQCLS0 -//OPTIONS DD * Bump jobcard and fetch Accounting code - whoAmI = USERID() -* Accounting value fetch may not be necessary at your site - myJobAccountingCode = GETACCTC(whoAmI) - myJobName = MVSVAR('SYMDEF',JOBNAME ) - BumpedJobname = BUMPJOB(myJobName) -//MODEL DD DATA,DLM=QQ -//&BumpedJobname JOB (&myJobAccountingCode),'&whoAmI T4Z', JOB31783 -// CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID -//*---------------------------------------------------------- -// SET LOADLIB=&LOADLIB -// SET T4ZLDATA=&T4ZLDATA -//*---------------------------------------------------------- -//RUNTEST EXEC PGM=ZTESTEXE **runs as submitted job T4ZRPLA2 -//STEPLIB DD DISP=SHR,DSN=Your.TEST4Z.CT4ZLOAD -// DD DISP=SHR,DSN=&LOADLIB -//* DD DISP=SHR,DSN=YOUR.V190.STG1.LOADLIB -//* DD DISP=SHR,DSN=YOUR.V190.STG1.T4ZLOAD -//ZLDATA DD DSN=&T4ZLDATA, -// DISP=SHR -//ZLOPTS DD * -RUN(&C1ELEMENT),REPLAY -COVERAGE,DEEP -//* -//CEEOPTS DD * -TRAP(ON,NOSPIE) -//ZLCOVER DD SYSOUT=* -//SYSPRINT DD SYSOUT=* -//SYSOUT DD SYSOUT=* -//*** / ** captured+examined by processor -//ZLMSG DD DSN=&T4ZHLQTM..&C1ELEMENT..ZLMSG, -// DISP=SHR -//*---------------------------------------------------------- -QQ -//SYSIN DD DUMMY CONTROL STATEMENTS -//SYSTSPRT DD SYSOUT=* -//TBLOUT DD DSN=&T4ZHLQTM..&C1ELEMENT..REPLAY, -// DISP=(NEW,CATLG,KEEP), -// SPACE=(CYL,(1,01)),UNIT=3390,DSNTYPE=LIBRARY, -// DCB=(RECFM=FB,LRECL=080,BLKSIZE=24000,DSORG=PS) -//* -//*--------------------------------------------------------------------* -//* Submit and wait for Replay job, and get ZLMSGS. -//*--------------------------------------------------------------------* -//SUBMITRP EXEC PGM=IKJEFT1B, **Submit REPLAY JCL T4ZRPLA2 -// COND=((4,LT),(1,NE,T4ZOPTNS),(4,LT,T4ZPLA#1)), -// PARM='SUBMITST &T4ZHLQTM..&C1ELEMENT..REPLAY 10 01' -//* PARM='SUBMITST ' -//SYSEXEC DD DISP=SHR,DSN=Your.NDVR.V1##.USERCLS0 -//SYSTSPRT DD SYSOUT=* -//SYSTSIN DD DUMMY -//********************************************************************** -//* Indicate a PASS or FAIL condition onto the Element -//********************************************************************** -//PASSFAIL EXEC PGM=IRXJCL, **Determine Pass/Fail** T4ZRPLA2 -// PARM='', (null char) -// COND=((8,LT),(1,NE,T4ZOPTNS)),MAXRC=2 -//ZLMSGIN DD DSN=&T4ZHLQTM..&C1ELEMENT..ZLMSG, -// DISP=SHR -//ZLMSG DD SYSOUT=* -//SYSEXEC DD DSN=&&TOPTIONS,DISP=(OLD,PASS) -// DD * - $my_rc =3 - "EXECIO * DISKR ZLMSGIN (Stem zmsg. Finis" - "EXECIO * DISKW ZLMSG (Stem zmsg. Finis" - Do j# = 1 to zmsg.0 - msgtext = zmsg.j# - If Pos('Testing passed on',msgtext) /= 0 then, - Do; Queue msgtext; $my_rc =1; Leave; End - If Pos('Code coverage for',msgtext) /= 0 then, - Do; Queue msgtext; $my_rc =1; Leave; End - End; /* Do j# = 1 to zmsg.0 */ - - if $my_rc =1 then, - Queue "Replay Test was successful" - if $my_rc =3 then, - Queue "Test Failed" - If Allow_test_fails = 'Y' then, - Do; Queue "The Allow_test_fails = 'Y' is set"; $my_rc =2 ; End - - MessageDD = Word("SUCCESS WARNING FAILURE",$my_rc) - Call BPXWDYN "ALLOC DD("MessageDD") SYSOUT(A) " - "EXECIO " QUEUED() "DISKW" MessageDD "( Finis" - CALL BPXWDYN "Free DD("MessageDD")" - if $my_rc =3 then $my_rc =8 - - exit($my_rc) -//SYSTSIN DD DUMMY -//SYSTSPRT DD SYSOUT=* -//********************************************************************** -// IF (SUBMITRP.RUN AND RC < 5) THEN -//********************************************************************** -//T4ZPLA#4 EXEC PGM=IEFBR14 **Delete temp datasets** T4ZRPLA2 -//ZLDATA DD DSN=&T4ZLDATA, -// DISP=(OLD,DELETE) -//REPLAY DD DSN=&T4ZHLQTM..&C1ELEMENT..REPLAY, -// DISP=(OLD,DELETE) -//********************************************************************** -// ENDIF -//********************************************************************** diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/T4ZRPLAY.prc b/endevor/Automated-Test-Facility-Using-Test4Z/T4ZRPLAY.prc deleted file mode 100644 index 2d764a1..0000000 Binary files a/endevor/Automated-Test-Facility-Using-Test4Z/T4ZRPLAY.prc and /dev/null differ diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/T4ZUNIT.inc b/endevor/Automated-Test-Facility-Using-Test4Z/T4ZUNIT.inc deleted file mode 100644 index cfa2d28..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/T4ZUNIT.inc +++ /dev/null @@ -1,436 +0,0 @@ -//*--------------------------------------------------------------------* -//* T4ZOPTNU - CREATE A PARM OPTION MODEL FROM TABLE -//* PARM='ENBPIU00 M ...' -//* Option M - Process only selected rows based on search value given -//*--------------------------------------------------------------------* -//T4ZOPTNU EXEC PGM=IKJEFT1B, **Examine T4Z Options** -// PARM='ENBPIU00 M &C1ELEMENT', -// COND=(4,LT) -//SYSEXEC DD DISP=SHR,DSN=&CSIQCLS0 -// DD DISP=SHR,DSN=&USERCLS0 -//MYYAML DD DISP=SHR,DSN=&OPTIONS(&C1ELEMENT) -//OPTIONS DD * - $nomessages = 'Y' - $NumberModelsAndTblouts= 1 - x=BuildFromMODEL('MODEL') - call bpxwdyn "info fi(MYYAML) inrtdsn(dsnvar)" - TRACE ?R - dsnmem = dsnvar||'('&C1ELEMENT')'; - x = SYSDSN("'"dsnmem"'"); - if x = 'OK' then, x=BuildFromMODEL('MODEL1') - $SkipRow='Y' -//TABLE DD DSN=&TABLE(UTABLE), -// DISP=SHR -//MODEL DD * *Reporting output - Allow_test_fails = '&Allow_test_fails' - Tst_Suite = '&Tst_Suite' - Unit = '&Unit' - Subsystem = '&Subsystem' -//MODEL1 DD DATA,DLM=Q1 - Addnl_parm = 'Y' -Q1 -//SYSTSIN DD DUMMY -//SYSTSPRT DD SYSOUT=* -//TBLOUT DD DSN=&&UOPTIONS,DISP=(,PASS,DELETE) -//*--------------------------------------------------------------------* -//* UNIT TEST JCL -//*--------------------------------------------------------------------* -//T4ZUNI# EXEC PGM=IRXJCL, **Create UNIT TEST JCL -// PARM='ENBPIU00 1', -// COND=(4,LT) -//TABLE DD * -* Any - * -//SYSEXEC DD DISP=SHR,DSN=&USERCLS0 -// DD DISP=SHR,DSN=&CSIQCLS0 -//OPTIONS DD * Bump jobcard and fetch Accounting code -* Identify whether Unit testing needs to be executed - X = IncludeQuotedOptions(TEST4OPT) - if Unit \= 'Y' then, exit(3) - if Addnl_parm = 'Y' then, exit(3) -* Accounting value fetch may not be necessary at your site - WhoAmI = USERID() - myJobAccountingCode = GETACCTC(whoAmI) - myJobName = MVSVAR('SYMDEF',JOBNAME ) - BumpedJobname = BUMPJOB(myJobName) -* Include the additional parms or lines - If Subsystem = 'DB2' then do; + - x=BuildFromMODEL('MODEL2'); + - x=BuildFromMODEL('MODEL3'); + - x=BuildFromMODEL('MODEL1'); + - $SkipRow='Y'; + - $SkipRow='Y'; + - End - x=BuildFromMODEL('MODEL') - x=BuildFromMODEL('MODEL1') - $SkipRow='Y' -//TEST4OPT DD DSN=&&UOPTIONS,DISP=(OLD,PASS) -//MODEL DD DATA,DLM=QQ -//&BumpedJobname JOB (&myJobAccountingCode),'&whoAmI T4Z', -// CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID -//*---------------------------------------------------------- -// SET T4ZRUNL=&T4ZRUNL -// SET T4ZLOAD=&T4ZLOAD -// SET T4ZLDATA=&T4ZLDATA -// SET T4ZRJSON=&T4ZRJSON -// SET T4ZCJSON=&T4ZCJSON -// SET LOADLIB=&LOADLIB -//*---------------------------------------------------------- -//RUNTEST EXEC PGM=ZESTRUN -//STEPLIB DD DISP=SHR,DSN=&T4ZRUNL -// DD DISP=SHR,DSN=&LOADLIB -// DD DISP=SHR,DSN=&T4ZLOAD -//CEEOPTS DD * -TRAP(ON,NOSPIE) -PROFILE(OFF) -//ZLRESULT DD DISP=SHR,DSN=&T4ZRJSON(&C1ELEMENT) -//ZLDATA DD DISP=SHR,DSN=&T4ZLDATA -//ZLDEBUG DD SYSOUT=* -//ZLMSG DD SYSOUT=* -//ZLCOVER DD DISP=SHR,DSN=&T4ZCJSON(&C1ELEMENT) -//SYSPRINT DD SYSOUT=* -//SYSOUT DD SYSOUT=* -QQ -//MODEL1 DD DATA,DLM=Q1 -//ZLOPTS DD * -ZESTPARM(D=&T4ZLOAD,M=&Tst_Suite) -Q1 -//MODEL2 DD DATA,DLM=Q2 -//&BumpedJobname JOB (&myJobAccountingCode),'&whoAmI T4Z', -// CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID -/*JOBPARM S=CA31 -//*---------------------------------------------------------- -// SET T4ZRUNL=&T4ZRUNL -// SET T4ZLOAD=&T4ZLOAD -// SET T4ZLDATA=&T4ZLDATA -// SET T4ZRJSON=&T4ZRJSON -// SET LOADLIB=&LOADLIB -// SET DB2LLIB=&DB2LLIB -// SET DB2S=&DB2S -// SET PLANNME=&PLANNME -//*---------------------------------------------------------- -//RUNTEST EXEC PGM=IKJEFT1B -//STEPLIB DD DISP=SHR,DSN=&T4ZRUNL -// DD DISP=SHR,DSN=&LOADLIB -// DD DISP=SHR,DSN=&T4ZLOAD -// DD DISP=SHR,DSN=&DB2LLIB -//ZLRESULT DD DISP=SHR,DSN=&T4ZRJSON(&C1ELEMENT) -//ZLDATA DD DISP=SHR,DSN=&T4ZLDATA -//ZLDEBUG DD SYSOUT=* -//ZLMSG DD SYSOUT=* -//SYSPRINT DD SYSOUT=* -//SYSOUT DD SYSOUT=* -//SYSTSPRT DD SYSOUT=* -Q2 -//MODEL3 DD DATA,DLM=Q3 -//SYSTSIN DD * - DSN SYSTEM(&DB2S) - RUN PROGRAM(ZESTRUN) - - PLAN(&PLANNME) - END -Q3 -//SYSIN DD DUMMY CONTROL STATEMENTS -//SYSTSIN DD DUMMY -//SYSTSPRT DD SYSOUT=* -//TBLOUT DD DSN=&PROJECT..&C1ELEMENT..UNITEST, -// DISP=(,PASS,DELETE) -//IFT4ZU# IF (T4ZUNI#.RC NE 3 & T4ZUNI#.RC LE 4) THEN -//*--------------------------------------------------------------------* -//* Submit and wait for Unittest Job * -//*--------------------------------------------------------------------* -//SUBMITRP EXEC PGM=IKJEFT1B, **Submit UNITTEST JCL -// COND=((3,EQ,T4ZUNI#),(4,LT,T4ZUNI#)), -// PARM='SUBMITST &PROJECT..&C1ELEMENT..UNITEST 30 01' -//* PARM='SUBMITST ' -//SYSEXEC DD DISP=SHR,DSN=&USERCLS0 -//SYSPRINT DD SYSOUT=* -//SYSTSPRT DD SYSOUT=* -//SYSTSIN DD DUMMY -//********************************************************************** -//* Show the JCL -//********************************************************************** -//SHOWJCL EXEC PGM=IEBGENER, -// COND=(4,GT,SUBMITRP) -//SYSPRINT DD SYSOUT=* -//SYSUT1 DD DISP=(OLD,DELETE),DSN=&PROJECT..&C1ELEMENT..UNITEST -//SYSUT2 DD SYSOUT=* -//SYSIN DD DUMMY -//********************************************************************** -//* Show the intermediate results -//********************************************************************** -//SHOWJSON EXEC PGM=IEBGENER **Show Results** T4ZUNIT -//SYSPRINT DD SYSOUT=* -//SYSUT1 DD DISP=SHR,DSN=&T4ZRJSON(&C1ELEMENT) -//SYSUT2 DD SYSOUT=* -//SYSIN DD DUMMY -//********************************************************************** -//* Indicate a PASS or FAIL condition onto the Element -//********************************************************************** -//PASSFAIL EXEC PGM=IRXJCL, **Determine Pass/Fail** T4ZUNIT -// PARM=' ', <- '00'x -// COND=(4,LT), -// MAXRC=2 -//SYSEXEC DD DSN=&&UOPTIONS,DISP=(OLD,DELETE) -// DD * - CALL BPXWDYN "ALLOC FI(UNITTEST) ", - "DA(&T4ZRJSON(&C1ELEMENT)) SHR REUSE" - If RESULT /= 0 then, - Do; Queue "Cannot find json results in", - "&T4ZRJSON(&C1ELEMENT)" ; $my_rc =3 ; - End - Else, - Do; $my_rc =1; - Queue "Found UnitTest results in &T4ZRJSON(&C1ELEMENT)" - "EXECIO * DISKR UNITTEST (Stem json. Finis" - CALL BPXWDYN "FREE FI(UNITTEST)" - Do j# = 1 to json.0 - jsontext = json.j# - If pos('"testSuite":',jsontext)> 0 then, - Queue "UNITTEST:" jsontext ; - where = Pos('"failed":',jsontext) - If where = 0 then iterate; - Queue "UNITTEST:" jsontext - unittestRc = word(substr(jsontext,where),2) - If unittestRc /= "0," then Do; $my_rc =3; Leave; End - End; /* Do j# = 1 to json.0 */ - End; /* ELSE... */ - SAY Allow_test_failS - if $my_rc =1 then, - Queue "Unit Test was successful" - - if $my_rc =3 then, - Queue "Test Failed" - - If Allow_test_fails = 'Y' then, - Do; Queue "The Allow_test_fails = 'Y' is set"; $my_rc =2 ; End - - MessageDD = word("SUCCESS WARNING FAILURE",$my_rc) - Call BPXWDYN "ALLOC DD("MessageDD") SYSOUT(A) " - "EXECIO " QUEUED() "DISKW" MessageDD "( Finis" - CALL BPXWDYN "Free DD("MessageDD")" - - exit($my_rc) -//SYSTSIN DD DUMMY -//SYSTSPRT DD SYSOUT=* -// ENDIF -//* -//IFT4ZUNI IF T4ZUNI#.RC EQ 3 THEN -//*--------------------------------------------------------------------* -//* UNIT TEST JCL -//*--------------------------------------------------------------------* -//T4ZUNI#1 EXEC PGM=IRXJCL, **Create UNIT TEST JCL -// PARM='ENBPIU00 1', -// COND=(4,LT) -//TABLE DD * -* Any - * -//SYSEXEC DD DISP=SHR,DSN=&USERCLS0 -// DD DISP=SHR,DSN=&CSIQCLS0 -//MYYAML DD DISP=SHR,DSN=&OPTIONS(&C1ELEMENT) -//OPTIONS DD * Bump jobcard and fetch Accounting code -* Identify whether Unit testing needs to be executed - X = IncludeQuotedOptions(TEST4OPT) - if Addnl_parm \= 'Y' then, exit(3) - if Unit \= 'Y' then, exit(3) -* Accounting value fetch may not be necessary at your site - WhoAmI = USERID() - myJobAccountingCode = GETACCTC(whoAmI) - myJobName = MVSVAR('SYMDEF',JOBNAME ) - BumpedJobname = BUMPJOB(myJobName) -* Call YAML2REX here to build the JCL with additional parms/lines - Call YAML2REX 'MYYAML' - HowManyYamls = QUEUED() - Do yaml# =1 to HowManyYamls; + - Parse pull yaml2rexx; + - Say yaml2rexx; + - interpret yaml2rexx; + - End -* Include the additional parms or lines - If Subsystem = 'DB2' then do; + - Do yaml# =1 to TEST4Z.DB2P.0; + - If (word(TEST4Z.DB2P.yaml#,2)= 'PLAN:') then, + - PLANNME=word(TEST4Z.DB2P.yaml#,3); + - If (word(TEST4Z.DB2P.yaml#,2)= 'DB2S:') then, + - DB2S=word(TEST4Z.DB2P.yaml#,3); + - End; + - x=BuildFromMODEL('MODEL3'); + - Do yaml# =1 to TEST4Z.JCLS.0; + - IncludeUJcl=substr(TEST4Z.JCLS.yaml#,3); + - if IncludeUJcl = ' ' then, IncludeUJcl = '//*'; + - x=BuildFromMODEL('MODEL1'); + - End; + - x=BuildFromMODEL('MODEL4'); + - x=BuildFromMODEL('MODEL2'); + - Do yaml# =1 to TEST4Z.PARMS.0; + - IncludeUJcl=substr(TEST4Z.PARMS.yaml#,3); + - x=BuildFromMODEL('MODEL1'); + - End; + - $SkipRow='Y'; + - End - x=BuildFromMODEL('MODEL') - Do yaml# =1 to TEST4Z.JCLS.0; + - IncludeUJcl=substr(TEST4Z.JCLS.yaml#,3); + - If IncludeUJcl = ' ' then, IncludeUJcl = '//*'; + - x=BuildFromMODEL('MODEL1'); + - End - x=BuildFromMODEL('MODEL2') - Do yaml# =1 to TEST4Z.PARMS.0; + - IncludeUJcl=substr(TEST4Z.PARMS.yaml#,3); + - x=BuildFromMODEL('MODEL1'); + - End - $SkipRow='Y' -//TEST4OPT DD DSN=&&UOPTIONS,DISP=(OLD,PASS) -//MODEL DD DATA,DLM=QQ -//&BumpedJobname JOB (&myJobAccountingCode),'&whoAmI T4Z', -// CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID -//*---------------------------------------------------------- -// SET T4ZRUNL=&T4ZRUNL -// SET LOADLIB=&LOADLIB -// SET T4ZLOAD=&T4ZLOAD -// SET T4ZLDATA=&T4ZLDATA -// SET T4ZRJSON=&T4ZRJSON -//*---------------------------------------------------------- -//RUNTEST EXEC PGM=ZESTRUN -//STEPLIB DD DISP=SHR,DSN=&T4ZRUNL -// DD DISP=SHR,DSN=&LOADLIB -// DD DISP=SHR,DSN=&T4ZLOAD -//CEEOPTS DD * -TRAP(ON,NOSPIE) -TERMTHDACT(UADUMP) -ALL31(ON) -PROFILE(OFF) -//ZLRESULT DD DISP=SHR,DSN=&T4ZRJSON(&C1ELEMENT) -//ZLDATA DD DISP=SHR,DSN=&T4ZLDATA -//ZLDEBUG DD SYSOUT=* -//ZLMSG DD SYSOUT=* -//ZLCOVER DD SYSOUT=* -//SYSPRINT DD SYSOUT=* -//SYSOUT DD SYSOUT=* -QQ -//MODEL1 DD DATA,DLM=Q1 -&IncludeUJcl -Q1 -//MODEL2 DD DATA,DLM=Q2 -//ZLOPTS DD * -ZESTPARM(D=&T4ZLOAD,M=&Tst_Suite) -Q2 -//MODEL3 DD DATA,DLM=Q3 -//&BumpedJobname JOB (&myJobAccountingCode),'&whoAmI T4Z', -// CLASS=A,MSGCLASS=X,NOTIFY=&SYSUID -/*JOBPARM S=CA31 -//*---------------------------------------------------------- -// SET T4ZRUNL=&T4ZRUNL -// SET LOADLIB=&LOADLIB -// SET T4ZLOAD=&T4ZLOAD -// SET T4ZLDATA=&T4ZLDATA -// SET T4ZRJSON=&T4ZRJSON -// SET DB2LLIB=&DB2LLIB -// SET DB2S=&DB2S -// SET PLANNME=&PLANNME -//*---------------------------------------------------------- -//RUNTEST EXEC PGM=IKJEFT1B -//STEPLIB DD DISP=SHR,DSN=&T4ZRUNL -// DD DISP=SHR,DSN=&LOADLIB -// DD DISP=SHR,DSN=&T4ZLOAD -// DD DISP=SHR,DSN=&DB2LLIB -//ZLRESULT DD DISP=SHR,DSN=&T4ZRJSON(&C1ELEMENT) -//ZLDATA DD DISP=SHR,DSN=&T4ZLDATA -//ZLDEBUG DD SYSOUT=* -//ZLMSG DD SYSOUT=* -//SYSPRINT DD SYSOUT=* -//SYSOUT DD SYSOUT=* -//SYSTSPRT DD SYSOUT=* -Q3 -//MODEL4 DD DATA,DLM=Q4 -//SYSTSIN DD * - DSN SYSTEM(&DB2S) - RUN PROGRAM(ZESTRUN) - - PLAN(&PLANNME) - END -Q4 -//SYSIN DD DUMMY CONTROL STATEMENTS -//YAML2REX DD DUMMY <- Turn on/off REXX trace -//SYSTSIN DD DUMMY -//SYSTSPRT DD SYSOUT=* -//TBLOUT DD DSN=&PROJECT..&C1ELEMENT..UNITES1, -// DISP=(,PASS,DELETE) -//********************************************************************** -//* Show the JCL -//********************************************************************** -//SHOWJCL EXEC PGM=IEBGENER, **Show JCL only the last step fails** -// COND=(4,GT,T4ZUNI#1) -//SYSPRINT DD DUMMY -//SYSUT1 DD DISP=(OLD,PASS),DSN=&PROJECT..&C1ELEMENT..UNITES1 -//SYSUT2 DD SYSOUT=* -//SYSIN DD DUMMY -//*--------------------------------------------------------------------* -//* Submit and wait for Unittest Job * -//*--------------------------------------------------------------------* -//SUBMITRP EXEC PGM=IKJEFT1B, **Submit UNITTEST JCL -// COND=((3,EQ,T4ZUNI#1),(4,LT,T4ZUNI#1)), -// PARM='SUBMITST &PROJECT..&C1ELEMENT..UNITES1 30 01' -//* PARM='SUBMITST ' -//SYSEXEC DD DISP=SHR,DSN=&USERCLS0 -//SYSTSPRT DD SYSOUT=* -//SYSTSIN DD DUMMY -//********************************************************************** -//* Show the intermediate results -//********************************************************************** -//SHOWJSON EXEC PGM=IEBGENER, **Show Results** T4ZUNIT -// COND=((4,LT),(3,EQ,T4ZUNI#1)) -//SYSPRINT DD SYSOUT=* -//SYSUT1 DD DISP=SHR,DSN=&T4ZRJSON(&C1ELEMENT) -//SYSUT2 DD SYSOUT=* -//SYSIN DD DUMMY -//********************************************************************** -//* Indicate a PASS or FAIL condition onto the Element -//********************************************************************** -//PASSFAIL EXEC PGM=IRXJCL, **Determine Pass/Fail** T4ZUNIT -// PARM=' ', <- '00'x -// COND=((4,LT),(3,EQ,T4ZUNI#1)), -// MAXRC=2 -//SYSEXEC DD * - CALL BPXWDYN "ALLOC FI(UNITTEST) ", - "DA(&T4ZRJSON(&C1ELEMENT)) SHR REUSE" - If RESULT /= 0 then, - Do; Queue "Cannot find json results in", - "&T4ZRJSON(&C1ELEMENT)" ; $my_rc =3 ; - End - Else, - Do; $my_rc =1; - Queue "Found UnitTest results in &T4ZRJSON(&C1ELEMENT)" - "EXECIO * DISKR UNITTEST (Stem json. Finis" - CALL BPXWDYN "FREE FI(UNITTEST)" - Do j# = 1 to json.0 - jsontext = json.j# - If pos('"testSuite":',jsontext)> 0 then, - Queue "UNITTEST:" jsontext ; - where = Pos('"failed":',jsontext) - If where = 0 then iterate; - Queue "UNITTEST:" jsontext - unittestRc = word(substr(jsontext,where),2) - If unittestRc /= "0," then Do; $my_rc =3; Leave; End - End; /* Do j# = 1 to json.0 */ - End; /* ELSE... */ - - if $my_rc =1 then, - Queue "Unit Test was successful" - - if $my_rc =3 then, - Queue "Test Failed" - - If Allow_test_fails = 'Y' then, - Do; Queue "The Allow_test_fails = 'Y' is set"; $my_rc =2 ; End - - MessageDD = word("SUCCESS WARNING FAILURE",$my_rc) - Call BPXWDYN "ALLOC DD("MessageDD") SYSOUT(A) " - "EXECIO " QUEUED() "DISKW" MessageDD "( Finis" - CALL BPXWDYN "Free DD("MessageDD")" - - exit($my_rc) -//SYSTSIN DD DUMMY -//SYSTSPRT DD SYSOUT=* -//*--------------------------------------------------------------------* -//********************************************************************** -// ENDIF -//*--------------------------------------------------------------------* diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/T4ZUNIT.prc b/endevor/Automated-Test-Facility-Using-Test4Z/T4ZUNIT.prc deleted file mode 100644 index 06d2410..0000000 Binary files a/endevor/Automated-Test-Facility-Using-Test4Z/T4ZUNIT.prc and /dev/null differ diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/T4ZVARBS.prc b/endevor/Automated-Test-Facility-Using-Test4Z/T4ZVARBS.prc deleted file mode 100644 index 18614f3..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/T4ZVARBS.prc +++ /dev/null @@ -1,7 +0,0 @@ -//*** for Test4z processing\ -// T4ZLOAD='&PROJECT..SMPL&C1ST..T4ZLOAD', -// T4ZLDATA='PUBLIC.&C1SY..&C1ELEMENT..T4ZLDATA', temp out* -// T4ZLJSON='&PROJECT..SMPL&C1ST..JSON', *UNTEST out* -// T4ZHLQTM='PUBLIC.D&C1AYY&C1AMM&C1ADD..T&C1AHHMMSS.', -// USERCLS0='Your.NDVR.V1##.USERCLS0', -//*** for Test4z processing/ diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/UTABLE.tbl.txt b/endevor/Automated-Test-Facility-Using-Test4Z/UTABLE.tbl.txt deleted file mode 100644 index aad84f0..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/UTABLE.tbl.txt +++ /dev/null @@ -1,6 +0,0 @@ -*Tst_Suite Unit Subsystem Allow_test_fails - ZTTQSAMP Y Y - ZTTRNDY Y Y - ZTTDOGWS N N - ZTTDB2PH Y DB2 N - ZTTCICSQ Y CICS Y diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/YAML.txt b/endevor/Automated-Test-Facility-Using-Test4Z/YAML.txt deleted file mode 100644 index 1e7144b..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/YAML.txt +++ /dev/null @@ -1,7 +0,0 @@ -# YAML CONTROLS FOR ENDEVOR SPONSORED TEST4Z TESTING -TEST4Z: #TEST4Z PARMS AND JCL INCLUDE FOR ENDEVOR - PARMS: | #ADDITIONAL ZLOPTS PARAMETERS - - TRACE DEEP COVERAGE - JCLS: | #ADDITIONAL JCL LINES - - //SYSIN1 DD DSN=HLQ.ZTPQHELO.INPUT,DISP=SHR - - //SYSOUT1 DD SYSOUT=* diff --git a/endevor/Automated-Test-Facility-Using-Test4Z/jenkins_push.py b/endevor/Automated-Test-Facility-Using-Test4Z/jenkins_push.py deleted file mode 100644 index 1528e82..0000000 --- a/endevor/Automated-Test-Facility-Using-Test4Z/jenkins_push.py +++ /dev/null @@ -1,38 +0,0 @@ -import os -import platform -import sys -import requests -import json - -# Jenkins configuration -file_name = sys.argv[1] -jenkins_user = "api_user" # Replace with your Jenkins username -jenkins_token = "your api token" # Replace with your Jenkins token -trigger_token = "your_trigger_token" # Replace with your trigger token -url = "http://10.01.01.01:8080/job/NDVR_pipeline" # Replace with your Jenkins pipeline url:port jobname -jenkins_url = f"{url}/buildWithParameters?token={trigger_token}" -file_path = f"/u/ibmuser/results/{file_name}" - -try: - with open(file_path, "rb") as file: - files = { - 'stashed_file': ('file_name', file, 'application/json') - } - - # Send the POST request to Jenkins - response = requests.post( - jenkins_url, - auth=(jenkins_user, jenkins_token), - files=files - ) - - # Check the response - if response.status_code == 201: - print("Jenkins job triggered successfully.") - else: - print(f"Failed to trigger job: {response.status_code}") - -except FileNotFoundError: - print(f"Error: File not found at {file_path}") -except Exception as e: - print(f"An error occurred: {e}") \ No newline at end of file