| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -90,6 +90,8 @@ const { | |||
| 90 | 90 | ||
| 91 | 91 | const MAX_BUFFER = 1024 * 1024; | |
| 92 | 92 | ||
| 93 | + const isZOS = process.platform === 'os390'; | ||
| 94 | + | ||
| 93 | 95 | /** | |
| 94 | 96 | * Spawns a new Node.js process + fork. | |
| 95 | 97 | * @param {string|URL} modulePath | |
@@ -514,6 +516,14 @@ ObjectDefineProperty(execFile, promisify.custom, { | |||
| 514 | 516 | value: customPromiseExecFunction(execFile) | |
| 515 | 517 | }); | |
| 516 | 518 | ||
| 519 | + function copyProcessEnvToEnv(env, name, optionEnv) { | ||
| 520 | + if (process.env[name] && | ||
| 521 | + (!optionEnv || | ||
| 522 | + !ObjectPrototypeHasOwnProperty(optionEnv, name))) { | ||
| 523 | + env[name] = process.env[name]; | ||
| 524 | + } | ||
| 525 | + } | ||
| 526 | + | ||
| 517 | 527 | function normalizeSpawnArguments(file, args, options) { | |
| 518 | 528 | validateString(file, 'file'); | |
| 519 | 529 | ||
@@ -620,9 +630,19 @@ function normalizeSpawnArguments(file, args, options) { | |||
| 620 | 630 | ||
| 621 | 631 | // process.env.NODE_V8_COVERAGE always propagates, making it possible to | |
| 622 | 632 | // collect coverage for programs that spawn with white-listed environment. | |
| 623 | - if (process.env.NODE_V8_COVERAGE && | ||
| 624 | - !ObjectPrototypeHasOwnProperty(options.env || {}, 'NODE_V8_COVERAGE')) { | ||
| 625 | - env.NODE_V8_COVERAGE = process.env.NODE_V8_COVERAGE; | ||
| 633 | + copyProcessEnvToEnv(env, 'NODE_V8_COVERAGE', options.env); | ||
| 634 | + | ||
| 635 | + if (isZOS) { | ||
| 636 | + // The following environment variables must always propagate if set. | ||
| 637 | + copyProcessEnvToEnv(env, '_BPXK_AUTOCVT', options.env); | ||
| 638 | + copyProcessEnvToEnv(env, '_CEE_RUNOPTS', options.env); | ||
| 639 | + copyProcessEnvToEnv(env, '_TAG_REDIR_ERR', options.env); | ||
| 640 | + copyProcessEnvToEnv(env, '_TAG_REDIR_IN', options.env); | ||
| 641 | + copyProcessEnvToEnv(env, '_TAG_REDIR_OUT', options.env); | ||
| 642 | + copyProcessEnvToEnv(env, 'STEPLIB', options.env); | ||
| 643 | + copyProcessEnvToEnv(env, 'LIBPATH', options.env); | ||
| 644 | + copyProcessEnvToEnv(env, '_EDC_SIG_DFLT', options.env); | ||
| 645 | + copyProcessEnvToEnv(env, '_EDC_SUSV3', options.env); | ||
| 626 | 646 | } | |
| 627 | 647 | ||
| 628 | 648 | let envKeys = []; | |
| Back | FazBrowse Home | New Git URL |
0 commit comments