diff --git a/lib/cluster.js b/lib/cluster.js index ba13daadbc7cbf..97a4eb456ba366 100644 --- a/lib/cluster.js +++ b/lib/cluster.js @@ -308,7 +308,7 @@ function masterInit() { workerEnv.NODE_UNIQUE_ID = '' + id; for (var i = 0; i < execArgv.length; i++) { - var match = execArgv[i].match(/^(--debug|--debug-brk)(=\d+)?$/); + var match = execArgv[i].match(/^(--debug|--debug-(brk|port))(=\d+)?$/); if (match) { execArgv[i] = match[1] + '=' + debugPort; diff --git a/test/sequential/test-debug-port-cluster.js b/test/parallel/test-debug-port-cluster.js similarity index 100% rename from test/sequential/test-debug-port-cluster.js rename to test/parallel/test-debug-port-cluster.js diff --git a/test/sequential/test-debug-signal-cluster.js b/test/parallel/test-debug-signal-cluster.js similarity index 88% rename from test/sequential/test-debug-signal-cluster.js rename to test/parallel/test-debug-signal-cluster.js index cd57e548a93601..df96395dc42d00 100644 --- a/test/sequential/test-debug-signal-cluster.js +++ b/test/parallel/test-debug-signal-cluster.js @@ -23,10 +23,12 @@ var common = require('../common'); var assert = require('assert'); var spawn = require('child_process').spawn; -var args = [ common.fixturesDir + '/clustered-server/app.js' ]; -var child = spawn(process.execPath, args, { - stdio: [ 'pipe', 'pipe', 'pipe', 'ipc' ] -}); +var port = common.PORT + 42; +var args = ['--debug-port=' + port, + common.fixturesDir + '/clustered-server/app.js']; +var options = { stdio: ['inherit', 'inherit', 'pipe', 'ipc'] }; +var child = spawn(process.execPath, args, options); + var outputLines = []; var outputTimerId; var waitingForDebuggers = false; @@ -83,11 +85,11 @@ process.on('exit', function onExit() { function assertOutputLines() { var expectedLines = [ 'Starting debugger agent.', - 'Debugger listening on port ' + 5858, + 'Debugger listening on port ' + (port + 0), 'Starting debugger agent.', - 'Debugger listening on port ' + 5859, + 'Debugger listening on port ' + (port + 1), 'Starting debugger agent.', - 'Debugger listening on port ' + 5860, + 'Debugger listening on port ' + (port + 2), ]; // Do not assume any particular order of output messages, diff --git a/test/sequential/test-debug-cluster.js b/test/sequential/test-debug-cluster.js deleted file mode 100644 index c0963c35a97661..00000000000000 --- a/test/sequential/test-debug-cluster.js +++ /dev/null @@ -1,63 +0,0 @@ -// Copyright Joyent, Inc. and other Node contributors. -// -// Permission is hereby granted, free of charge, to any person obtaining a -// copy of this software and associated documentation files (the -// "Software"), to deal in the Software without restriction, including -// without limitation the rights to use, copy, modify, merge, publish, -// distribute, sublicense, and/or sell copies of the Software, and to permit -// persons to whom the Software is furnished to do so, subject to the -// following conditions: -// -// The above copyright notice and this permission notice shall be included -// in all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS -// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN -// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, -// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR -// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE -// USE OR OTHER DEALINGS IN THE SOFTWARE. - -var common = require('../common'); -var assert = require('assert'); -var spawn = require('child_process').spawn; - -var args = ['--debug', common.fixturesDir + '/clustered-server/app.js' ]; -var child = spawn(process.execPath, args); -var outputLines = []; - -child.stderr.on('data', function(data) { - var lines = data.toString().replace(/\r/g, '').trim().split('\n'); - var line = lines[0]; - - lines.forEach(function(ln) { console.log('> ' + ln) } ); - - if (line === 'all workers are running') { - assertOutputLines(); - process.exit(); - } else { - outputLines = outputLines.concat(lines); - } -}); - -process.on('exit', function onExit() { - child.kill(); -}); - -var assertOutputLines = common.mustCall(function() { - var expectedLines = [ - 'Debugger listening on port ' + 5858, - 'Debugger listening on port ' + 5859, - 'Debugger listening on port ' + 5860, - ]; - - // Do not assume any particular order of output messages, - // since workers can take different amout of time to - // start up - outputLines.sort(); - - assert.equal(outputLines.length, expectedLines.length) - for (var i = 0; i < expectedLines.length; i++) - assert.equal(outputLines[i], expectedLines[i]); -});