diff --git a/.gitattributes b/.gitattributes index 35e6af952..5704ecf1e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -18,3 +18,6 @@ *.mac zos-working-tree-encoding=ibm-1047 git-encoding=utf-8 *.json zos-working-tree-encoding=utf-8 git-encoding=utf-8 *.yaml zos-working-tree-encoding=utf-8 git-encoding=utf-8 + +# TAZ recording file +*.rec binary diff --git a/README.md b/README.md index 0cd1f9ff8..7f3ef1386 100644 --- a/README.md +++ b/README.md @@ -27,7 +27,7 @@ The zAppBuild sample provides the following *language* build scripts by default: * DBDgen.groovy * PSBgen.groovy * MFS.groovy -* ZunitConfig.groovy +* TazUnitTest.groovy * CRB.groovy * Transfer.groovy (for transport non-buildable files like JCL or PROC into build libraries and register them as build output) * Easytrieve.groovy diff --git a/build-conf/README.md b/build-conf/README.md index fc07f46aa..95c1ec90d 100644 --- a/build-conf/README.md +++ b/build-conf/README.md @@ -30,7 +30,7 @@ SCSQLOAD | MQ Load Library. Example: CSQ.V9R1M0.SCSQLOAD SDSNLOAD | DB2 Load Library. Example: DB2.V9R1M0.SDSNLOAD SDSNEXIT | DB2 Exit Library. Example: DBC0CFG.SDSNEXIT SFELLOAD | Optional IDz Load Library. Example: FEL.V14R0M0.SFELLOAD -SBZUSAMP | Optional z/OS Dynamic Test Runner IDz zUnit / WAZI VTP library containing necessary copybooks. Example : FEL.V14R2.SBZUSAMP +SEQASAMP | Optional IBM Debug Tool library containing necessary TAZ copybooks. Example : DEBUG.V16.SEQASAMP EZETLOAD | Easytrieve Load Library. Example for IBM Migration Utility: SYS1.SFSYLOAD ### build.properties @@ -284,21 +284,21 @@ acbgen_outputDatasets | List of output datasets to document deletions ** Can be acbgen_pgm | MVS program name of the acbgen pgm acbgen_deployType | Deploy Type of build outputs -### ZunitConfig.properties -Build properties used by zAppBuild/language/ZunitConfig.groovy +### TazUnitTest.properties +Build properties used by zAppBuild/language/TazUnitTest.groovy Property | Description --- | --- -zunit_bzucfgPDS | Dataset to move BZUCFG files to from USS -zunit_bzureportPDS | Dataset where BZUCRPT files are stored -zunit_bzuplayPDS | Dataset to move zUnit Playback files to from USS -zunit_srcDatasets | Comma separated list of 'source' type data sets -zunit_srcOptions | BPXWDYN creation options for creating 'source' type data sets -zunit_loadDatasets | Comma separated list of 'load module' type data sets -zunit_loadOptions | BPXWDYN creation options for creating 'load module' type data sets -zunit_reportDatasets | Comma separated list of 'report' type data sets -zunit_reportOptions | BPXWDYN creation options for creating 'report' type data sets -zunit_dependenciesDatasetMapping | DBB property mapping to map dependencies to different target datasets +tazunittest_bzucfgPDS | Dataset to move BZUCFG files to from USS +tazunittest_bzureportPDS | Dataset where BZUCRPT files are stored +tazunittest_bzuplayPDS | Dataset to move zUnit Playback files to from USS +tazunittest_srcDatasets | Comma separated list of 'source' type data sets +tazunittest_srcOptions | BPXWDYN creation options for creating 'source' type data sets +tazunittest_loadDatasets | Comma separated list of 'load module' type data sets +tazunittest_loadOptions | BPXWDYN creation options for creating 'load module' type data sets +tazunittest_reportDatasets | Comma separated list of 'report' type data sets +tazunittest_reportOptions | BPXWDYN creation options for creating 'report' type data sets +tazunittest_dependenciesDatasetMapping | DBB property mapping to map dependencies to different target datasets ### zCEE3.properties Application properties used by zAppBuild/language/zCEE3.groovy diff --git a/build-conf/TazUnitTest.properties b/build-conf/TazUnitTest.properties new file mode 100644 index 000000000..aeb540641 --- /dev/null +++ b/build-conf/TazUnitTest.properties @@ -0,0 +1,33 @@ +# Releng properties used by language/TazUnitTest.groovy + +tazunittest_requiredBuildProperties=tazunittest_srcDatasets,tazunittest_loadDatasets,tazunittest_reportDatasets,tazunittest_bzucfgPDS,\ + tazunittest_bzureportPDS,tazunittest_bzuplayPDS,tazunittest_srcOptions,tazunittest_loadOptions,tazunittest_reportOptions,\ + tazunittest_jobCard,tazunittest_maxPassRC,tazunittest_maxWarnRC,tazunittest_playbackFileExtension,\ + tazunittest_eqaplayParms,tazunittest_userDebugSessionTestParm, \ + tazunittest_dependencySearch + +tazunittest_bzucfgPDS=${hlq}.BZU.BZUCFG +tazunittest_bzureportPDS=${hlq}.BZU.BZURPT +tazunittest_bzuplayPDS=${hlq}.BZU.BZUPLAY + +# List the data sets that need to be created and their creation options +tazunittest_srcDatasets=${tazunittest_bzucfgPDS} +tazunittest_srcOptions=cyl space(1,1) lrecl(27998) dsorg(PO) recfm(V,B) dsntype(library) + +tazunittest_loadDatasets=${tazunittest_bzuplayPDS} +tazunittest_loadOptions=cyl space(1,1) dsorg(PO) lrecl(256) recfm(F,B) blksize(32512) dsntype(library) + +tazunittest_reportDatasets=${tazunittest_bzureportPDS} +tazunittest_reportOptions=tracks space(200,40) dsorg(PO) blksize(32760) lrecl(16383) recfm(v,b) dsntype(library) + +# tazunittest_dependenciesDatasetMapping - an optional dbb property mapping to map dependencies to different target datasets +# this property is used when dependencies are copied to the different build libraries, e.q dclgens going into to a dedicated library +# note, that a dependency file needs to match a single rule +# +# sample: +# tazunittest_dependenciesDatasetMapping = tazunittest_bzuplayPDS :: **/bzuplay/*.rec +# tazunittest_dependenciesDatasetMapping = tazunittest_bzuplayPDS :: **/bzuplay_vtp/*.rec +# +# default copies all dependencies into the dependency dataset definition which was previously passed to the utilities/BuildUitilities.copySourceFiles method +# tazunittest_dependenciesDatasetMapping = tazunittest_bzuplayPDS :: **/* +tazunittest_dependenciesDatasetMapping = tazunittest_bzuplayPDS :: **/* diff --git a/build-conf/ZunitConfig.properties b/build-conf/ZunitConfig.properties deleted file mode 100644 index c4c28fc9e..000000000 --- a/build-conf/ZunitConfig.properties +++ /dev/null @@ -1,33 +0,0 @@ -# Releng properties used by language/ZuntConfig.groovy - -zunit_requiredBuildProperties=zunit_srcDatasets,zunit_loadDatasets,zunit_reportDatasets,zunit_bzucfgPDS,\ - zunit_bzureportPDS,zunit_bzuplayPDS,zunit_srcOptions,zunit_loadOptions,zunit_reportOptions,\ - jobCard,zunit_maxPassRC,zunit_maxWarnRC,zunit_playbackFileExtension,\ - zunit_bzuplayParms,zunit_userDebugSessionTestParm, \ - zunit_dependencySearch - -zunit_bzucfgPDS=${hlq}.BZU.BZUCFG -zunit_bzureportPDS=${hlq}.BZU.BZURPT -zunit_bzuplayPDS=${hlq}.BZU.BZUPLAY - -# List the data sets that need to be created and their creation options -zunit_srcDatasets=${zunit_bzucfgPDS} -zunit_srcOptions=cyl space(1,1) lrecl(27998) dsorg(PO) recfm(V,B) dsntype(library) - -zunit_loadDatasets=${zunit_bzuplayPDS} -zunit_loadOptions=cyl space(1,1) dsorg(PO) lrecl(256) recfm(F,B) blksize(32512) dsntype(library) - -zunit_reportDatasets=${zunit_bzureportPDS} -zunit_reportOptions=tracks space(200,40) dsorg(PO) blksize(32760) lrecl(16383) recfm(v,b) dsntype(library) - -# zunit_dependenciesDatasetMapping - an optional dbb property mapping to map dependencies to different target datasets -# this property is used when dependencies are copied to the different build libraries, e.q dclgens going into to a dedicated library -# note, that a dependency file needs to match a single rule -# -# sample: -# zunit_dependenciesDatasetMapping = zunit_bzuplayPDS :: **/bzuplay/*.bzuplay -# zunit_dependenciesDatasetMapping = zunit_bzuplayPDS :: **/bzuplay_vtp/*.bzuplay -# -# default copies all dependencies into the dependency dataset definition which was previously passed to the utilities/BuildUitilities.copySourceFiles method -# zunit_dependenciesDatasetMapping = zunit_bzuplayPDS :: **/* -zunit_dependenciesDatasetMapping = zunit_bzuplayPDS :: **/* diff --git a/build-conf/build.properties b/build-conf/build.properties index 68e94574b..b9bf6fe0f 100644 --- a/build-conf/build.properties +++ b/build-conf/build.properties @@ -19,7 +19,7 @@ buildPropFiles=${systemDatasets},GlobalOptions.properties,dependencyReport.properties,\ Assembler.properties,BMS.properties,Cobol.properties,Transfer.properties,\ MFS.properties,PSBgen.properties,DBDgen.properties,ACBgen.properties,\ -LinkEdit.properties,PLI.properties,REXX.properties,ZunitConfig.properties,\ +LinkEdit.properties,PLI.properties,REXX.properties,TazUnitTest.properties,\ CRB.properties,zCEE3.properties,zCEE2.properties,Easytrieve.properties # @@ -51,7 +51,7 @@ systemDatasets=datasets.properties # default-application-conf/PLI.properties,\ # default-application-conf/Transfer.properties,\ # default-application-conf/LinkEdit.properties,\ -# default-application-conf/ZunitConfig.properties +# default-application-conf/TazUnitTest.properties # applicationDefaultPropFiles=defaultzAppBuildConf.properties diff --git a/build-conf/datasets.properties b/build-conf/datasets.properties index abd099157..b6fa6f124 100644 --- a/build-conf/datasets.properties +++ b/build-conf/datasets.properties @@ -69,8 +69,8 @@ SEQAMOD= # Optional IDz Load Library. Example: FEL.V14R0M0.SFELLOAD SFELLOAD= -# Optional IDZ zUnit / WAZI VTP library containing necessary copybooks. Example : FEL.V14R2.SBZUSAMP -SBZUSAMP= +# Optional IBM Debug Tool library containing necessary TAZ copybooks. Example : DEBUG.V16.SEQASAMP +SEQASAMP= # REXX Compiler Data Sets. Example: REXX.V1R4.SFANLMD SFANLMD= diff --git a/docs/BUILD.md b/docs/BUILD.md index af75f0585..e5f333d0d 100644 --- a/docs/BUILD.md +++ b/docs/BUILD.md @@ -95,7 +95,7 @@ $DBB_HOME/bin/groovyz build.groovy \ --debug \ --impactBuild ``` -**Use Code Coverage Headless Collector in zUnit Tests and specify parameters through command-line options (which override properties defined in ZunitConfig.properties)** +**Use Code Coverage Headless Collector in zUnit Tests and specify parameters through command-line options (which override properties defined in TazUnitTest.properties)** ``` $DBB_HOME/bin/groovyz build.groovy \ --workspace /u/build/repos \ @@ -300,7 +300,7 @@ groovyz dbb-zappbuild/build.groovy \ ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/Cobol.properties ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/LinkEdit.properties ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/PLI.properties -** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/ZunitConfig.properties +** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/TazUnitTest.properties ** appConf = /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/file.properties ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/BMS.properties @@ -379,7 +379,7 @@ groovyz dbb-zappbuild/build.groovy \ ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/Cobol.properties ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/LinkEdit.properties ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/PLI.properties -** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/ZunitConfig.properties +** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/TazUnitTest.properties ** appConf = /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/file.properties ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/BMS.properties @@ -483,7 +483,7 @@ groovyz dbb-zappbuild/build.groovy \ ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/Cobol.properties ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/LinkEdit.properties ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/PLI.properties -** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/ZunitConfig.properties +** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/TazUnitTest.properties ** appConf = /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/file.properties ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/BMS.properties @@ -723,7 +723,7 @@ groovyz dbb-zappbuild/build.groovy \ ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/Cobol.properties ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/LinkEdit.properties ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/PLI.properties -** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/ZunitConfig.properties +** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/TazUnitTest.properties ** appConf = /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/file.properties ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/BMS.properties @@ -882,7 +882,7 @@ Please see the output provided in verbose mode when setting up the collections a ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/Cobol.properties ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/LinkEdit.properties ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/PLI.properties -** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/ZunitConfig.properties +** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/TazUnitTest.properties ** appConf = /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/file.properties ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/BMS.properties @@ -1014,7 +1014,7 @@ groovyz dbb-zappbuild/build.groovy \ ** Loading property file /var/dbb/dbb-zappbuild/build-conf/LinkEdit.properties ** Loading property file /var/dbb/dbb-zappbuild/build-conf/PLI.properties ** Loading property file /var/dbb/dbb-zappbuild/build-conf/REXX.properties -** Loading property file /var/dbb/dbb-zappbuild/build-conf/ZunitConfig.properties +** Loading property file /var/dbb/dbb-zappbuild/build-conf/TazUnitTest.properties ** appConf = /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/file.properties ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/BMS.properties @@ -1174,7 +1174,7 @@ groovyz dbb-zappbuild/build.groovy \ ** Loading property file /var/dbb/dbb-zappbuild/build-conf/LinkEdit.properties ** Loading property file /var/dbb/dbb-zappbuild/build-conf/PLI.properties ** Loading property file /var/dbb/dbb-zappbuild/build-conf/REXX.properties -** Loading property file /var/dbb/dbb-zappbuild/build-conf/ZunitConfig.properties +** Loading property file /var/dbb/dbb-zappbuild/build-conf/TazUnitTest.properties ** appConf = /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/file.properties ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/BMS.properties @@ -1305,7 +1305,7 @@ groovyz dbb-zappbuild/build.groovy \ ** Loading property file /var/dbb/dbb-zappbuild/build-conf/LinkEdit.properties ** Loading property file /var/dbb/dbb-zappbuild/build-conf/PLI.properties ** Loading property file /var/dbb/dbb-zappbuild/build-conf/REXX.properties -** Loading property file /var/dbb/dbb-zappbuild/build-conf/ZunitConfig.properties +** Loading property file /var/dbb/dbb-zappbuild/build-conf/TazUnitTest.properties ** Loading property file /var/dbb/dbb-zappbuild/build-conf/Transfer.properties ** appConf = /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/file.properties @@ -1652,7 +1652,7 @@ groovyz dbb-zappbuild/build.groovy \ ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/Cobol.properties ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/LinkEdit.properties ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/PLI.properties -** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/ZunitConfig.properties +** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/TazUnitTest.properties ** appConf = /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/file.properties ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/BMS.properties @@ -1796,7 +1796,7 @@ groovyz dbb-zappbuild/build.groovy \ ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/Cobol.properties ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/LinkEdit.properties ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/PLI.properties -** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/ZunitConfig.properties +** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/TazUnitTest.properties ** appConf = /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/file.properties ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/BMS.properties @@ -1975,7 +1975,7 @@ groovyz dbb-zappbuild/build.groovy \ ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/Cobol.properties ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/LinkEdit.properties ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/PLI.properties -** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/ZunitConfig.properties +** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/TazUnitTest.properties ** appConf = /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/file.properties ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/BMS.properties @@ -2135,7 +2135,7 @@ groovyz dbb-zappbuild/build.groovy \ ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/Cobol.properties ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/LinkEdit.properties ** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/PLI.properties -** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/ZunitConfig.properties +** Loading property file /ZT01/var/dbb/dbb-zappbuild/build-conf/TazUnitTest.properties ** appConf = /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/file.properties ** Loading property file /var/dbb/dbb-zappbuild/samples/MortgageApplication/application-conf/BMS.properties @@ -2164,7 +2164,7 @@ groovyz dbb-zappbuild/build.groovy \ ** The dataset DEBUG.V14R1.SEQAMOD referenced for property SEQAMOD was found. ** The dataset DBC0CFG.SDSNEXIT referenced for property SDSNEXIT was found. ** The dataset IMS.V15R1.SDFSRESL referenced for property SDFSRESL was found. -** The dataset RATCFG.ZUNIT.SBZUSAMP referenced for property SBZUSAMP was found. +** The dataset DEBUG.V16.SEQASAMP referenced for property SEQASAMP was found. ** The dataset CEE.SCEELKED referenced for property SCEELKED was found. ..... // lists of all build properties ... diff --git a/docs/HOWTOS.md b/docs/HOWTOS.md index 6bec65fcf..79e6f7eef 100644 --- a/docs/HOWTOS.md +++ b/docs/HOWTOS.md @@ -118,7 +118,7 @@ default-application-conf/BMS.properties,\ default-application-conf/PLI.properties,\ default-application-conf/Transfer.properties,\ default-application-conf/LinkEdit.properties,\ -default-application-conf/ZunitConfig.properties +default-application-conf/TazUnitTest.properties .. ``` This allows to reduce the necessary definitions within the `application-conf` directory of the application repository. This `application-conf` directory now only contains the `application.properties` and `file.properties` files to define the application-specific settings and exceptions, such as [file properties](../docs/FilePropertyManagement.md#dbb-file-properties) for particular build files: diff --git a/languages/Cobol.groovy b/languages/Cobol.groovy index 7c025fa96..786553f1a 100644 --- a/languages/Cobol.groovy +++ b/languages/Cobol.groovy @@ -13,7 +13,7 @@ import com.ibm.dbb.build.report.records.* @Field def buildUtils= loadScript(new File("${props.zAppBuildDir}/utilities/BuildUtilities.groovy")) @Field def impactUtils= loadScript(new File("${props.zAppBuildDir}/utilities/ImpactUtilities.groovy")) @Field def bindUtils= loadScript(new File("${props.zAppBuildDir}/utilities/BindUtilities.groovy")) - + println("** Building ${argMap.buildList.size()} ${argMap.buildList.size() == 1 ? 'file' : 'files'} mapped to ${this.class.getName()}.groovy script") // verify required build properties @@ -37,14 +37,14 @@ sortedList.each { buildFile -> println "*** (${currentBuildFileNumber++}/${sortedList.size()}) Building file $buildFile" // Check if this a testcase - isZUnitTestCase = buildUtils.isGeneratedzUnitTestCaseProgram(buildFile) + isTazUnitTestCase = buildUtils.isGeneratedTazTestCaseProgram(buildFile) // configure dependency resolution and create logical file String dependencySearch = props.getFileProperty('cobol_dependencySearch', buildFile) SearchPathDependencyResolver dependencyResolver = new SearchPathDependencyResolver(dependencySearch) // copy build file and dependency files to data sets - if(isZUnitTestCase){ + if(isTazUnitTestCase){ buildUtils.copySourceFiles(buildFile, props.cobol_testcase_srcPDS, null, null, null) }else{ buildUtils.copySourceFiles(buildFile, props.cobol_srcPDS, 'cobol_dependenciesDatasetMapping', props.cobol_dependenciesAlternativeLibraryNameMapping, dependencyResolver) @@ -106,7 +106,7 @@ sortedList.each { buildFile -> buildUtils.updateBuildResult(errorMsg:errorMsg,logs:["${member}.log":logFile]) } else { - if(!props.userBuild && !isZUnitTestCase){ + if(!props.userBuild && !isTazUnitTestCase){ // only scan the load module if load module scanning turned on for file String scanLoadModule = props.getFileProperty('cobol_scanLoadModule', buildFile) if (scanLoadModule && scanLoadModule.toBoolean()) @@ -195,9 +195,8 @@ def createCompileCommand(String buildFile, LogicalFile logicalFile, String membe MVSExec compile = new MVSExec().file(buildFile).pgm(compiler).parm(parms) // add DD statements to the compile command - - if (isZUnitTestCase) { - compile.dd(new DDStatement().name("SYSIN").dsn("${props.cobol_testcase_srcPDS}($member)").options('shr').report(true)) + if (isTazUnitTestCase){ + compile.dd(new DDStatement().name("SYSIN").dsn("${props.cobol_testcase_srcPDS}($member)").options('shr').report(true)) } else { compile.dd(new DDStatement().name("SYSIN").dsn("${props.cobol_srcPDS}($member)").options('shr').report(true)) } @@ -242,9 +241,9 @@ def createCompileCommand(String buildFile, LogicalFile logicalFile, String membe if (buildUtils.isMQ(logicalFile)) compile.dd(new DDStatement().dsn(props.SCSQCOBC).options("shr")) - // add additional zunit libraries - if (isZUnitTestCase) - compile.dd(new DDStatement().dsn(props.SBZUSAMP).options("shr")) + // add additional TAZ libraries + if (isTazUnitTestCase) + compile.dd(new DDStatement().dsn(props.SEQASAMP).options("shr")) // adding alternate library definitions if (props.cobol_dependenciesAlternativeLibraryNameMapping) { @@ -358,7 +357,7 @@ def createLinkEditCommand(String buildFile, LogicalFile logicalFile, String memb // add DD statements to the linkedit command String deployType = buildUtils.getDeployType("cobol", buildFile, logicalFile) - if(isZUnitTestCase){ + if(isTazUnitTestCase){ linkedit.dd(new DDStatement().name("SYSLMOD").dsn("${props.cobol_testcase_loadPDS}($member)").options('shr').output(true).deployType('ZUNIT-TESTCASE')) } else { diff --git a/languages/PLI.groovy b/languages/PLI.groovy index 1a8aabe8c..b888bdd74 100644 --- a/languages/PLI.groovy +++ b/languages/PLI.groovy @@ -219,7 +219,7 @@ def createCompileCommand(String buildFile, LogicalFile logicalFile, String membe // add additional zunit libraries if (isZUnitTestCase) - compile.dd(new DDStatement().dsn(props.SBZUSAMP).options("shr")) + compile.dd(new DDStatement().dsn(props.SEQASAMP).options("shr")) // add a tasklib to the compile command with optional CICS, DB2, and IDz concatenations String compilerVer = props.getFileProperty('pli_compilerVersion', buildFile) diff --git a/languages/README.md b/languages/README.md index 704d08eff..e23140b6b 100644 --- a/languages/README.md +++ b/languages/README.md @@ -12,7 +12,7 @@ zAppBuild comes with a number of language specific build scripts. These script * MFS.groovy * zCEE2.groovy * zCEE3.groovy -* ZunitConfig.groovy +* TazUnitTest.groovy * Easytrieve.groovy All language scripts both compile and optionally link-edit programs. The language build scripts are intended to be useful out of the box but depending on the complexity of your applications' build requirements, may require modifications to meet your development team's needs. By following the examples used in the existing language build scripts of keeping all application specific references out of the build scripts and instead using configuration properties with strong default values, the zAppBuild sample can continue to be a generic build solution for all of your specific applications. diff --git a/languages/ZunitConfig.groovy b/languages/TazUnitTest.groovy similarity index 56% rename from languages/ZunitConfig.groovy rename to languages/TazUnitTest.groovy index 106217ba9..19d048a8b 100644 --- a/languages/ZunitConfig.groovy +++ b/languages/TazUnitTest.groovy @@ -3,6 +3,7 @@ import com.ibm.dbb.metadata.* import com.ibm.dbb.dependency.* import com.ibm.dbb.build.* import groovy.transform.* +import com.ibm.dbb.build.JobExec import groovy.xml.* @@ -15,36 +16,36 @@ println("** Building ${argMap.buildList.size()} ${argMap.buildList.size() == 1 ? // verify required build properties buildUtils.assertBuildProperties(props.cobol_requiredBuildProperties) -buildUtils.assertBuildProperties(props.zunit_requiredBuildProperties) +buildUtils.assertBuildProperties(props.tazunittest_requiredBuildProperties) -def langQualifier = "zunit" +def langQualifier = "tazunittest" buildUtils.createLanguageDatasets(langQualifier) int currentBuildFileNumber = 1 // iterate through build list (argMap.buildList.sort()).each { buildFile -> - println "*** (${currentBuildFileNumber++}/${argMap.buildList.size()}) Building file $buildFile" + println "*** (${currentBuildFileNumber++}/${argMap.buildList.size()}) Executing TAZ test case $buildFile" String member = CopyToPDS.createMemberName(buildFile) - File logFile = new File("${props.buildOutDir}/${member}.zunit.jcl.log") - File reportLogFile = new File("${props.buildOutDir}/${member}.zunit.report.log") + File logFile = new File("${props.buildOutDir}/${member}.tazunittest.jcl.log") + File reportLogFile = new File("${props.buildOutDir}/${member}.tazunittest.report.log") - - String dependencySearch = props.getFileProperty('zunit_dependencySearch', buildFile) + + String dependencySearch = props.getFileProperty('tazunittest_dependencySearch', buildFile) SearchPathDependencyResolver dependencyResolver = new SearchPathDependencyResolver(dependencySearch) - + // copy build file and dependency files to data sets - buildUtils.copySourceFiles(buildFile, props.zunit_bzucfgPDS, 'zunit_dependenciesDatasetMapping', null, dependencyResolver) + buildUtils.copySourceFiles(buildFile, props.tazunittest_bzucfgPDS, 'tazunittest_dependenciesDatasetMapping', null, dependencyResolver) // get logical file LogicalFile logicalFile = buildUtils.createLogicalFile(dependencyResolver, buildFile) - + // get playback dependency for bzucfg file from logicalFile - LogicalDependency playbackFile = getPlaybackFile(logicalFile); - + LogicalDependency playbackFile = getPlaybackFile(logicalFile); + // Create JCLExec String - String jobcard = props.jobCard.replace("\\n", "\n") + String jobcard = props.getFileProperty('tazunittest_jobCard', buildFile).replace("\\n", "\n") String jcl = jobcard jcl += """\ \n//* @@ -54,55 +55,55 @@ int currentBuildFileNumber = 1 // SPACE=(TRK,(1,1),RLSE) //* //* Action: Run Test Case... -//RUNNER EXEC PROC=BZUPPLAY, -// BZUCFG=${props.zunit_bzucfgPDS}(${member}), +//RUNNER EXEC PROC=EQAPPLAY, +// BZUCFG=${props.tazunittest_bzucfgPDS}(${member}), // BZUCBK=${props.cobol_testcase_loadPDS}, // BZULOD=${props.cobol_loadPDS}, """ -// Add parms for bzupplay proc / zUnit Runner -zunitParms = props.getFileProperty('zunit_bzuplayParms', buildFile) -jcl += """\ -// PARM=('$zunitParms') + // Add parms for eqapplay proc / TAZ Runner + unitTestParms = props.getFileProperty('tazunittest_eqaplayParms', buildFile) + jcl += """\ +// PARM=('$unitTestParms') """ if (playbackFile != null) { // bzucfg contains reference to a playback file jcl += - "//REPLAY.BZUPLAY DD DISP=SHR, \n" + - "// DSN=${props.zunit_bzuplayPDS}(${playbackFile.getLname()}) \n" + "//REPLAY.BZUPLAY DD DISP=SHR, \n" + + "// DSN=${props.tazunittest_bzuplayPDS}(${playbackFile.getLname()}) \n" } else { // no playbackfile referenced jcl += - "//REPLAY.BZUPLAY DD DUMMY \n" + "//REPLAY.BZUPLAY DD DUMMY \n" } jcl += """\ //REPLAY.BZURPT DD DISP=SHR, -// DSN=${props.zunit_bzureportPDS}(${member}) +// DSN=${props.tazunittest_bzureportPDS}(${member}) """ -// Add parms for bzupplay proc / zUnit Runner -zunitDebugParm = props.getFileProperty('zunit_userDebugSessionTestParm', buildFile) + // Add debugger parameters + debugParms = props.getFileProperty('tazunittest_userDebugSessionTestParm', buildFile) -// if code coverage collection is activated + // add code coverage collection if activated if (props.codeZunitCoverage && props.codeZunitCoverage.toBoolean()) { - // codeCoverageHost + // codeCoverageHost if (props.codeCoverageHeadlessHost != null) codeCoverageHost = props.codeCoverageHeadlessHost - else - codeCoverageHost = props.getFileProperty('zunit_CodeCoverageHost', buildFile) - // codeCoveragePort + else + codeCoverageHost = props.getFileProperty('tazunittest_CodeCoverageHost', buildFile) + // codeCoveragePort if (props.codeCoverageHeadlessPort != null) codeCoveragePort = props.codeCoverageHeadlessPort - else - codeCoveragePort = props.getFileProperty('zunit_CodeCoveragePort', buildFile) + else + codeCoveragePort = props.getFileProperty('tazunittest_CodeCoveragePort', buildFile) // codeCoverageOptions if (props.codeCoverageOptions != null) codeCoverageOptions = props.codeCoverageOptions - else - codeCoverageOptions = props.getFileProperty('zunit_CodeCoverageOptions', buildFile) - + else + codeCoverageOptions = props.getFileProperty('tazunittest_CodeCoverageOptions', buildFile) + jcl += - "//CEEOPTS DD * \n" + - ( ( codeCoverageHost != null && codeCoveragePort != null && !props.userBuild ) ? "TEST(,,,TCPIP&${codeCoverageHost}%${codeCoveragePort}:*) \n" : "${zunitDebugParm} \n" ) + - "ENVAR(\n" + "//CEEOPTS DD * \n" + + ( ( codeCoverageHost != null && codeCoveragePort != null && !props.userBuild ) ? "TEST(,,,TCPIP&${codeCoverageHost}%${codeCoveragePort}:*) \n" : "${debugParms} \n" ) + + "ENVAR(\n" if (codeCoverageOptions != null) { optionsParms = splitCCParms('"' + "EQA_STARTUP_KEY=CC,${member},t=${member},i=${member}," + codeCoverageOptions + '")'); optionsParms.each { optionParm -> @@ -111,12 +112,12 @@ zunitDebugParm = props.getFileProperty('zunit_userDebugSessionTestParm', buildFi } else { jcl += '"' + "EQA_STARTUP_KEY=CC,${member},t=${member},i=${member}" +'")' + "\n" } - jcl += "/* \n" + jcl += "/* \n" } else if (props.debugzUnitTestcase && props.userBuild) { - // initiate debug session of test case + // initiate debug session of test case jcl += - "//CEEOPTS DD * \n" + - "${zunitDebugParm} \n" + "//CEEOPTS DD * \n" + + "${debugParms} \n" } jcl += """\ //* @@ -132,18 +133,15 @@ zunitDebugParm = props.getFileProperty('zunit_userDebugSessionTestParm', buildFi def dbbConf = System.getenv("DBB_CONF") // Create jclExec - def zUnitRunJCL = new JCLExec().text(jcl) - zUnitRunJCL.confDir(dbbConf) - - // Execute jclExec - zUnitRunJCL.execute() + def tazUnitTestRunJcl = new JobExec().text(jcl).buildFile(buildFile) + def rc = tazUnitTestRunJcl.execute() /** * Store results */ // Save Job Spool to logFile - zUnitRunJCL.saveOutput(logFile, props.logEncoding) + tazUnitTestRunJcl.saveOutput(logFile, props.logEncoding) // // Extract Job BZURPT as XML // def logEncoding = "UTF-8" @@ -173,46 +171,29 @@ zunitDebugParm = props.getFileProperty('zunit_userDebugSessionTestParm', buildFi // Evaluate if running in preview build mode if (!props.preview) { - - // Splitting the String into a StringArray using CC as the seperator - def jobRcStringArray = zUnitRunJCL.maxRC.split("CC") - - // This evals the number of items in the ARRAY! Dont get confused with the returnCode itself - if ( jobRcStringArray.length > 1 ){ - // Ok, the string can be splitted because it contains the keyword CC : Splitting by CC the second record contains the actual RC - rc = zUnitRunJCL.maxRC.split("CC")[1].toInteger() - - // manage processing the RC, up to your logic. You might want to flag the build as failed. - if (rc <= props.zunit_maxPassRC.toInteger()){ - println "*** zUnit Test Job ${zUnitRunJCL.submittedJobId} completed with $rc " - // Store Report in Workspace - new CopyToHFS().dataset(props.zunit_bzureportPDS).member(member).file(reportLogFile).hfsEncoding(props.logEncoding).append(false).copy() - // printReport - printReport(reportLogFile) - } else if (rc <= props.zunit_maxWarnRC.toInteger()){ - String warningMsg = "*! The zunit test returned a warning ($rc) for $buildFile" - // Store Report in Workspace - new CopyToHFS().dataset(props.zunit_bzureportPDS).member(member).file(reportLogFile).hfsEncoding(props.logEncoding).append(false).copy() - // print warning and report - println warningMsg - printReport(reportLogFile) - buildUtils.updateBuildResult(warningMsg:warningMsg,logs:["${member}_zunit.log":logFile]) - } else { // rc > props.zunit_maxWarnRC.toInteger() - props.error = "true" - String errorMsg = "*! The zunit test failed with RC=($rc) for $buildFile " - println(errorMsg) - buildUtils.updateBuildResult(errorMsg:errorMsg,logs:["${member}_zunit.log":logFile]) - } - } - else { - // We don't see the CC, assume an exception + // manage processing the RC, up to your logic. You might want to flag the build as failed. + if (rc <= props.tazunittest_maxPassRC.toInteger()){ + println "*** TAZ Unit Test job ${tazUnitTestRunJcl.submittedJobId} completed with $rc " + // Store Report in Workspace + new CopyToHFS().dataset(props.tazunittest_bzureportPDS).member(member).file(reportLogFile).copyMode(DBBConstants.CopyMode.valueOf("BINARY")).append(false).copy() + // printReport + printReport(reportLogFile) + } else if (rc <= props.tazunittest_maxWarnRC.toInteger()){ + String warningMsg = "*! TAZ Unit Test returned a warning ($rc) for $buildFile" + // Store Report in Workspace + new CopyToHFS().dataset(props.tazunittest_bzureportPDS).member(member).file(reportLogFile).copyMode(DBBConstants.CopyMode.valueOf("BINARY")).append(false).copy() + // print warning and report + println warningMsg + printReport(reportLogFile) + buildUtils.updateBuildResult(warningMsg:warningMsg,logs:["${member}_tazunittest.log":logFile]) + } else { // rc > props.tazunittest_maxWarnRC.toInteger() props.error = "true" - String errorMsg = "*! zUnit Test Job ${zUnitRunJCL.submittedJobId} failed with ${zUnitRunJCL.maxRC}" + String errorMsg = "*! TAZ Unit Test failed with RC=($rc) for $buildFile " println(errorMsg) - buildUtils.updateBuildResult(errorMsg:errorMsg,logs:["${member}_zunit.log":logFile]) + buildUtils.updateBuildResult(errorMsg:errorMsg,logs:["${member}_tazunittest.log":logFile]) } } else { // skip evaluating Unit tests result - if (props.verbose) println "*** Evaluation of zUnit test result skipped, because running in preview mode." + if (props.verbose) println "*** Evaluation of TAZ Unit Test result skipped, because running in preview mode." } } @@ -225,12 +206,12 @@ zunitDebugParm = props.getFileProperty('zunit_userDebugSessionTestParm', buildFi * returns the LogicalDependency of the playbackfile */ def getPlaybackFile(LogicalFile logicalFile) { - // find playback file dependency - LogicalDependency playbackDependency = logicalFile.getLogicalDependencies().find { - it.getLibrary() == "SYSPLAY" - } + // find playback file dependency + LogicalDependency playbackDependency = logicalFile.getLogicalDependencies().find { + it.getLibrary() == "SYSPLAY" + } return playbackDependency - } +} /** * Parsing the result file and prints summary of the result @@ -244,7 +225,6 @@ def printReport(File resultFile) { reportString = new FileInputStream(resultFile).getText("IBM-1047") try { - def runnerResult = new XmlParser().parseText(reportString) def testCase = runnerResult.testCase println "****************** Module ${testCase.@moduleName} ******************" @@ -257,7 +237,7 @@ def printReport(File resultFile) { } println "****************** Module ${testCase.@moduleName} ****************** \n" } catch (Exception e) { - print "! Reading zUnit result failed." + print "! Reading TAZ Unit Test result failed." } } diff --git a/samples/application-conf/README.md b/samples/application-conf/README.md index 83b2dffa5..3152dd3e6 100644 --- a/samples/application-conf/README.md +++ b/samples/application-conf/README.md @@ -275,20 +275,21 @@ acbgen_pgmParms | Default ACBgen parameters. | true acbgen_pgmMaxRC | Default ACBgen maximum RC allowed. | true acbgen_deployType | default deployType for build output | true -### ZunitConfig.properties -Application properties used by zAppBuild/language/ZunitConfig.groovy +### TazUnitTest.properties +Application properties used by zAppBuild/language/TazUnitTest.groovy Property | Description | Overridable --- | --- | --- -zunit_maxPassRC | Default zUnit maximum RC allowed for a Pass. | true -zunit_maxWarnRC | Default zUnit maximum RC allowed for a Warninig (everything beyond this value will Fail). | true -zunit_playbackFileExtension | Default zUnit Playback File Extension. | true -zunit_dependencySearch | Default zUnit dependencySearch configuration to configure the SearchPathDependencyResolver. Format is a concatenated string of searchPath configurations. Strings representing the SearchPaths defined in `application-conf/application.properties`. | true -zunit_bzuplayParms | Default options passed to the zUnit runner BZUPLAY | true -zunit_userDebugSessionTestParm | Debug Tool Test parameter to initiate the debug session | true -zunit_CodeCoverageHost | Headless Code Coverage Collector host (if not specified IDz will be used for reporting) | true -zunit_CodeCoveragePort | Headless Code Coverage Collector port (if not specified IDz will be used for reporting) | true -zunit_CodeCoverageOptions | Headless Code Coverage Collector Options | true +tazunittest_maxPassRC | Default zUnit maximum RC allowed for a Pass. | true +tazunittest_maxWarnRC | Default zUnit maximum RC allowed for a Warninig (everything beyond this value will Fail). | true +tazunittest_jobCard | Jobcard for TAZ Unit Test execution jobs | true +tazunittest_playbackFileExtension | Default zUnit Playback File Extension. | true +tazunittest_dependencySearch | Default zUnit dependencySearch configuration to configure the SearchPathDependencyResolver. Format is a concatenated string of searchPath configurations. Strings representing the SearchPaths defined in `application-conf/application.properties`. | true +tazunittest_eqaplayParms | Default options passed to the TAZ runner procedure EQAPPLAY | true +tazunittest_userDebugSessionTestParm | Debug Tool Test parameter to initiate the debug session | true +tazunittest_CodeCoverageHost | Headless Code Coverage Collector host (if not specified IDz will be used for reporting) | true +tazunittest_CodeCoveragePort | Headless Code Coverage Collector port (if not specified IDz will be used for reporting) | true +tazunittest_CodeCoverageOptions | Headless Code Coverage Collector Options | true ### CRB.properties Application properties used by zAppBuild/language/CRB.groovy diff --git a/samples/application-conf/TazUnitTest.properties b/samples/application-conf/TazUnitTest.properties new file mode 100755 index 000000000..02166f4a7 --- /dev/null +++ b/samples/application-conf/TazUnitTest.properties @@ -0,0 +1,41 @@ +# Application properties used by zAppBuild/language/TazUnitTest.groovy + +# default TAZ unit test maximum return codes +# can be overridden by file properties +tazunittest_maxPassRC=4 +tazunittest_maxWarnRC=8 + +# +# file extension of taz recording files +tazunittest_playbackFileExtension=rec + +# +# Job card, please use \n to indicate a line break and use \ to break the line in this property file +# Example: jobCard=//TAZTEST JOB ,MSGCLASS=H,CLASS=A,NOTIFY=&SYSUID,REGION=0M +tazunittest_jobCard=//TAZTEST JOB ,MSGCLASS=H,CLASS=A,NOTIFY=&SYSUID,REGION=0M + +# +# TAZ unit test dependencySearch configuration +# searchPath defined in application.properties +tazunittest_dependencySearch=${tazRecordingFileSearch} + +# +# Options passed to the EQAPPLAY procedure +# can be overridden by file properties +tazunittest_eqaplayParms=STOP=E,REPORT=XML + +# Code Coverage parameters +#tazunittest_CodeCoverageHost= +#tazunittest_CodeCoveragePort= + +# Code Coverage options for the Headless Collector +# As documented in: https://www.ibm.com/docs/en/developer-for-zos/17.0?topic=applications-specifying-code-coverage-options-in-startup-key +# Sample value - To generate PDF and SonarQube reports located in the build output directory, specify the value "e='CCPDF,CCSONARQUBE',o=${buildOutDir}" (without double quotes) +#tazunittest_CodeCoverageOptions= + +# +# Debug Tool Test parameter to initiate the debug session +# Default uses Debug Manager +# Example: Test Runtime Options: https://www.ibm.com/docs/en/developer-for-zos/15.0.0?topic=string-example-test-runtime-options +tazunittest_userDebugSessionTestParm=TEST(ERROR,,PROMPT,DBMDT:*) + diff --git a/samples/application-conf/ZunitConfig.properties b/samples/application-conf/ZunitConfig.properties deleted file mode 100755 index d3f129086..000000000 --- a/samples/application-conf/ZunitConfig.properties +++ /dev/null @@ -1,37 +0,0 @@ -# Application properties used by zAppBuild/language/ZunitConfig.groovy - -# default zUnit maximum RCs allowed -# can be overridden by file properties -zunit_maxPassRC=4 -zunit_maxWarnRC=8 - -# -# file extension of zunit playback files -zunit_playbackFileExtension=plbck - -# -# zUnit dependencySearch configuration -# searchPath defined in application.properties -zunit_dependencySearch=${zunitPlayfileSearch} - -# -# Options passed to the zUnit runner BZUPLAY -# https://www.ibm.com/docs/en/zvtp/2.0?topic=playback-setup-execution-parameters -# can be overridden by file properties -zunit_bzuplayParms=STOP=E,REPORT=XML - -# zUnit Code Coverage paramaters -#zunit_CodeCoverageHost= -#zunit_CodeCoveragePort= - -# zUnit Code Coverage options for the Headless Collector -# As documented in: https://www.ibm.com/support/knowledgecenter/en/SSQ2R2_15.0.0/com.ibm.debug.pdt.codecoverage.zpcl.doc/topics/tccstartup.html -# Sample value - To generate PDF and SonarQube reports located in the build output directory, specify the value "e='CCPDF,CCSONARQUBE',o=${buildOutDir}" (without double quotes) -#zunit_CodeCoverageOptions= - -# -# Debug Tool Test parameter to initiate the debug session -# Default uses Debug Manager -# Example: Test Runtime Options: https://www.ibm.com/docs/en/developer-for-zos/15.0.0?topic=string-example-test-runtime-options -zunit_userDebugSessionTestParm=TEST(ERROR,,PROMPT,DBMDT:*) - diff --git a/samples/application-conf/application.properties b/samples/application-conf/application.properties index 6f05ac364..e2f2519db 100644 --- a/samples/application-conf/application.properties +++ b/samples/application-conf/application.properties @@ -11,7 +11,7 @@ applicationPropFiles=file.properties,bind.properties,Assembler.properties,\ BMS.properties,Cobol.properties,LinkEdit.properties,bind.properties,\ PLI.properties,MFS.properties,PSBgen.properties,DBDgen.properties,\ -ACBgen.properties,REXX.properties,ZunitConfig.properties,\ +ACBgen.properties,REXX.properties,TazUnitTest.properties,\ Transfer.properties,CRB.properties,\ reports.properties,languageConfigurationMapping.properties @@ -28,7 +28,7 @@ LinkEdit.groovy,DBDgen.groovy,PSBgen.groovy,Transfer.groovy,CRB.groovy,zCEE2.gro # # Comma seperated list of the test script processing order -testOrder=ZunitConfig.groovy +testOrder=TazUnitTest.groovy # # Flag to log output in table views instead of printing raw JSON data @@ -126,7 +126,7 @@ resolveSubsystems=false # # this configuration is used when running zAppBuild with the --impactBuild option # to calculate impacted files based on the identified changed files -impactSearch=${copybookSearch}${pliincludeSearch}${bmsSearch}${linkSearch}${rexxCopySearch}${zunitTestConfigSearch}${zunitTestcasePgmSearch}${eztMacSearch} +impactSearch=${copybookSearch}${pliincludeSearch}${bmsSearch}${linkSearch}${rexxCopySearch}${tazTestConfigSearch}${tazTestcasePgmSearch}${eztMacSearch} # # copybookSearch @@ -205,23 +205,23 @@ rexxCopySearch = search:[SYSLIB:COPY]${workspace}/?path=${application}/rexx/*.re # linkSearch = search:[:LINK]${workspace}/?path=${application}/cobol/*.cbl -# zunitTestConfigSearch -# searchPath to locate zunit config files +# tazTestConfigSearch +# searchPath to locate TAZ test configuration files # used in impact analysis -zunitTestConfigSearch = search:[:ZUNITINC]${workspace}/?path=${application}/cobol/*.cbl;${application}/pli/*.pli;${application}/testcase/*.cbl;${application}/testcase/*.pli +tazTestConfigSearch = search:[:ZUNITINC]${workspace}/?path=${application}/cobol/*.cbl;${application}/pli/*.pli;${application}/tests/*.cbl;${application}/tests/*.pli # -# zunitPlayfileSearch -# searchPath to locate zunit playback files +# tazRecordingFileSearch +# searchPath to locate TAZ recording files # used in dependency resolution -zunitPlayfileSearch = search:[SYSPLAY:]${workspace}/?path=${application}/testplayfiles/*.bzuplay +tazRecordingFileSearch = search:[SYSPLAY:]${workspace}/?path=${application}/tests/*.rec # -# zunitTestcasePgmSearch +# tazTestcasePgmSearch # searchPath to locate impacted test case programs # see also build-conf/build.properties -> createTestcaseDependency # used in impact analysis -zunitTestcasePgmSearch = search:[SYSPROG:PROGRAMDEPENDENCY]${workspace}/?path=${application}/cobol/*.cbl;${application}/pli/*.pli +tazTestcasePgmSearch = search:[SYSPROG:PROGRAMDEPENDENCY]${workspace}/?path=${application}/cobol/*.cbl;${application}/pli/*.pli # # eztMacSearch diff --git a/samples/application-conf/file.properties b/samples/application-conf/file.properties index 9f97db784..8086c063e 100644 --- a/samples/application-conf/file.properties +++ b/samples/application-conf/file.properties @@ -11,7 +11,7 @@ dbb.scriptMapping = Cobol.groovy :: **/*.cbl dbb.scriptMapping = LinkEdit.groovy :: **/*.lnk dbb.scriptMapping = PLI.groovy :: **/*.pli dbb.scriptMapping = Easytrieve.groovy :: **/*.ezt -dbb.scriptMapping = ZunitConfig.groovy :: **/*.bzucfg +dbb.scriptMapping = TazUnitTest.groovy :: **/*.bzucfg dbb.scriptMapping = Transfer.groovy :: **/*.jcl, **/*.xml dbb.scriptMapping = zCEE3.groovy :: **/openapi.yaml dbb.scriptMapping = CRB.groovy :: **/crb/*.yaml @@ -126,17 +126,17 @@ isIMS = true :: **/cobol/DLIBATCH.cbl ######### -# zUnit Integration +# TAZ Unit Test Integration ######### # # file mapping for generated zUnit Test case programs (Cobol) to use a seperate set of libraries -# cobol_testcase = true :: **/testcase/*.cbl +# cobol_testcase = true :: **/tests/*.cbl # file mapping for generated zUnit Test case programs (PL/I) to use a seperate set of libraries -# pli_testcase = true :: **/testcase/*.pli +# pli_testcase = true :: **/tests/*.pli # skip creating IDENTIFY binder control card statement for generated zunit test cases -# cobol_identifyLoad=false **/testcase/*.cbl, **/testcase/*.pli +# cobol_identifyLoad=false **/tests/*.cbl, **/tests/*.pli # mapping for overwriting the impactResolution rules in application.properties # impactResolutionRules=[${copybookRule},${linkRule}] :: **/copy/*.cpy,**/cobol/*.cbl diff --git a/test/README.md b/test/README.md index befef217b..0c98ed39a 100644 --- a/test/README.md +++ b/test/README.md @@ -163,7 +163,7 @@ OUTPUT STREAM: ** Loading property file /ZT01/var/jenkins/workspace/dbb-zappbuild-testframework-withParms/build-conf/LinkEdit.properties ** Loading property file /ZT01/var/jenkins/workspace/dbb-zappbuild-testframework-withParms/build-conf/PLI.properties ** Loading property file /ZT01/var/jenkins/workspace/dbb-zappbuild-testframework-withParms/build-conf/REXX.properties -** Loading property file /ZT01/var/jenkins/workspace/dbb-zappbuild-testframework-withParms/build-conf/ZunitConfig.properties +** Loading property file /ZT01/var/jenkins/workspace/dbb-zappbuild-testframework-withParms/build-conf/TazUnitTest.properties ** Loading property file /ZT01/var/jenkins/workspace/dbb-zappbuild-testframework-withParms/build-conf/Transfer.properties ** Loading property file /ZT01/var/jenkins/workspace/dbb-zappbuild-testframework-withParms/build-conf/defaultzAppBuildConf.properties ** appConf = /ZT01/var/jenkins/workspace/dbb-zappbuild-testframework-withParms/samples/MortgageApplication/application-conf diff --git a/test/applications/HelloWorld/application-conf/application.properties b/test/applications/HelloWorld/application-conf/application.properties index d20f7163a..d049932c2 100644 --- a/test/applications/HelloWorld/application-conf/application.properties +++ b/test/applications/HelloWorld/application-conf/application.properties @@ -22,7 +22,7 @@ buildOrder=BMS.groovy,MFS.groovy,Cobol.groovy,Assembler.groovy,PLI.groovy,LinkEd # # Comma seperated list of the test script processing order -testOrder=ZunitConfig.groovy +testOrder=TazUnitTest.groovy # # Flag to log output in table views instead of printing raw JSON data @@ -185,13 +185,13 @@ linkSearch = search:[:LINK]${workspace}/?path=${application}/cobol/*.cbl # zunitTestConfigSearch # searchPath to locate zunit config files # used in impact analysis -zunitTestConfigSearch = search:[:ZUNITINC]${workspace}/?path=${application}/cobol/*.cbl;${application}/pli/*.pli;${application}/testcase/*.cbl;${application}/testcase/*.pli +zunitTestConfigSearch = search:[:ZUNITINC]${workspace}/?path=${application}/cobol/*.cbl;${application}/pli/*.pli;${application}/tests/*.cbl;${application}/tests/*.pli # -# zunitPlayfileSearch +# tazRecordingFileSearch # searchPath to locate zunit playback files # used in dependency resolution -zunitPlayfileSearch = search:[SYSPLAY:]${workspace}/?path=${application}/testplayfiles/*.bzuplay +tazRecordingFileSearch = search:[SYSPLAY:]${workspace}/?path=${application}/tests/*.rec # # zunitTestcasePgmSearch diff --git a/test/applications/HelloWorld/application-conf/file.properties b/test/applications/HelloWorld/application-conf/file.properties index a2fc2cfa8..377f97cbb 100644 --- a/test/applications/HelloWorld/application-conf/file.properties +++ b/test/applications/HelloWorld/application-conf/file.properties @@ -10,7 +10,7 @@ dbb.scriptMapping = DBDgen.groovy :: **/dbd/*.asm dbb.scriptMapping = Cobol.groovy :: **/*.cbl dbb.scriptMapping = LinkEdit.groovy :: **/*.lnk dbb.scriptMapping = PLI.groovy :: **/*.pli -dbb.scriptMapping = ZunitConfig.groovy :: **/*.bzucfg +dbb.scriptMapping = TazUnitTest.groovy :: **/*.bzucfg dbb.scriptMapping = Transfer.groovy :: **/*.jcl, **/*.xml # diff --git a/utilities/BuildUtilities.groovy b/utilities/BuildUtilities.groovy index e6d2de1e6..b19101d9f 100644 --- a/utilities/BuildUtilities.groovy +++ b/utilities/BuildUtilities.groovy @@ -146,12 +146,12 @@ def copySourceFiles(String buildFile, String srcPDS, String dependencyDatasetMap copiedFileCache.add(dependencyLoc) // create member name String memberName = CopyToPDS.createMemberName(dependencyPath) - // retrieve zUnit playback file extension - zunitFileExtension = (props.zunit_playbackFileExtension) ? props.zunit_playbackFileExtension : null + // retrieve TAZ recording file extension + tazRecordingFileExtension = (props.tazunittest_playbackFileExtension) ? props.tazunittest_playbackFileExtension : null // get index of last '.' in file path to extract the file extension def extIndex = dependencyLoc.lastIndexOf('.') try { - if( zunitFileExtension && !zunitFileExtension.isEmpty() && (dependencyLoc.substring(extIndex).contains(zunitFileExtension))){ + if( tazRecordingFileExtension && !tazRecordingFileExtension.isEmpty() && (dependencyLoc.substring(extIndex).contains(tazRecordingFileExtension))){ new CopyToPDS().file(new File(dependencyLoc)) .copyMode(CopyMode.BINARY) .dataset(dependencyPDS) @@ -215,10 +215,10 @@ def copySourceFiles(String buildFile, String srcPDS, String dependencyDatasetMap copiedFileCache.add(physicalDependencyLoc) // create member name String memberName = CopyToPDS.createMemberName(physicalDependency.getFile()) - //retrieve zUnitFileExtension plbck - zunitFileExtension = (props.zunit_playbackFileExtension) ? props.zunit_playbackFileExtension : null + //retrieve Taz Recording file + tazRecordingFileExtension = (props.tazunittest_playbackFileExtension) ? props.tazunittest_playbackFileExtension : null try { - if( zunitFileExtension && !zunitFileExtension.isEmpty() && ((physicalDependency.getFile().substring(physicalDependency.getFile().indexOf("."))).contains(zunitFileExtension))){ + if( tazRecordingFileExtension && !tazRecordingFileExtension.isEmpty() && ((physicalDependency.getFile().substring(physicalDependency.getFile().indexOf("."))).contains(tazRecordingFileExtension))){ new CopyToPDS().file(new File(physicalDependencyLoc)) .copyMode(CopyMode.BINARY) .dataset(dependencyPDS) @@ -1009,12 +1009,12 @@ def loadBuildProperties(String propertyFile) { } /** - * Validates if a buildFile is a zUnit generated test case program + * Validates if a buildFile is a TAZ generated test harness program * * returns true / false * */ -def isGeneratedzUnitTestCaseProgram(String buildFile) { +def isGeneratedTazTestCaseProgram(String buildFile) { if (props.getFileProperty('cobol_testcase', buildFile).equals('true') || props.getFileProperty('pli_testcase', buildFile).equals('true')) { return true } diff --git a/utilities/README.md b/utilities/README.md index a6c045229..ac3aa5a61 100644 --- a/utilities/README.md +++ b/utilities/README.md @@ -61,6 +61,6 @@ groovyz /u/ibmuser/zAppBuild/utilities/DatasetValidationUtilities.groovy -d /var ** The dataset DEBUG.V14R1.SEQAMOD referenced for property SEQAMOD was found. ** The dataset DBC0CFG.SDSNEXIT referenced for property SDSNEXIT was found. ** The dataset IMS.V15R1.SDFSRESL referenced for property SDFSRESL was found. -** The dataset RATCFG.ZUNIT.SBZUSAMP referenced for property SBZUSAMP was found. +** The dataset RATCFG.ZUNIT.SEQASAMP referenced for property SEQASAMP was found. ** The dataset CEE.SCEELKED referenced for property SCEELKED was found. ```