summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Krems <jan.krems@groupon.com>2017-04-03 15:16:39 -0700
committerMichaël Zasso <targos@protonmail.com>2017-04-06 09:50:09 +0200
commit47f8f7462fb198aa27ede602c43786bdbfda37a2 (patch)
tree2304f9b323c07f807a498610bca2c07c136c858d
parente139dae157cca968e89de51ad435ded23f2b8be1 (diff)
downloadandroid-node-v8-47f8f7462fb198aa27ede602c43786bdbfda37a2.tar.gz
android-node-v8-47f8f7462fb198aa27ede602c43786bdbfda37a2.tar.bz2
android-node-v8-47f8f7462fb198aa27ede602c43786bdbfda37a2.zip
src: remove support for --debug
In the 2017-04-05 meeting, the CTC agreed to remove support for the legacy debugger in 8.0.0. This is the first step in this direction. Refs: https://github.com/nodejs/CTC/issues/94 PR-URL: https://github.com/nodejs/node/pull/12197 Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Myles Borins <myles.borins@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
-rw-r--r--doc/api/debugger.md19
-rw-r--r--doc/api/process.md5
-rw-r--r--src/node_debug_options.cc10
-rw-r--r--test/known_issues/test-cluster-disconnect-handles.js (renamed from test/parallel/test-cluster-disconnect-handles.js)0
-rw-r--r--test/parallel/test-cluster-debug-port.js42
-rw-r--r--test/parallel/test-cluster-inspector-debug-port.js8
-rw-r--r--test/parallel/test-debug-brk-no-arg.js13
-rw-r--r--test/parallel/test-debug-brk.js70
-rw-r--r--test/parallel/test-debug-no-context.js26
-rw-r--r--test/parallel/test-debug-port-cluster.js52
-rw-r--r--test/parallel/test-debug-port-from-cmdline.js63
-rw-r--r--test/parallel/test-debug-port-numbers.js59
-rw-r--r--test/parallel/test-debug-signal-cluster.js113
-rw-r--r--test/parallel/test-debugger-util-regression.js59
-rw-r--r--test/sequential/test-debug-host-port.js45
-rw-r--r--test/sequential/test-debugger-debug-brk.js31
16 files changed, 7 insertions, 608 deletions
diff --git a/doc/api/debugger.md b/doc/api/debugger.md
index 288f7e1f67..23f0aadfca 100644
--- a/doc/api/debugger.md
+++ b/doc/api/debugger.md
@@ -169,27 +169,8 @@ breakpoint)
## Advanced Usage
-### TCP-based protocol
-
-> Stability: 0 - Deprecated: Use [V8 Inspector Integration][] instead.
-The debug protocol used by the `--debug` flag was removed from V8.
-
-An alternative way of enabling and accessing the debugger is to start
-Node.js with the `--debug` command-line flag or by signaling an existing
-Node.js process with `SIGUSR1`.
-
-Once a process has been set in debug mode this way, it can be inspected
-using the Node.js debugger by either connecting to the `pid` of the running
-process or via URI reference to the listening debugger:
-
-* `node debug -p <pid>` - Connects to the process via the `pid`
-* `node debug <URI>` - Connects to the process via the URI such as
-localhost:5858
-
### V8 Inspector Integration for Node.js
-**NOTE: This is an experimental feature.**
-
V8 Inspector integration allows attaching Chrome DevTools to Node.js
instances for debugging and profiling. It uses the [Chrome Debugging Protocol][].
diff --git a/doc/api/process.md b/doc/api/process.md
index 6759b457b3..760cd4dd15 100644
--- a/doc/api/process.md
+++ b/doc/api/process.md
@@ -1757,9 +1757,8 @@ cases:
source code internal in Node.js's bootstrapping process threw an error
when the bootstrapping function was called. This is extremely rare,
and generally can only happen during development of Node.js itself.
-* `12` **Invalid Debug Argument** - The `--debug`, `--inspect` and/or
- `--debug-brk` options were set, but the port number chosen was invalid
- or unavailable.
+* `12` **Invalid Debug Argument** - The `--inspect` and/or `--inspect-brk`
+ options were set, but the port number chosen was invalid or unavailable.
* `>128` **Signal Exits** - If Node.js receives a fatal signal such as
`SIGKILL` or `SIGHUP`, then its exit code will be `128` plus the
value of the signal code. This is a standard Unix practice, since
diff --git a/src/node_debug_options.cc b/src/node_debug_options.cc
index 410e23acb3..97f9dce1b7 100644
--- a/src/node_debug_options.cc
+++ b/src/node_debug_options.cc
@@ -92,13 +92,7 @@ bool DebugOptions::ParseOption(const std::string& option) {
argument = option.substr(pos + 1);
}
- // --debug and --inspect are mutually exclusive
- if (option_name == "--debug") {
- debugger_enabled_ = true;
- } else if (option_name == "--debug-brk") {
- debugger_enabled_ = true;
- wait_connect_ = true;
- } else if (option_name == "--inspect") {
+ if (option_name == "--inspect") {
debugger_enabled_ = true;
enable_inspector = true;
} else if (option_name == "--inspect-brk") {
@@ -108,7 +102,7 @@ bool DebugOptions::ParseOption(const std::string& option) {
} else if ((option_name != "--debug-port" &&
option_name != "--inspect-port") ||
!has_argument) {
- // only other valid possibility is --debug-port,
+ // only other valid possibility is --inspect-port,
// which requires an argument
return false;
}
diff --git a/test/parallel/test-cluster-disconnect-handles.js b/test/known_issues/test-cluster-disconnect-handles.js
index 4b481f0a7b..4b481f0a7b 100644
--- a/test/parallel/test-cluster-disconnect-handles.js
+++ b/test/known_issues/test-cluster-disconnect-handles.js
diff --git a/test/parallel/test-cluster-debug-port.js b/test/parallel/test-cluster-debug-port.js
deleted file mode 100644
index 70203124ef..0000000000
--- a/test/parallel/test-cluster-debug-port.js
+++ /dev/null
@@ -1,42 +0,0 @@
-'use strict';
-require('../common');
-const assert = require('assert');
-const cluster = require('cluster');
-
-if (cluster.isMaster) {
-
- function checkExitCode(code, signal) {
- assert.strictEqual(code, 0);
- assert.strictEqual(signal, null);
- }
-
- console.log('forked worker should not have --debug-port');
- cluster.fork().on('exit', checkExitCode);
-
- cluster.setupMaster({
- execArgv: ['--debug-port=' + process.debugPort]
- });
-
- console.log('forked worker should have --debug-port, with offset = 1');
- cluster.fork({
- portSet: process.debugPort + 1
- }).on('exit', checkExitCode);
-
- cluster.setupMaster({
- execArgv: [`--debug-port=${process.debugPort}`,
- `--debug=${process.debugPort}`]
- });
-
- console.log('forked worker should have --debug-port, with offset = 2');
- cluster.fork({
- portSet: process.debugPort + 2
- }).on('exit', checkExitCode);
-} else {
- const hasDebugArg = process.execArgv.some(function(arg) {
- return /debug/.test(arg);
- });
-
- assert.strictEqual(hasDebugArg, process.env.portSet !== undefined);
- assert.strictEqual(process.debugPort, +process.env.portSet || 5858);
- process.exit();
-}
diff --git a/test/parallel/test-cluster-inspector-debug-port.js b/test/parallel/test-cluster-inspector-debug-port.js
index f0e0f58a86..2b214c4ad2 100644
--- a/test/parallel/test-cluster-inspector-debug-port.js
+++ b/test/parallel/test-cluster-inspector-debug-port.js
@@ -25,11 +25,9 @@ if (cluster.isMaster) {
fork(1);
fork(2, ['--inspect']);
fork(3, [`--inspect=${debuggerPort}`]);
- fork(4, ['--inspect', '--debug']);
- fork(5, [`--debug=${debuggerPort}`, '--inspect']);
- fork(6, ['--inspect', `--debug-port=${debuggerPort}`]);
- fork(7, [`--inspect-port=${debuggerPort}`]);
- fork(8, ['--inspect', `--inspect-port=${debuggerPort}`]);
+ fork(4, ['--inspect', `--debug-port=${debuggerPort}`]);
+ fork(5, [`--inspect-port=${debuggerPort}`]);
+ fork(6, ['--inspect', `--inspect-port=${debuggerPort}`]);
} else {
const hasDebugArg = process.execArgv.some(function(arg) {
return /inspect/.test(arg);
diff --git a/test/parallel/test-debug-brk-no-arg.js b/test/parallel/test-debug-brk-no-arg.js
deleted file mode 100644
index e2ba80cd77..0000000000
--- a/test/parallel/test-debug-brk-no-arg.js
+++ /dev/null
@@ -1,13 +0,0 @@
-'use strict';
-const common = require('../common');
-const assert = require('assert');
-const spawn = require('child_process').spawn;
-
-const child = spawn(process.execPath, ['--debug-brk=' + common.PORT, '-i']);
-child.stderr.once('data', common.mustCall(function() {
- child.stdin.end('.exit');
-}));
-
-child.on('exit', common.mustCall(function(c) {
- assert.strictEqual(c, 0);
-}));
diff --git a/test/parallel/test-debug-brk.js b/test/parallel/test-debug-brk.js
deleted file mode 100644
index 32d83f323e..0000000000
--- a/test/parallel/test-debug-brk.js
+++ /dev/null
@@ -1,70 +0,0 @@
-'use strict';
-
-const common = require('../common');
-const spawn = require('child_process').spawn;
-
-let run = common.noop;
-function test(extraArgs, stdoutPattern) {
- const next = run;
- run = () => {
- let procStdout = '';
- let procStderr = '';
- let agentStdout = '';
- let debuggerListening = false;
- let outputMatched = false;
- let needToSpawnAgent = true;
- let needToExit = true;
-
- const procArgs = [`--debug-brk=${common.PORT}`].concat(extraArgs);
- const proc = spawn(process.execPath, procArgs);
- proc.stderr.setEncoding('utf8');
-
- const tryStartAgent = () => {
- if (debuggerListening && outputMatched && needToSpawnAgent) {
- needToSpawnAgent = false;
- const agentArgs = ['debug', `localhost:${common.PORT}`];
- const agent = spawn(process.execPath, agentArgs);
- agent.stdout.setEncoding('utf8');
-
- agent.stdout.on('data', (chunk) => {
- agentStdout += chunk;
- if (/connecting to .+ ok/.test(agentStdout) && needToExit) {
- needToExit = false;
- exitAll([proc, agent]);
- }
- });
- }
- };
-
- const exitAll = common.mustCall((processes) => {
- processes.forEach((myProcess) => { myProcess.kill(); });
- });
-
- if (stdoutPattern != null) {
- proc.stdout.on('data', (chunk) => {
- procStdout += chunk;
- outputMatched = outputMatched || stdoutPattern.test(procStdout);
- tryStartAgent();
- });
- } else {
- outputMatched = true;
- }
-
- proc.stderr.on('data', (chunk) => {
- procStderr += chunk;
- debuggerListening = debuggerListening ||
- /Debugger listening on/.test(procStderr);
- tryStartAgent();
- });
-
- proc.on('exit', () => {
- next();
- });
- };
-}
-
-test(['-e', '0']);
-test(['-e', '0', 'foo']);
-test(['-p', 'process.argv[1]', 'foo'], /^\s*foo\s*$/);
-
-run();
diff --git a/test/parallel/test-debug-no-context.js b/test/parallel/test-debug-no-context.js
deleted file mode 100644
index fd78612ef1..0000000000
--- a/test/parallel/test-debug-no-context.js
+++ /dev/null
@@ -1,26 +0,0 @@
-'use strict';
-
-const common = require('../common');
-const assert = require('assert');
-const spawn = require('child_process').spawn;
-
-const args = ['--debug', `--debug-port=${common.PORT}`, '--interactive'];
-const proc = spawn(process.execPath, args);
-proc.stdin.write(`
- util.inspect(Promise.resolve(42));
- util.inspect(Promise.resolve(1337));
- .exit
-`);
-proc.on('exit', common.mustCall((exitCode, signalCode) => {
- // This next line should be included but unfortunately Win10 fails from time
- // to time in CI. See https://github.com/nodejs/node/issues/5268
- // assert.strictEqual(exitCode, 0);
- assert.strictEqual(signalCode, null);
-}));
-let stdout = '';
-proc.stdout.setEncoding('utf8');
-proc.stdout.on('data', (data) => stdout += data);
-process.on('exit', () => {
- assert(stdout.includes('Promise { 42 }'));
- assert(stdout.includes('Promise { 1337 }'));
-});
diff --git a/test/parallel/test-debug-port-cluster.js b/test/parallel/test-debug-port-cluster.js
deleted file mode 100644
index d96dab77ca..0000000000
--- a/test/parallel/test-debug-port-cluster.js
+++ /dev/null
@@ -1,52 +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.
-
-'use strict';
-const common = require('../common');
-const assert = require('assert');
-const spawn = require('child_process').spawn;
-
-const PORT_MIN = common.PORT + 1; // The fixture uses common.PORT.
-const PORT_MAX = PORT_MIN + 2;
-
-const args = [
- '--debug=' + PORT_MIN,
- common.fixturesDir + '/clustered-server/app.js'
-];
-
-const child = spawn(process.execPath, args);
-child.stderr.setEncoding('utf8');
-
-const checkMessages = common.mustCall(() => {
- for (let port = PORT_MIN; port <= PORT_MAX; port += 1) {
- assert(stderr.includes(`Debugger listening on 127.0.0.1:${port}`));
- }
-});
-
-let stderr = '';
-child.stderr.on('data', (data) => {
- process.stderr.write(`[DATA] ${data}`);
- stderr += data;
- if (child.killed !== true && stderr.includes('all workers are running')) {
- child.kill();
- checkMessages();
- }
-});
diff --git a/test/parallel/test-debug-port-from-cmdline.js b/test/parallel/test-debug-port-from-cmdline.js
deleted file mode 100644
index 111da8e001..0000000000
--- a/test/parallel/test-debug-port-from-cmdline.js
+++ /dev/null
@@ -1,63 +0,0 @@
-'use strict';
-const common = require('../common');
-const assert = require('assert');
-const spawn = require('child_process').spawn;
-const os = require('os');
-
-const debugPort = common.PORT;
-const args = ['--interactive', '--debug-port=' + debugPort];
-const childOptions = { stdio: ['pipe', 'pipe', 'pipe', 'ipc'] };
-const child = spawn(process.execPath, args, childOptions);
-
-const reDeprecationWarning = new RegExp(
- /^\(node:\d+\) \[DEP0062\] DeprecationWarning: /.source +
- /node --debug is deprecated\. /.source +
- /Please use node --inspect instead\.$/.source
-);
-
-child.stdin.write("process.send({ msg: 'childready' });\n");
-
-child.stderr.on('data', function(data) {
- const lines = data.toString().replace(/\r/g, '').trim().split('\n');
- lines.forEach(processStderrLine);
-});
-
-child.on('message', function onChildMsg(message) {
- if (message.msg === 'childready') {
- process._debugProcess(child.pid);
- }
-});
-
-process.on('exit', function() {
- child.kill();
- assertOutputLines();
-});
-
-const outputLines = [];
-function processStderrLine(line) {
- console.log('> ' + line);
- outputLines.push(line);
-
- if (/Debugger listening/.test(line)) {
- process.exit();
- }
-}
-
-function assertOutputLines() {
- // need a var so can swap the first two lines in following
- // eslint-disable-next-line no-var
- var expectedLines = [
- /^Starting debugger agent\.$/,
- reDeprecationWarning,
- new RegExp(`^Debugger listening on 127\\.0\\.0\\.1:${debugPort}$`)
- ];
-
- if (os.platform() === 'win32') {
- expectedLines[1] = expectedLines[0];
- expectedLines[0] = reDeprecationWarning;
- }
-
- assert.strictEqual(outputLines.length, expectedLines.length);
- for (let i = 0; i < expectedLines.length; i++)
- assert(expectedLines[i].test(outputLines[i]));
-}
diff --git a/test/parallel/test-debug-port-numbers.js b/test/parallel/test-debug-port-numbers.js
deleted file mode 100644
index 63139365a3..0000000000
--- a/test/parallel/test-debug-port-numbers.js
+++ /dev/null
@@ -1,59 +0,0 @@
-'use strict';
-
-const common = require('../common');
-const assert = require('assert');
-const path = require('path');
-const spawn = require('child_process').spawn;
-
-// FIXME(bnoordhuis) On UNIX platforms, the debugger doesn't reliably kill
-// the inferior when killed by a signal. Work around that by spawning
-// the debugger in its own process group and killing the process group
-// instead of just the debugger process.
-const detached = !common.isWindows;
-
-const children = [];
-for (let i = 0; i < 4; i += 1) {
- const port = common.PORT + i;
- const args = [`--debug-port=${port}`, '--interactive', 'debug', __filename];
- const child = spawn(process.execPath, args, { detached, stdio: 'pipe' });
- child.test = { port: port, stdout: '' };
- child.stdout.setEncoding('utf8');
- child.stdout.on('data', function(s) { child.test.stdout += s; update(); });
- child.stdout.pipe(process.stdout);
- child.stderr.pipe(process.stderr);
- children.push(child);
-}
-
-function update() {
- // Debugger prints relative paths except on Windows.
- const filename = path.basename(__filename);
-
- let ready = 0;
- for (const child of children)
- ready += RegExp(`break in .*?${filename}:1`).test(child.test.stdout);
-
- if (ready === children.length)
- for (const child of children)
- kill(child);
-}
-
-function kill(child) {
- if (!detached)
- return child.kill();
-
- try {
- process.kill(-child.pid); // Kill process group.
- } catch (e) {
- // Generally ESRCH is returned when the process group is already gone. On
- // some platforms such as OS X it may be EPERM though.
- assert.ok((e.code === 'EPERM') || (e.code === 'ESRCH'));
- }
-}
-
-process.on('exit', function() {
- for (const child of children) {
- const { port, stdout } = child.test;
- assert(stdout.includes(`Debugger listening on 127.0.0.1:${port}`));
- assert(stdout.includes(`connecting to 127.0.0.1:${port}`));
- }
-});
diff --git a/test/parallel/test-debug-signal-cluster.js b/test/parallel/test-debug-signal-cluster.js
deleted file mode 100644
index cecedcc309..0000000000
--- a/test/parallel/test-debug-signal-cluster.js
+++ /dev/null
@@ -1,113 +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.
-
-'use strict';
-
-const common = require('../common');
-const assert = require('assert');
-const spawn = require('child_process').spawn;
-const os = require('os');
-const path = require('path');
-
-const port = common.PORT;
-const serverPath = path.join(common.fixturesDir, 'clustered-server', 'app.js');
-// cannot use 'Flags: --no-deprecation' since it doesn't effect child
-const args = [`--debug-port=${port}`, '--no-deprecation', serverPath];
-const options = { stdio: ['inherit', 'inherit', 'pipe', 'ipc'] };
-const child = spawn(process.execPath, args, options);
-
-let expectedContent = [
- 'Starting debugger agent.',
- 'Debugger listening on 127.0.0.1:' + (port + 0),
- 'Starting debugger agent.',
- 'Debugger listening on 127.0.0.1:' + (port + 1),
- 'Starting debugger agent.',
- 'Debugger listening on 127.0.0.1:' + (port + 2),
-].join(os.EOL);
-expectedContent += os.EOL; // the last line also contains an EOL character
-
-let debuggerAgentsOutput = '';
-let debuggerAgentsStarted = false;
-
-let pids;
-
-child.stderr.on('data', function(data) {
- const childStderrOutputString = data.toString();
- const lines = childStderrOutputString.replace(/\r/g, '').trim().split('\n');
-
- lines.forEach(function(line) {
- console.log('> ' + line);
-
- if (line === 'all workers are running') {
- child.on('message', function(msg) {
- if (msg.type !== 'pids')
- return;
-
- pids = msg.pids;
- console.error('got pids %j', pids);
-
- process._debugProcess(child.pid);
- debuggerAgentsStarted = true;
- });
-
- child.send({
- type: 'getpids'
- });
- }
- });
-
- if (debuggerAgentsStarted) {
- debuggerAgentsOutput += childStderrOutputString;
- if (debuggerAgentsOutput.length === expectedContent.length) {
- onNoMoreDebuggerAgentsOutput();
- }
- }
-});
-
-function onNoMoreDebuggerAgentsOutput() {
- assertDebuggerAgentsOutput();
- process.exit();
-}
-
-process.on('exit', function onExit() {
- // Kill processes in reverse order to avoid timing problems on Windows where
- // the parent process is killed before the children.
- pids.reverse().forEach(function(pid) {
- process.kill(pid);
- });
-});
-
-function assertDebuggerAgentsOutput() {
- // Workers can take different amout of time to start up, and child processes'
- // output may be interleaved arbitrarily. Moreover, child processes' output
- // may be written using an arbitrary number of system calls, and no assumption
- // on buffering or atomicity of output should be made. Thus, we process the
- // output of all child processes' debugger agents character by character, and
- // remove each character from the set of expected characters. Once all the
- // output from all debugger agents has been processed, we consider that we got
- // the content we expected if there's no character left in the initial
- // expected content.
- debuggerAgentsOutput.split('').forEach(function gotChar(char) {
- expectedContent = expectedContent.replace(char, '');
- });
-
- assert.strictEqual(expectedContent, '');
-}
diff --git a/test/parallel/test-debugger-util-regression.js b/test/parallel/test-debugger-util-regression.js
deleted file mode 100644
index fa5b9e8b0a..0000000000
--- a/test/parallel/test-debugger-util-regression.js
+++ /dev/null
@@ -1,59 +0,0 @@
-'use strict';
-const common = require('../common');
-const path = require('path');
-const spawn = require('child_process').spawn;
-const assert = require('assert');
-
-const DELAY = common.platformTimeout(200);
-
-const fixture = path.join(
- common.fixturesDir,
- 'debugger-util-regression-fixture.js'
-);
-
-const args = [
- 'debug',
- `--port=${common.PORT}`,
- fixture
-];
-
-const proc = spawn(process.execPath, args, { stdio: 'pipe' });
-proc.stdout.setEncoding('utf8');
-proc.stderr.setEncoding('utf8');
-
-let stdout = '';
-let stderr = '';
-proc.stdout.on('data', (data) => stdout += data);
-proc.stderr.on('data', (data) => stderr += data);
-
-let nextCount = 0;
-let exit = false;
-
-// We look at output periodically. We don't do this in the on('data') as we
-// may end up processing partial output. Processing periodically ensures that
-// the debugger is in a stable state before we take the next step.
-const timer = setInterval(() => {
- if (stdout.includes('> 1') && nextCount < 1 ||
- stdout.includes('> 2') && nextCount < 2 ||
- stdout.includes('> 3') && nextCount < 3 ||
- stdout.includes('> 4') && nextCount < 4) {
- nextCount++;
- proc.stdin.write('n\n');
- } else if (!exit && (stdout.includes('< { a: \'b\' }'))) {
- exit = true;
- proc.stdin.write('.exit\n');
- // We can cancel the timer and terminate normally.
- clearInterval(timer);
- } else if (stdout.includes('program terminated')) {
- // Catch edge case present in v4.x
- // process will terminate after call to util.inspect
- common.fail('the program should not terminate');
- }
-}, DELAY);
-
-process.on('exit', (code) => {
- assert.strictEqual(code, 0, 'the program should exit cleanly');
- assert.strictEqual(stdout.includes('{ a: \'b\' }'), true,
- 'the debugger should print the result of util.inspect');
- assert.strictEqual(stderr, '', 'stderr should be empty');
-});
diff --git a/test/sequential/test-debug-host-port.js b/test/sequential/test-debug-host-port.js
deleted file mode 100644
index ac8ae6249e..0000000000
--- a/test/sequential/test-debug-host-port.js
+++ /dev/null
@@ -1,45 +0,0 @@
-'use strict';
-
-const common = require('../common');
-const assert = require('assert');
-const spawn = require('child_process').spawn;
-
-let run = common.noop;
-function test(args, needle) {
- const next = run;
- run = () => {
- const options = {encoding: 'utf8'};
- const proc = spawn(process.execPath, args.concat(['-e', '0']), options);
- let stderr = '';
- proc.stderr.setEncoding('utf8');
- proc.stderr.on('data', (data) => {
- stderr += data;
- if (stderr.includes(needle)) proc.kill();
- });
- proc.on('exit', common.mustCall(() => {
- assert(stderr.includes(needle));
- next();
- }));
- };
-}
-
-test(['--debug-brk'], 'Debugger listening on 127.0.0.1:5858');
-test(['--debug-brk=1234'], 'Debugger listening on 127.0.0.1:1234');
-test(['--debug-brk=0.0.0.0'], 'Debugger listening on 0.0.0.0:5858');
-test(['--debug-brk=0.0.0.0:1234'], 'Debugger listening on 0.0.0.0:1234');
-test(['--debug-brk=localhost'], 'Debugger listening on 127.0.0.1:5858');
-test(['--debug-brk=localhost:1234'], 'Debugger listening on 127.0.0.1:1234');
-
-if (common.hasIPv6) {
- test(['--debug-brk=::'], 'Debug port must be in range 1024 to 65535');
- test(['--debug-brk=::0'], 'Debug port must be in range 1024 to 65535');
- test(['--debug-brk=::1'], 'Debug port must be in range 1024 to 65535');
- test(['--debug-brk=[::]'], 'Debugger listening on [::]:5858');
- test(['--debug-brk=[::0]'], 'Debugger listening on [::]:5858');
- test(['--debug-brk=[::]:1234'], 'Debugger listening on [::]:1234');
- test(['--debug-brk=[::0]:1234'], 'Debugger listening on [::]:1234');
- test(['--debug-brk=[::ffff:127.0.0.1]:1234'],
- 'Debugger listening on [::ffff:127.0.0.1]:1234');
-}
-
-run(); // Runs tests in reverse order.
diff --git a/test/sequential/test-debugger-debug-brk.js b/test/sequential/test-debugger-debug-brk.js
deleted file mode 100644
index f5a69b91d6..0000000000
--- a/test/sequential/test-debugger-debug-brk.js
+++ /dev/null
@@ -1,31 +0,0 @@
-'use strict';
-const common = require('../common');
-common.skipIfInspectorDisabled();
-const assert = require('assert');
-const spawn = require('child_process').spawn;
-
-const script = common.fixturesDir + '/empty.js';
-
-function fail() {
- assert(0); // `node --debug-brk script.js` should not quit
-}
-
-function test(arg) {
- const child = spawn(process.execPath, [arg, script]);
- child.on('exit', fail);
-
- // give node time to start up the debugger
- setTimeout(function() {
- child.removeListener('exit', fail);
- child.kill();
- }, 2000);
-
- process.on('exit', function() {
- assert(child.killed);
- });
-}
-
-test('--debug-brk');
-test('--debug-brk=5959');
-test('--inspect-brk');
-test('--inspect-brk=9230');