Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ZWE Integration Test Framework #3844

Open
wants to merge 58 commits into
base: user/markackert/feat-v3-jcl-rebase
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
baff6f4
test skeleton
MarkAckert May 8, 2024
9512ec4
add gitignores
MarkAckert May 17, 2024
7a1cf2b
Test initialization - vsam
MarkAckert May 17, 2024
5c376df
cleanup lib folder
MarkAckert May 17, 2024
977aaae
improvements to spool collection, dataset management
MarkAckert May 22, 2024
9d7fc5f
checkpoint; apfauth test issues
MarkAckert May 24, 2024
3e542a3
Merge branch 'feature/v3/jcl' into user/markackert/zwe-tests
MarkAckert May 24, 2024
340e977
add defaults.yaml to system setup, adjust class names..
MarkAckert May 24, 2024
3fb88b4
refactors and github action setup
MarkAckert May 31, 2024
e2d242f
Merge branch 'feature/v3/jcl' into user/markackert/zwe-tests
MarkAckert May 31, 2024
55c9f1e
class name fix, matrix update
MarkAckert May 31, 2024
8e016a7
update zoweyamltype with new schema
MarkAckert May 31, 2024
7679de3
Merge branch 'feature/v3/jcl' into user/markackert/zwe-tests
MarkAckert Jun 4, 2024
0e7ec70
Merge branch 'feature/v3/jcl' into user/markackert/zwe-tests
MarkAckert Jun 7, 2024
22d55be
checkpoint
MarkAckert Jun 20, 2024
87e6a05
Merge branch 'feature/v3/jcl' into user/markackert/zwe-tests
MarkAckert Jun 20, 2024
5c37c0b
checkpoint - wip
MarkAckert Jul 2, 2024
862aac5
small refactors, more vsam tests
MarkAckert Jul 3, 2024
e2369e3
Merge branch 'feature/v3/jcl' into user/markackert/zwe-tests
MarkAckert Jul 10, 2024
58c93eb
checkpoint: performance, stc tests, vsam tests, apf tests, runner imp…
MarkAckert Jul 12, 2024
a73fabc
lock in stc tests
MarkAckert Jul 17, 2024
0f7c2cc
lock in apf snapshot
MarkAckert Jul 17, 2024
f6644b0
add defensive cfg re-init on beforeAll
MarkAckert Jul 17, 2024
fa91c95
lock vsam snapshot
MarkAckert Jul 17, 2024
54983c3
checkpoint changes - new/updated tests, updated test runner capabilities
MarkAckert Dec 9, 2024
7ccd278
Merge branch 'user/markackert/feat-v3-jcl-rebase' into user/markacker…
MarkAckert Dec 11, 2024
c3d09b2
fix setup error, update vsam snaps, allow on-disk zowe yamls in tests…
MarkAckert Dec 13, 2024
e1233f1
backend systems with an AUTOCVT option enabled and zopen bash may inc…
MarkAckert Dec 13, 2024
4d434f8
re-order masking rules
MarkAckert Dec 13, 2024
7e5f873
catch shorter zweenv tmp numbers
MarkAckert Dec 16, 2024
7441b8b
update all test suites, various bugfixes, "init certificate" read_yam…
MarkAckert Jan 23, 2025
03e32c0
update zwe test workflow
MarkAckert Jan 23, 2025
b7f1004
update test server options
MarkAckert Jan 23, 2025
192974f
remove unnecessary set test vars step
MarkAckert Jan 23, 2025
3c7e12f
fix test input vars
MarkAckert Jan 23, 2025
76f6fca
bring set-test-vars back and fix output access
MarkAckert Jan 23, 2025
96da556
set-test-vars output reading
MarkAckert Jan 23, 2025
5941467
collapse test-vars into a single step
MarkAckert Jan 23, 2025
af72042
update step name
MarkAckert Jan 23, 2025
2d4b610
fix set-test condition
MarkAckert Jan 23, 2025
38959ed
lock in package versions, update matrix test
MarkAckert Jan 23, 2025
f93c567
fix lint error
MarkAckert Jan 23, 2025
443be71
add permission for lock acquisition
MarkAckert Jan 23, 2025
68445d2
more updates to test triggers
MarkAckert Jan 23, 2025
990dd2e
fix config yaml location
MarkAckert Jan 23, 2025
1e7626b
add zosmf port as an input secret
MarkAckert Jan 24, 2025
56c65b2
add jfrog_user
MarkAckert Jan 24, 2025
bb876fe
update jfrog creds
MarkAckert Jan 24, 2025
40f3c42
clarify log message
MarkAckert Jan 24, 2025
7165f14
cover acf systems
MarkAckert Jan 27, 2025
6fb674c
fix up README some
MarkAckert Feb 6, 2025
cf633ee
cross-platform updates, cert snapshot update, readme update, yaml tem…
MarkAckert Feb 7, 2025
535e546
update snapshot
MarkAckert Feb 7, 2025
f1db404
Merge branch 'user/markackert/feat-v3-jcl-rebase' into user/markacker…
MarkAckert Feb 7, 2025
bcf1891
Merge branch 'user/markackert/feat-v3-jcl-rebase' into user/markacker…
MarkAckert Feb 7, 2025
18ba9e2
Merge branch 'user/markackert/feat-v3-jcl-rebase' into user/markacker…
MarkAckert Feb 11, 2025
3d371bb
Merge branch 'user/markackert/feat-v3-jcl-rebase' into user/markacker…
MarkAckert Feb 11, 2025
7f66c1d
updated generate tests for jcl headers
MarkAckert Feb 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .github/scripts/cicd_test/make_matrix.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@

