summaryrefslogtreecommitdiff
path: root/test/debugger
diff options
context:
space:
mode:
authorJackson Tian <puling.tyq@alibaba-inc.com>2015-06-01 22:12:25 +0800
committerBen Noordhuis <info@bnoordhuis.nl>2015-06-05 05:54:19 +0200
commit81029c639ad5aa566d9ff25d31f73ef279ad2b8d (patch)
treeef5e22133e57893ddf8605ef23eb66a009a6a3e1 /test/debugger
parent353e26e3c7ed9d160028ea7517d05edbebab5e7d (diff)
downloadandroid-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.js39
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);
+});