diff options
author | Jackson Tian <puling.tyq@alibaba-inc.com> | 2015-06-01 22:12:25 +0800 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2015-06-05 05:54:19 +0200 |
commit | 81029c639ad5aa566d9ff25d31f73ef279ad2b8d (patch) | |
tree | ef5e22133e57893ddf8605ef23eb66a009a6a3e1 /test/debugger | |
parent | 353e26e3c7ed9d160028ea7517d05edbebab5e7d (diff) | |
download | android-node-v8-81029c639ad5aa566d9ff25d31f73ef279ad2b8d.tar.gz android-node-v8-81029c639ad5aa566d9ff25d31f73ef279ad2b8d.tar.bz2 android-node-v8-81029c639ad5aa566d9ff25d31f73ef279ad2b8d.zip |
debugger: improve ESRCH error message
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>
Diffstat (limited to 'test/debugger')
-rw-r--r-- | test/debugger/test-debugger-pid.js | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/debugger/test-debugger-pid.js b/test/debugger/test-debugger-pid.js new file mode 100644 index 0000000000..14a281ab3c --- /dev/null +++ b/test/debugger/test-debugger-pid.js @@ -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); +}); |