case $install_test_choice in

"ZWE_CI_Build")
test_file="ZWE_CI_Build"
;;
"ZWE_Full_Tests")
test_file="ZWE_Full_Tests"
;;
"Convenience Pax")
test_file="$CONVENIENCE_PAX_TESTFILE"
;;
Expand Down
207 changes: 207 additions & 0 deletions .github/workflows/zwe-integration-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,207 @@
name: Zwe Remote Integration Tests

permissions:
contents: write

on:
pull_request:
types: [opened, synchronize]
workflow_dispatch:
inputs:
test-server:
description: 'Choose Test Server'
type: choice
required: true
default: 'Any zzow servers'
options:
- Any zzow servers
- zzow09
- zzow10
- zzow11
- zzow09,zzow10,zzow11
zwe-test:
description: 'Choose Zwe Test'
type: choice
required: true
default: ZWE_CI_Build
options:
- ZWE_CI_Build
- ZWE_Full_Tests
RANDOM_DISPATCH_EVENT_ID:
description: 'random dispatch event id'
required: false
type: string

# create a new branch to overwrite following defaults if necessary
env:
# constants
ZWE_TEST_PATH: tests/zwe-remote-integration

jobs:
display-dispatch-event-id:
if: github.event.inputs.RANDOM_DISPATCH_EVENT_ID != ''
runs-on: ubuntu-latest
steps:
- name: RANDOM_DISPATCH_EVENT_ID is ${{ github.event.inputs.RANDOM_DISPATCH_EVENT_ID }}
run: echo "prints random dispatch event id sent from workflow dispatch event"

# necessary for pull_requests without a caller issuing a workflow_dispatch
set-test-vars:
runs-on: ubuntu-latest
outputs:
test-suite: ${{ steps.set-test-vars.outputs.test-suite }}
test-server: ${{ steps.set-test-vars.outputs.test-server }}
steps:
- name: 'Set Test Vars'
id: set-test-vars
run: |
if [[ ${{ github.event_name }} == 'workflow_dispatch' ]]; then
echo "test-suite=${{ github.event.inputs.zwe-test }}" >> $GITHUB_OUTPUT
echo "test-server=${{ github.event.inputs.test-server }}" >> $GITHUB_OUTPUT
else
echo "test-suite=ZWE_CI_Build" >> $GITHUB_OUTPUT
echo "test-server=Any zzow servers" >> $GITHUB_OUTPUT
fi

check-permission:
runs-on: ubuntu-latest
steps:
# this action will fail the whole workflow if permission check fails
- name: check permission
uses: zowe-actions/shared-actions/permission-check@main
with:
github-token: ${{ secrets.GITHUB_TOKEN }}

make-matrix:
runs-on: ubuntu-latest
needs: [set-test-vars, check-permission]
steps:
- name: '[Prep 1] Checkout'
uses: actions/checkout@v2

- name: Make matrix
id: set-matrix
run: |
cd .github/scripts/cicd_test
chmod +x make_matrix.sh
source make_matrix.sh
env:
test_server: ${{ needs.set-test-vars.outputs.test-server }}
install_test_choice: ${{ needs.set-test-vars.outputs.test-suite }}
outputs:
matrix: ${{ steps.set-matrix.outputs.matrix }}

