Disk Space Requirements
Test4z can be used in two main ways:
- From your workstation using Test4z CLI
- On z/OS, via JCL with batch programs ZESTRUN and ZTESTEXE
For #1, a zFS file system is required to store files (typically tests and test data and testing results) that are copied from your workstation to z/OS.
For both #1 and #2, the following is needed:
- Test4z runtime load library (CT4ZLOAD) and Test4z COBOL API copybooks (CT4ZCOPY)
- Load library for tests and working data sets (ZLDATA, ZLCOVER)
The Test4z runtime can be deployed by the Test4z CLI in two ways:
- Automatically as a part of your project workspace
- This is the easiest way to deploy the runtime libraries without manual effort that makes sure that the correct version of the runtime is used
- But it is connected with additional overhead because every project has its own copy
- Manually and shared by multiple projects
- In this case the runtime gets installed by:
- SMP/E
- Test4z CLI: t4z deploy-runtime <test4z-runtime-hlq>
- The value of <test4z-runtime-hlq> is added to test4z.project.config.json or test4z.user.config.json for each user:
"test4zRuntimeHlq": "<test4z-runtime-hlq>",
- This saves space since there is only one copy of the runtime
- It adds complexity because upgrades need reconfiguration since the versions of the runtime and CLI need to match
- This is recommended for roll out of Test4z to higher number of users or disk space constrained environments
zFS Requirements
The recommended initial allocation of the zFS file system used for a Test4z workspace is at least 200 cylinders for both primary and secondary allocation.
It is recommended to mount the file system with the PARM('AGGRGROW') of the MOUNT command or “-o AGGRGROW” option of the mount command in z/OS UNIX system services. This will ensure that your file system will be automatically resized when more space is needed as your project grows.
What are the requirements:
- Sample project with automatically deployed Test4z runtime: peak usage of the zFS is almost 140 MB
- Sample project with shared Test4z runtime: peak usage is 50 MB
- Deployment of Test4z runtime (zFS is required for the deployment operation): peak usage is 120 MB
Data Set Space Requirements
The following amount of space is needed on z/OS for data sets needed for Test4z:
- Test4z Runtime - 750 tracks
- Test4z CLI workspace data sets (allocated by the CLI under testHlq) - 210 tracks
- zFS (default allocation 200 cylinders) - 4275 tracks
Saving Disk Space
Disk space on zFS can be saved by reducing information in listings of the binder and COBOL compiler in test4z.project.config.json:
"bindOptions": [
"NOLIST",
"LET",
"REUS(RENT)",
"AMODE=31",
"RMODE=ANY"
],
"cobolOptions": [
"TERM",
"NOLIST",
"RENT",
"APOST",
"TEST"
]
Notes (for Broadcom)
Useful commands for measurement
Cleanup the workspace: rm -rf * .*
Measure peak disk usage: while true; do df -m . | grep '/' | awk '{print $3}'; sleep 1; done
Disk usage breakdown: du -kt
Can we save more?
- 20 MB by sharing the bldz binary
- No easy since we need exact version of bldz (we cannot use some version that is out there)
- We would need to distribute required bldz via SMP/E (as a UNIX binary) and add its path to configuration
- For automatic deployment - 50 MB after deployment is finished (will not affect peak usage) by removing intermediary files created by Team Build (is possible, might be automatically recreated by Team Build)