| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -93,6 +93,8 @@ const { | |||
| 93 | 93 | ||
| 94 | 94 | const MAX_BUFFER = 1024 * 1024; | |
| 95 | 95 | ||
| 96 | + const isZOS = process.platform === 'os390'; | ||
| 97 | + | ||
| 96 | 98 | /** | |
| 97 | 99 | * Spawns a new Node.js process + fork. | |
| 98 | 100 | * @param {string|URL} modulePath | |
@@ -524,6 +526,14 @@ ObjectDefineProperty(execFile, promisify.custom, { | |||
| 524 | 526 | value: customPromiseExecFunction(execFile) | |
| 525 | 527 | }); | |
| 526 | 528 | ||
| 529 | + function copyProcessEnvToEnv(env, name, optionEnv) { | ||
| 530 | + if (process.env[name] && | ||
| 531 | + (!optionEnv || | ||
| 532 | + !ObjectPrototypeHasOwnProperty(optionEnv, name))) { | ||
| 533 | + env[name] = process.env[name]; | ||
| 534 | + } | ||
| 535 | + } | ||
| 536 | + | ||
| 527 | 537 | function normalizeSpawnArguments(file, args, options) { | |
| 528 | 538 | validateString(file, 'file'); | |
| 529 | 539 | ||
@@ -630,9 +640,19 @@ function normalizeSpawnArguments(file, args, options) { | |||
| 630 | 640 | ||
| 631 | 641 | // process.env.NODE_V8_COVERAGE always propagates, making it possible to | |
| 632 | 642 | // collect coverage for programs that spawn with white-listed environment. | |
| 633 | - if (process.env.NODE_V8_COVERAGE && | ||
| 634 | - !ObjectPrototypeHasOwnProperty(options.env || {}, 'NODE_V8_COVERAGE')) { | ||
| 635 | - env.NODE_V8_COVERAGE = process.env.NODE_V8_COVERAGE; | ||
| 643 | + copyProcessEnvToEnv(env, 'NODE_V8_COVERAGE', options.env); | ||
| 644 | + | ||
| 645 | + if (isZOS) { | ||
| 646 | + // The following environment variables must always propagate if set. | ||
| 647 | + copyProcessEnvToEnv(env, '_BPXK_AUTOCVT', options.env); | ||
| 648 | + copyProcessEnvToEnv(env, '_CEE_RUNOPTS', options.env); | ||
| 649 | + copyProcessEnvToEnv(env, '_TAG_REDIR_ERR', options.env); | ||
| 650 | + copyProcessEnvToEnv(env, '_TAG_REDIR_IN', options.env); | ||
| 651 | + copyProcessEnvToEnv(env, '_TAG_REDIR_OUT', options.env); | ||
| 652 | + copyProcessEnvToEnv(env, 'STEPLIB', options.env); | ||
| 653 | + copyProcessEnvToEnv(env, 'LIBPATH', options.env); | ||
| 654 | + copyProcessEnvToEnv(env, '_EDC_SIG_DFLT', options.env); | ||
| 655 | + copyProcessEnvToEnv(env, '_EDC_SUSV3', options.env); | ||
| 636 | 656 | } | |
| 637 | 657 | ||
| 638 | 658 | let envKeys = []; | |
| Back | FazBrowse Home | New Git URL |
0 commit comments