cicd-test:
runs-on: ubuntu-latest
needs: make-matrix
strategy:
matrix: ${{ fromJson(needs.make-matrix.outputs.matrix) }}
fail-fast: false
environment: ${{ matrix.server }}
steps:
- name: '[Prep 1] Checkout'
uses: actions/checkout@v4

- name: '[Prep 2] Setup Node'
uses: actions/setup-node@v4
with:
node-version: '20'

- name: '[Prep 3] Cache node modules'
uses: actions/cache@v4
with:
# npm cache files are stored in `~/.npm` on Linux/macOS
path: |
~/.npm
~/.nvm/.cache
~/.nvm/versions
key: ${{ runner.os }}-build-cache-node-modules-${{ hashFiles('tests/installation/package-lock.json') }}
restore-keys: |
${{ runner.os }}-build-cache-node-modules-

- name: '[Prep 4] Setup jFrog CLI'
uses: jfrog/setup-jfrog-cli@v2
env:
JF_ENV_1: ${{ secrets.JF_ARTIFACTORY_TOKEN }}

- name: '[Prep 5] Validate package.json'
uses: zowe-actions/shared-actions/validate-package-json@main

- name: '[Prep 6] Prepare workflow'
uses: zowe-actions/shared-actions/prepare-workflow@main

- name: '[Setup 1] Test Project Dependencies'
working-directory: ${{ env.ZWE_TEST_PATH }}
run: |
npm ci

# Error on this step is likely a schema mismatch. See test README
- name: '[Setup 2] Test Project Build'
working-directory: ${{ env.ZWE_TEST_PATH }}
run: |
npm run build

- name: '[Lint 1] Lint 1'
timeout-minutes: 2
working-directory: ${{ env.ZWE_TEST_PATH }}
run: |
npm run lint

- name: '[LOCK] Lock marist servers'
uses: zowe-actions/shared-actions/lock-resource@main
with:
lock-repository: ${{ github.repository }}
github-token: ${{ secrets.GITHUB_TOKEN }}
lock-resource-name: zowe-zwe-system-test-${{ matrix.server }}-lock
lock-avg-retry-interval: 60

- name: '[Pre-Test] Prepare configuration YAML'
working-directory: ${{ env.ZWE_TEST_PATH }}
run: echo "$ZWE_INTEGRATION_YAML" > config.yaml
shell: bash
env:
ZWE_INTEGRATION_YAML: ${{ secrets.ZWE_INTEGRATION_YAML }}

- name: '[Test] CI Test Suite'
if: ${{ matrix.test == 'ZWE_CI_Build' }}
timeout-minutes: 180
working-directory: ${{ env.ZWE_TEST_PATH }}
run: npm run test:ci
env:
TEST_CONFIG_FILE: config.yaml
ZOS_HOST: ${{ secrets.SSH_HOST }}
ZOS_USER: ${{ secrets.SSH_USER }}
ZOS_PASSWORD: ${{ secrets.SSH_PASSWORD }}
ZOSMF_PORT: ${{ secrets.ZOSMF_PORT }}
SSH_PORT: ${{ secrets.SSH_PORT }}
JFROG_USER: ${{ secrets.ZWE_TEST_RT_USER }}
JFROG_TOKEN: ${{ secrets.ZWE_TEST_RT_TOKEN }}

- name: '[Test] Extended Test Suite'
if: ${{ matrix.test == 'ZWE_Full_Tests' }}
timeout-minutes: 180
working-directory: ${{ env.ZWE_TEST_PATH }}
run: npm run test:extended
env:
TEST_CONFIG_FILE: ${{ env.ZWE_TEST_PATH }}/config.yaml
ZOS_HOST: ${{ secrets.SSH_HOST }}
ZOS_USER: ${{ secrets.SSH_USER }}
ZOS_PASSWORD: ${{ secrets.SSH_PASSWORD }}
ZOSMF_PORT: ${{ secrets.ZOSMF_PORT }}
SSH_PORT: ${{ secrets.SSH_PORT }}
JFROG_USER: ${{ secrets.ZWE_TEST_RT_USER }}
JFROG_TOKEN: ${{ secrets.ZWE_TEST_RT_TOKEN }}

- name: '[After Test 1] Prepare to upload test report'
if: always()
working-directory: ${{ env.ZWE_TEST_PATH }}
run: |
echo CURRENT_TIME=$(date +%s) >> $GITHUB_ENV
echo TEST_NAME=$(echo "${{ matrix.test }}" | sed 's#.*\/##g') >> $GITHUB_ENV

