From 02885dad5a7d20318fd061fdfcc593b0fe13459e Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Tue, 16 Apr 2019 13:01:33 +0200 Subject: [PATCH] test: add ability to skip common flag checks 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: https://github.com/nodejs/node/pull/27254 Reviewed-By: Ruben Bridgewater Reviewed-By: Beth Griggs Reviewed-By: Colin Ihrig Reviewed-By: James M Snell Reviewed-By: Luigi Pinca Reviewed-By: Yuta Hiroto Reviewed-By: Anto Aravinth --- test/common/index.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/common/index.js b/test/common/index.js index 8c61fdc5cfcda1..3167791f8a4a25 100644 --- a/test/common/index.js +++ b/test/common/index.js @@ -51,6 +51,7 @@ const hasCrypto = Boolean(process.versions.openssl); // If the binary was built without-ssl then the crypto flags are // invalid (bad option). The test itself should handle this case. if (process.argv.length === 2 && + !process.env.NODE_SKIP_FLAG_CHECK && isMainThread && hasCrypto && module.parent && @@ -82,7 +83,8 @@ if (process.argv.length === 2 && (process.features.inspector || !flag.startsWith('--inspect'))) { console.log( '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 options = { encoding: 'utf8', stdio: 'inherit' };