From 2aa2f85e467120959778e8fab9b69b72959f1856 Mon Sep 17 00:00:00 2001 From: cjihrig Date: Thu, 6 Oct 2016 13:09:17 -0400 Subject: [PATCH] test: add cluster inspector debug port test This commit adds a test for the debug port value in cluster workers using the inspector debugger. Refs: https://github.com/nodejs/node/issues/8201 Refs: https://github.com/nodejs/node/pull/8386 Refs: https://github.com/nodejs/node/pull/8550 PR-URL: https://github.com/nodejs/node/pull/8958 Reviewed-By: James M Snell Reviewed-By: Ben Noordhuis Reviewed-By: Ilkka Myller --- .../test-cluster-inspector-debug-port.js | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 test/parallel/test-cluster-inspector-debug-port.js diff --git a/test/parallel/test-cluster-inspector-debug-port.js b/test/parallel/test-cluster-inspector-debug-port.js new file mode 100644 index 00000000000000..0adb6d2a2b37b8 --- /dev/null +++ b/test/parallel/test-cluster-inspector-debug-port.js @@ -0,0 +1,38 @@ +'use strict'; +// Flags: --inspect={PORT} +const common = require('../common'); +const assert = require('assert'); +const cluster = require('cluster'); +const debuggerPort = common.PORT; + +if (cluster.isMaster) { + function checkExitCode(code, signal) { + assert.strictEqual(code, 0); + assert.strictEqual(signal, null); + } + + function fork(offset, execArgv) { + if (execArgv) + cluster.setupMaster({execArgv}); + + const check = common.mustCall(checkExitCode); + cluster.fork({portSet: debuggerPort + offset}).on('exit', check); + } + + assert.strictEqual(process.debugPort, debuggerPort); + + fork(1); + fork(2, ['--inspect']); + fork(3, [`--inspect=${debuggerPort}`]); + fork(4, ['--inspect', '--debug']); + fork(5, [`--debug=${debuggerPort}`, '--inspect']); + fork(6, ['--inspect', `--debug-port=${debuggerPort}`]); +} else { + const hasDebugArg = process.execArgv.some(function(arg) { + return /inspect/.test(arg); + }); + + assert.strictEqual(hasDebugArg, true); + assert.strictEqual(process.debugPort, +process.env.portSet); + process.exit(); +}