mirror of https://github.com/lukechilds/node.git
Browse Source
When using `iojs debug -p <pid>` with an invalid pid, the debugger printed an internal error message because it wasn't smart enough to figure out that the target process didn't exist. Now it is. PR-URL: https://github.com/nodejs/io.js/pull/1863 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Fedor Indutny <fedor@indutny.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Yosuke Furukawa <yosuke.furukawa@gmail.com>v2.3.1-release
committed by
Ben Noordhuis
2 changed files with 51 additions and 3 deletions
@ -0,0 +1,39 @@ |
|||
'use strict'; |
|||
var common = require('../common'); |
|||
var assert = require('assert'); |
|||
var spawn = require('child_process').spawn; |
|||
|
|||
var port = common.PORT + 1337; |
|||
var buffer = ''; |
|||
var expected = []; |
|||
var scriptToDebug = common.fixturesDir + '/empty.js'; |
|||
|
|||
function fail() { |
|||
assert(0); // `--debug-brk script.js` should not quit
|
|||
} |
|||
|
|||
// connect to debug agent
|
|||
var interfacer = spawn(process.execPath, ['debug', '-p', '655555']); |
|||
|
|||
console.error(process.execPath, 'debug', '-p', '655555'); |
|||
interfacer.stdout.setEncoding('utf-8'); |
|||
interfacer.stderr.setEncoding('utf-8'); |
|||
var onData = function(data) { |
|||
data = (buffer + data).split('\n'); |
|||
buffer = data.pop(); |
|||
data.forEach(function(line) { |
|||
interfacer.emit('line', line); |
|||
}); |
|||
}; |
|||
interfacer.stdout.on('data', onData); |
|||
interfacer.stderr.on('data', onData); |
|||
|
|||
interfacer.on('line', function(line) { |
|||
line = line.replace(/^(debug> *)+/, ''); |
|||
var expected = 'Target process: 655555 doesn\'t exist.'; |
|||
assert.ok(expected == line, 'Got unexpected line: ' + line); |
|||
}); |
|||
|
|||
interfacer.on('exit', function(code, signal) { |
|||
assert.ok(code == 1, 'Got unexpected code: ' + code); |
|||
}); |
Loading…
Reference in new issue