mirror of https://github.com/lukechilds/node.git
Browse Source
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 <jasnell@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com>v7.x
cjihrig
8 years ago
committed by
James M Snell
1 changed files with 38 additions and 0 deletions
@ -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(); |
|||
} |
Loading…
Reference in new issue