Skip to content

Commit

Permalink
test: add ability to skip common flag checks
Browse files Browse the repository at this point in the history
Currently, `common/index.js` checks that our test files are
spawned with the flags specified in `// Flags:`, and re-spawns
with them if they are not found.

This can be *very* annoying, for example when debugging using
debuggers that attach to the parent process, or when intentionally
testing with flags that are different from the specified ones.

This adds a `NODE_SKIP_FLAG_CHECK` environment variable check.
Setting it to a non-empty value will skip the flag checks altogether.

PR-URL: #27254
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Beth Griggs <Bethany.Griggs@uk.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Yuta Hiroto <hello@hiroppy.me>
Reviewed-By: Anto Aravinth <anto.aravinth.cse@gmail.com>
  • Loading branch information
addaleax authored and ZYSzys committed Apr 19, 2019
1 parent ed89311 commit 02885da
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion test/common/index.js
Expand Up @@ -51,6 +51,7 @@ const hasCrypto = Boolean(process.versions.openssl);
// If the binary was built without-ssl then the crypto flags are // If the binary was built without-ssl then the crypto flags are
// invalid (bad option). The test itself should handle this case. // invalid (bad option). The test itself should handle this case.
if (process.argv.length === 2 && if (process.argv.length === 2 &&
!process.env.NODE_SKIP_FLAG_CHECK &&
isMainThread && isMainThread &&
hasCrypto && hasCrypto &&
module.parent && module.parent &&
Expand Down Expand Up @@ -82,7 +83,8 @@ if (process.argv.length === 2 &&
(process.features.inspector || !flag.startsWith('--inspect'))) { (process.features.inspector || !flag.startsWith('--inspect'))) {
console.log( console.log(
'NOTE: The test started as a child_process using these flags:', 'NOTE: The test started as a child_process using these flags:',
util.inspect(flags) util.inspect(flags),
'Use NODE_SKIP_FLAG_CHECK to run the test with the original flags.'
); );
const args = [...flags, ...process.execArgv, ...process.argv.slice(1)]; const args = [...flags, ...process.execArgv, ...process.argv.slice(1)];
const options = { encoding: 'utf8', stdio: 'inherit' }; const options = { encoding: 'utf8', stdio: 'inherit' };
Expand Down

0 comments on commit 02885da

Please sign in to comment.