- name: '[After Test 2] Upload test report'
if: always()
uses: actions/upload-artifact@v4
with:
name: ZweTestReports-${{ env.TEST_NAME }}-${{ matrix.server }}-${{ github.run_id }}-${{ env.CURRENT_TIME }}
path: ${{ env.ZWE_TEST_PATH }}/reports/
1 change: 1 addition & 0 deletions bin/commands/init/apfauth/.errors
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
ZWEL0157E|157|%s (%s) is not defined in Zowe YAML configuration file.
ZWEL0319E|319|zowe.setup.dataset.jcllib does not exist, cannot run. Run 'zwe init', 'zwe init generate', or submit JCL ${prefix}.SZWESAMP(ZWEGENER) before running this command.
ZWEL0320E|320|The dataset specified in '%s' does not exist.
36 changes: 18 additions & 18 deletions bin/commands/init/certificate/index.sh
Original file line number Diff line number Diff line change
Expand Up @@ -79,10 +79,10 @@ if [ "${cert_type}" = "PKCS12" ]; then
print_error_and_exit "Error ZWEL0157E: Keystore directory (zowe.setup.certificate.pkcs12.directory) is not defined in Zowe YAML configuration file." "" 157
fi
# read keystore import info
pkcs12_import_keystore=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.pkcs12.import.keystore")
pkcs12_import_keystore=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.pkcs12.import.keystore")

else # JCE* content
security_product=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.product")
security_product=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.product")
keyring_option=1
# read keyring info
# TODO removed "owner" here because it wasnt being read in the JCL.
Expand All @@ -101,15 +101,15 @@ else # JCE* content
keyring_import_password=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.import.password")
if [ -n "${keyring_import_dsName}" ]; then
keyring_option=3
keyring_import_password=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.import.password")
keyring_import_password=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.import.password")
if [ -z "${keyring_import_password}" ]; then
print_error_and_exit "Error ZWEL0157E: The password for data set storing importing certificate (zowe.setup.certificate.keyring.import.password) is not defined in Zowe YAML configuration file." "" 157
fi
else
keyring_connect_label=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.connect.label")
keyring_connect_label=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.connect.label")
if [ -n "${keyring_connect_label}" ]; then
keyring_option=2
keyring_connect_user=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.connect.user")
keyring_connect_user=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.connect.user")
if [ -z "${keyring_connect_user}" ]; then
print_error_and_exit "Error ZWEL0157E: (zowe.setup.certificate.keyring.connect.user) is not defined in Zowe YAML configuration file." "" 157
fi
Expand All @@ -119,13 +119,13 @@ else # JCE* content
if [ "${keyring_option}" -eq 1 ]; then
# validate parameters only needed for creation of certificate
for item in caCommonName commonName orgUnit org locality state country; do
var_val=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.dname.${item}")
var_val=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.dname.${item}")
if [ -z "${var_val}" ]; then
print_error_and_exit "Error ZWEL0157E: Certificate creation parameter (zowe.setup.certificate.dname.${item}) is not defined in Zowe YAML configuration file." "" 157
fi
done
# read cert validity
cert_validity=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.validity")
cert_validity=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.validity")
if [ -z "${cert_validity}" ]; then
print_error_and_exit "Error ZWEL0157E: Certificate creation parameter (zowe.setup.certificate.validity) is not defined in Zowe YAML configuration file." "" 157
fi
Expand All @@ -135,7 +135,7 @@ else # JCE* content
# read keyring-specific z/OSMF info
for item in user ca; do
var_name="zosmf_${item}"
var_val=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.zOSMF.${item}")
var_val=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.keyring.zOSMF.${item}")
eval "${var_name}=\"${var_val}\""
done
fi
Expand Down Expand Up @@ -178,8 +178,8 @@ if [ "${cert_type}" = "PKCS12" ]; then
fi

