summaryrefslogtreecommitdiff
path: root/deps
diff options
context:
space:
mode:
authorJan Krems <jan.krems@groupon.com>2019-06-03 10:05:10 +0200
committerJan Krems <jan.krems@gmail.com>2019-06-05 08:20:18 -0700
commit6a7d3ca5157a128bf0274bb5b782c00312796251 (patch)
tree4f3bb8580813f72b0d70361a5ac308e0071cc412 /deps
parent1279e2530b1db41f2b4135357f4177d08fb33016 (diff)
downloadandroid-node-v8-6a7d3ca5157a128bf0274bb5b782c00312796251.tar.gz
android-node-v8-6a7d3ca5157a128bf0274bb5b782c00312796251.tar.bz2
android-node-v8-6a7d3ca5157a128bf0274bb5b782c00312796251.zip
deps: update node-inspect to v1.11.6
Highlights: * The `node-inspect` test suite passes against latest master. * Removes use of deprecated `repl.rli`. Compare: https://github.com/nodejs/node-inspect/compare/v1.11.5...v1.11.6 PR-URL: https://github.com/nodejs/node/pull/28039 Reviewed-By: Michaƫl Zasso <targos@protonmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Diffstat (limited to 'deps')
-rw-r--r--deps/node-inspect/CHANGELOG.md8
-rw-r--r--deps/node-inspect/lib/_inspect.js4
-rw-r--r--deps/node-inspect/lib/internal/inspect_repl.js30
-rw-r--r--deps/node-inspect/package.json2
-rw-r--r--deps/node-inspect/test/cli/break.test.js6
-rw-r--r--deps/node-inspect/test/cli/exceptions.test.js8
-rw-r--r--deps/node-inspect/test/cli/launch.test.js16
-rw-r--r--deps/node-inspect/test/cli/low-level.test.js2
-rw-r--r--deps/node-inspect/test/cli/preserve-breaks.test.js8
-rw-r--r--deps/node-inspect/test/cli/scripts.test.js4
-rw-r--r--deps/node-inspect/test/cli/start-cli.js31
-rw-r--r--deps/node-inspect/test/cli/use-strict.test.js5
12 files changed, 79 insertions, 45 deletions
diff --git a/deps/node-inspect/CHANGELOG.md b/deps/node-inspect/CHANGELOG.md
index 44ae510efe..73aeb4df93 100644
--- a/deps/node-inspect/CHANGELOG.md
+++ b/deps/node-inspect/CHANGELOG.md
@@ -1,3 +1,11 @@
+### 1.11.6
+
+* fix: replace the deprecated "repl.cli" with "repl" - **[@oyyd](https://github.com/oyyd)** [#66](https://github.com/nodejs/node-inspect/pull/66)
+ - [`5c1d771`](https://github.com/nodejs/node-inspect/commit/5c1d7716523b73e26f98f4f594ee34b7daa920a0) **fix:** replace the deprecated "repl.cli" with "repl" - see: [26260](Refs: https://github.com/nodejs/node/pull/26260)
+* Address regressions due to changes in node - **[@jkrems](https://github.com/jkrems)** [#67](https://github.com/nodejs/node-inspect/pull/67)
+ - [`5b3511e`](https://github.com/nodejs/node-inspect/commit/5b3511ef21d0eba8304d8b2fed33f33aae22f308) **fix:** Address regressions due to changes in node
+
+
### 1.11.5
* Fix eslint issues - **[@jkrems](https://github.com/jkrems)** [#63](https://github.com/nodejs/node-inspect/pull/63)
diff --git a/deps/node-inspect/lib/_inspect.js b/deps/node-inspect/lib/_inspect.js
index 305e49915a..4d931f7a2b 100644
--- a/deps/node-inspect/lib/_inspect.js
+++ b/deps/node-inspect/lib/_inspect.js
@@ -198,7 +198,7 @@ class NodeInspector {
suspendReplWhile(fn) {
if (this.repl) {
- this.repl.rli.pause();
+ this.repl.pause();
}
this.stdin.pause();
this.paused = true;
@@ -207,7 +207,7 @@ class NodeInspector {
}).then(() => {
this.paused = false;
if (this.repl) {
- this.repl.rli.resume();
+ this.repl.resume();
this.repl.displayPrompt();
}
this.stdin.resume();
diff --git a/deps/node-inspect/lib/internal/inspect_repl.js b/deps/node-inspect/lib/internal/inspect_repl.js
index 38fe4684cf..d9d3f89f03 100644
--- a/deps/node-inspect/lib/internal/inspect_repl.js
+++ b/deps/node-inspect/lib/internal/inspect_repl.js
@@ -25,6 +25,7 @@ const Path = require('path');
const Repl = require('repl');
const util = require('util');
const vm = require('vm');
+const fileURLToPath = require('url').fileURLToPath;
const debuglog = util.debuglog('inspect');
@@ -89,9 +90,12 @@ function isNativeUrl(url) {
return url.replace('.js', '') in NATIVES || url === 'bootstrap_node.js';
}
-function getRelativePath(filename) {
+function getRelativePath(filenameOrURL) {
const dir = Path.join(Path.resolve(), 'x').slice(0, -1);
+ const filename = filenameOrURL.startsWith('file://') ?
+ fileURLToPath(filenameOrURL) : filenameOrURL;
+
// Change path to relative, if possible
if (filename.indexOf(dir) === 0) {
return filename.slice(dir.length);
@@ -958,8 +962,8 @@ function createRepl(inspector) {
get repl() {
// Don't display any default messages
- const listeners = repl.rli.listeners('SIGINT').slice(0);
- repl.rli.removeAllListeners('SIGINT');
+ const listeners = repl.listeners('SIGINT').slice(0);
+ repl.removeAllListeners('SIGINT');
const oldContext = repl.context;
@@ -967,7 +971,7 @@ function createRepl(inspector) {
// Restore all listeners
process.nextTick(() => {
listeners.forEach((listener) => {
- repl.rli.on('SIGINT', listener);
+ repl.on('SIGINT', listener);
});
});
@@ -975,21 +979,21 @@ function createRepl(inspector) {
repl.eval = controlEval;
// Swap history
- history.debug = repl.rli.history;
- repl.rli.history = history.control;
+ history.debug = repl.history;
+ repl.history = history.control;
repl.context = oldContext;
- repl.rli.setPrompt('debug> ');
+ repl.setPrompt('debug> ');
repl.displayPrompt();
- repl.rli.removeListener('SIGINT', exitDebugRepl);
+ repl.removeListener('SIGINT', exitDebugRepl);
repl.removeListener('exit', exitDebugRepl);
exitDebugRepl = null;
};
// Exit debug repl on SIGINT
- repl.rli.on('SIGINT', exitDebugRepl);
+ repl.on('SIGINT', exitDebugRepl);
// Exit debug repl on repl exit
repl.on('exit', exitDebugRepl);
@@ -999,10 +1003,10 @@ function createRepl(inspector) {
repl.context = {};
// Swap history
- history.control = repl.rli.history;
- repl.rli.history = history.debug;
+ history.control = repl.history;
+ repl.history = history.debug;
- repl.rli.setPrompt('> ');
+ repl.setPrompt('> ');
print('Press Ctrl + C to leave debug repl');
repl.displayPrompt();
@@ -1077,7 +1081,7 @@ function createRepl(inspector) {
repl.defineCommand('interrupt', () => {
// We want this for testing purposes where sending CTRL-C can be tricky.
- repl.rli.emit('SIGINT');
+ repl.emit('SIGINT');
});
// Init once for the initial connection
diff --git a/deps/node-inspect/package.json b/deps/node-inspect/package.json
index eddc14debc..c64582703c 100644
--- a/deps/node-inspect/package.json
+++ b/deps/node-inspect/package.json
@@ -1,6 +1,6 @@
{
"name": "node-inspect",
- "version": "1.11.5",
+ "version": "1.11.6",
"description": "Node Inspect",
"license": "MIT",
"main": "lib/_inspect.js",
diff --git a/deps/node-inspect/test/cli/break.test.js b/deps/node-inspect/test/cli/break.test.js
index ce8c8d6d7d..ff71a36481 100644
--- a/deps/node-inspect/test/cli/break.test.js
+++ b/deps/node-inspect/test/cli/break.test.js
@@ -18,12 +18,12 @@ test('stepping through breakpoints', (t) => {
.then(() => cli.waitForPrompt())
.then(() => {
t.match(
- cli.output,
- `break in ${script}:1`,
+ cli.breakInfo,
+ { filename: script, line: 1 },
'pauses in the first line of the script');
t.match(
cli.output,
- /> 1 \(function \([^)]+\) \{ const x = 10;/,
+ /> 1 (?:\(function \([^)]+\) \{ )?const x = 10;/,
'shows the source and marks the current line');
})
.then(() => cli.stepCommand('n'))
diff --git a/deps/node-inspect/test/cli/exceptions.test.js b/deps/node-inspect/test/cli/exceptions.test.js
index 18b7f1855e..69d42d0a25 100644
--- a/deps/node-inspect/test/cli/exceptions.test.js
+++ b/deps/node-inspect/test/cli/exceptions.test.js
@@ -17,7 +17,7 @@ test('break on (uncaught) exceptions', (t) => {
return cli.waitForInitialBreak()
.then(() => cli.waitForPrompt())
.then(() => {
- t.match(cli.output, `break in ${script}:1`);
+ t.match(cli.breakInfo, { filename: script, line: 1 });
})
// making sure it will die by default:
.then(() => cli.command('c'))
@@ -28,7 +28,7 @@ test('break on (uncaught) exceptions', (t) => {
.then(() => cli.stepCommand('r'))
.then(() => cli.waitForInitialBreak())
.then(() => {
- t.match(cli.output, `break in ${script}:1`);
+ t.match(cli.breakInfo, { filename: script, line: 1 });
})
.then(() => cli.command('breakOnException'))
.then(() => cli.stepCommand('c'))
@@ -45,7 +45,7 @@ test('break on (uncaught) exceptions', (t) => {
.then(() => cli.stepCommand('r')) // also, the setting survives the restart
.then(() => cli.waitForInitialBreak())
.then(() => {
- t.match(cli.output, `break in ${script}:1`);
+ t.match(cli.breakInfo, { filename: script, line: 1 });
})
.then(() => cli.stepCommand('c'))
.then(() => {
@@ -57,7 +57,7 @@ test('break on (uncaught) exceptions', (t) => {
.then(() => cli.stepCommand('r'))
.then(() => cli.waitForInitialBreak())
.then(() => {
- t.match(cli.output, `break in ${script}:1`);
+ t.match(cli.breakInfo, { filename: script, line: 1 });
})
.then(() => cli.command('c'))
// TODO: Remove FATAL ERROR once node doesn't show a FATAL ERROR anymore
diff --git a/deps/node-inspect/test/cli/launch.test.js b/deps/node-inspect/test/cli/launch.test.js
index 8808d47a08..087a46c54b 100644
--- a/deps/node-inspect/test/cli/launch.test.js
+++ b/deps/node-inspect/test/cli/launch.test.js
@@ -137,23 +137,23 @@ test('run after quit / restart', (t) => {
.then(() => cli.waitForPrompt())
.then(() => {
t.match(
- cli.output,
- `break in ${script}:1`,
+ cli.breakInfo,
+ { filename: script, line: 1 },
'is back at the beginning');
})
.then(() => cli.stepCommand('n'))
.then(() => {
t.match(
- cli.output,
- `break in ${script}:2`,
+ cli.breakInfo,
+ { filename: script, line: 2 },
'steps to the 2nd line');
})
.then(() => cli.stepCommand('restart'))
.then(() => cli.waitForInitialBreak())
.then(() => {
t.match(
- cli.output,
- `break in ${script}:1`,
+ cli.breakInfo,
+ { filename: script, line: 1 },
'is back at the beginning');
})
.then(() => cli.command('kill'))
@@ -167,8 +167,8 @@ test('run after quit / restart', (t) => {
.then(() => cli.waitForPrompt())
.then(() => {
t.match(
- cli.output,
- `break in ${script}:1`,
+ cli.breakInfo,
+ { filename: script, line: 1 },
'is back at the beginning');
})
.then(() => cli.quit())
diff --git a/deps/node-inspect/test/cli/low-level.test.js b/deps/node-inspect/test/cli/low-level.test.js
index 77e3fc2bcf..2a41359825 100644
--- a/deps/node-inspect/test/cli/low-level.test.js
+++ b/deps/node-inspect/test/cli/low-level.test.js
@@ -24,7 +24,7 @@ test('Debugger agent direct access', (t) => {
.then(() => {
t.match(
cli.output,
- /scriptSource: '\(function \(/);
+ /scriptSource:[ \n]*'(?:\(function \(|let x = 1)/);
t.match(
cli.output,
/let x = 1;/);
diff --git a/deps/node-inspect/test/cli/preserve-breaks.test.js b/deps/node-inspect/test/cli/preserve-breaks.test.js
index 94f61408d9..affa3ad975 100644
--- a/deps/node-inspect/test/cli/preserve-breaks.test.js
+++ b/deps/node-inspect/test/cli/preserve-breaks.test.js
@@ -30,20 +30,20 @@ test('run after quit / restart', (t) => {
.then(() => cli.stepCommand('c')) // hit line 2
.then(() => cli.stepCommand('c')) // hit line 3
.then(() => {
- t.match(cli.output, `break in ${script}:3`);
+ t.match(cli.breakInfo, { filename: script, line: 3 });
})
.then(() => cli.command('restart'))
.then(() => cli.waitForInitialBreak())
.then(() => {
- t.match(cli.output, `break in ${script}:1`);
+ t.match(cli.breakInfo, { filename: script, line: 1 });
})
.then(() => cli.stepCommand('c'))
.then(() => {
- t.match(cli.output, `break in ${script}:2`);
+ t.match(cli.breakInfo, { filename: script, line: 2 });
})
.then(() => cli.stepCommand('c'))
.then(() => {
- t.match(cli.output, `break in ${script}:3`);
+ t.match(cli.breakInfo, { filename: script, line: 3 });
})
.then(() => cli.command('breakpoints'))
.then(() => {
diff --git a/deps/node-inspect/test/cli/scripts.test.js b/deps/node-inspect/test/cli/scripts.test.js
index 1546b8045b..f6e3f30dca 100644
--- a/deps/node-inspect/test/cli/scripts.test.js
+++ b/deps/node-inspect/test/cli/scripts.test.js
@@ -24,7 +24,7 @@ test('list scripts', (t) => {
'lists the user script');
t.notMatch(
cli.output,
- /\d+: module\.js <native>/,
+ /\d+: buffer\.js <native>/,
'omits node-internal scripts');
})
.then(() => cli.command('scripts(true)'))
@@ -35,7 +35,7 @@ test('list scripts', (t) => {
'lists the user script');
t.match(
cli.output,
- /\d+: module\.js <native>/,
+ /\d+: buffer\.js <native>/,
'includes node-internal scripts');
})
.then(() => cli.quit())
diff --git a/deps/node-inspect/test/cli/start-cli.js b/deps/node-inspect/test/cli/start-cli.js
index b086dcd8ba..e2fa5fe47c 100644
--- a/deps/node-inspect/test/cli/start-cli.js
+++ b/deps/node-inspect/test/cli/start-cli.js
@@ -16,6 +16,10 @@ const BREAK_MESSAGE = new RegExp('(?:' + [
'exception', 'other', 'promiseRejection',
].join('|') + ') in', 'i');
+function isPreBreak(output) {
+ return /Break on start/.test(output) && /1 \(function \(exports/.test(output);
+}
+
function startCLI(args, flags = []) {
const child = spawn(process.execPath, [...flags, CLI, ...args]);
let isFirstStdoutChunk = true;
@@ -101,13 +105,25 @@ function startCLI(args, flags = []) {
waitForInitialBreak(timeout = 2000) {
return this.waitFor(/break (?:on start )?in/i, timeout)
.then(() => {
- if (/Break on start/.test(this.output)) {
+ if (isPreBreak(this.output)) {
return this.command('next', false)
.then(() => this.waitFor(/break in/, timeout));
}
});
},
+ get breakInfo() {
+ const output = this.output;
+ const breakMatch =
+ output.match(/break (?:on start )?in ([^\n]+):(\d+)\n/i);
+
+ if (breakMatch === null) {
+ throw new Error(
+ `Could not find breakpoint info in ${JSON.stringify(output)}`);
+ }
+ return { filename: breakMatch[1], line: +breakMatch[2] };
+ },
+
ctrlC() {
return this.command('.interrupt');
},
@@ -127,19 +143,24 @@ function startCLI(args, flags = []) {
.map((match) => +match[1]);
},
- command(input, flush = true) {
+ writeLine(input, flush = true) {
if (flush) {
this.flushOutput();
}
+ if (process.env.VERBOSE === '1') {
+ process.stderr.write(`< ${input}\n`);
+ }
child.stdin.write(input);
child.stdin.write('\n');
+ },
+
+ command(input, flush = true) {
+ this.writeLine(input, flush);
return this.waitForPrompt();
},
stepCommand(input) {
- this.flushOutput();
- child.stdin.write(input);
- child.stdin.write('\n');
+ this.writeLine(input, true);
return this
.waitFor(BREAK_MESSAGE)
.then(() => this.waitForPrompt());
diff --git a/deps/node-inspect/test/cli/use-strict.test.js b/deps/node-inspect/test/cli/use-strict.test.js
index 780802a5a6..c6dc8f31cd 100644
--- a/deps/node-inspect/test/cli/use-strict.test.js
+++ b/deps/node-inspect/test/cli/use-strict.test.js
@@ -17,9 +17,10 @@ test('for whiles that starts with strict directive', (t) => {
return cli.waitForInitialBreak()
.then(() => cli.waitForPrompt())
.then(() => {
+ const brk = cli.breakInfo;
t.match(
- cli.output,
- /break in [^:]+:(?:1|2)[^\d]/,
+ `${brk.line}`,
+ /^(1|2)$/,
'pauses either on strict directive or first "real" line');
})
.then(() => cli.quit())