if [ "$(lower_case "${pkcs12_lock}")" = "true" ]; then
security_users_zowe=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.users.zowe")
security_groups_admin=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.groups.admin")
security_users_zowe=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.users.zowe")
security_groups_admin=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.groups.admin")
if [ -z "${security_users_zowe}" ]; then
security_users_zowe=${ZWE_PRIVATE_DEFAULT_ZOWE_USER}
fi
Expand All @@ -191,7 +191,7 @@ else # JCE* content
if [ -z "${security_product}" ]; then
print_error_and_exit "Error ZWEL0157E: (zowe.setup.security.product) is not defined in Zowe YAML configuration file." "" 157
fi
security_users_zowe=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.users.zowe")
security_users_zowe=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.users.zowe")
if [ -z "${security_users_zowe}" ]; then
print_error_and_exit "Error ZWEL0157E: (zowe.setup.security.users.zowe) is not defined in Zowe YAML configuration file." "" 157
fi
Expand All @@ -211,7 +211,7 @@ else # JCE* content
fi
fi
if [ "${security_product}" = "ACF2" ]; then
security_groups_stc=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.groups.stc")
security_groups_stc=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.security.groups.stc")
if [ -z "${security_groups_stc}" ]; then
print_error_and_exit "Error ZWEL0157E: (zowe.setup.security.groups.stc) is not defined in Zowe YAML configuration file." "" 157
fi
Expand All @@ -230,11 +230,11 @@ if [ "${cert_type}" = "PKCS12" ]; then
yaml_pem_cas=

if [ -n "${pkcs12_import_keystore}" ]; then
pkcs12_import_password=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.pkcs12.import.password")
pkcs12_import_password=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.pkcs12.import.password")
if [ -z "${pkcs12_import_password}" ]; then
print_error_and_exit "Error ZWEL0157E: Password for import keystore (zowe.setup.certificate.pkcs12.import.password) is not defined in Zowe YAML configuration file." "" 157
fi
pkcs12_import_alias=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.pkcs12.import.alias")
pkcs12_import_alias=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.pkcs12.import.alias")
if [ -z "${pkcs12_import_alias}" ]; then
print_error_and_exit "Error ZWEL0157E: Certificate alias of import keystore (zowe.setup.certificate.pkcs12.import.alias) is not defined in Zowe YAML configuration file." "" 157
fi
Expand All @@ -252,14 +252,14 @@ if [ "${cert_type}" = "PKCS12" ]; then
# cert to be created, read creation parameters.
for item in caCommonName commonName orgUnit org locality state country; do
var_name="dname_${item}"
var_val=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.dname.${item}")
var_val=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.dname.${item}")
eval "${var_name}=\"${var_val}\""
done
# read cert validity
cert_validity=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.validity")
cert_validity=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.validity")

pkcs12_caPassword=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.pkcs12.caPassword")
pkcs12_caAlias=$(read_yaml "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.pkcs12.caAlias")
pkcs12_caPassword=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.pkcs12.caPassword")
pkcs12_caAlias=$(read_yaml_configmgr "${ZWE_CLI_PARAMETER_CONFIG}" ".zowe.setup.certificate.pkcs12.caAlias")
pkcs12_caAlias_lc=$(echo "${pkcs12_caAlias}" | lower_case)

# create CA
Expand Down
2 changes: 1 addition & 1 deletion bin/commands/init/generate/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ export function execute(dryRun?: boolean) {
if (!jclPostProcessing) {
os.remove(tempFile);
}
common.printMessage(`Job completed with RC=${result.rc}`);
common.printMessage(`Job ZWEGENER(${jobid}) completed with RC=${result.rc}`);
if (result.rc == 0) {
let jobHeaderResult = 0;
if (jclHeaderJoined != '') {
Expand Down
2 changes: 2 additions & 0 deletions bin/libs/zos-jes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -239,6 +239,8 @@ export function printAndHandleJcl(jclLocationOrContent: string, jobName: string,
}
if (jobHasFailures) {
common.printLevel2Message(`Job ended with some failures. Please check job log for details.`);
} else {
common.printMessage(`Job ${jobname}(${jobId}) completed with RC=${rc}`)
}
return 0
} else {
Expand Down
2 changes: 1 addition & 1 deletion bin/libs/zos.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import * as zos from 'zos';


export function tsoCommand(...args:string[]): { rc: number, out: string } {
let message = "tsocmd " + '"' + args.join(' ') + '"';
let message = "tsocmd " + '"' + args.join(' ') + '" < /dev/null';
common.printDebug('- '+message);
//we echo at the end to avoid a configmgr quirk where trying to read stdout when empty can hang waiting for bytes
const result = shell.execOutSync('sh', '-c', `${message} 2>&1 && echo '.'`);
Expand Down
6 changes: 3 additions & 3 deletions build/zwe/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion schemas/server-common.json
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@
"minLength": 1,
"maxLength": 32
},
"path": {
"optionalPath": {
"$anchor": "zoweOptionalPath",
"type": "string",
"minLength": 0,
Expand Down
Loading
Loading