mirror of
https://github.com/nodejs/node.git
synced 2025-05-05 12:04:25 +00:00

PR-URL: https://github.com/nodejs/node/pull/41463 Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
53 lines
1.1 KiB
JavaScript
53 lines
1.1 KiB
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
|
|
common.skipIfInspectorDisabled();
|
|
|
|
const fixtures = require('../common/fixtures');
|
|
const startCLI = require('../common/debugger');
|
|
|
|
const assert = require('assert');
|
|
const { spawn } = require('child_process');
|
|
|
|
|
|
function launchTarget(...args) {
|
|
const childProc = spawn(process.execPath, args);
|
|
return Promise.resolve(childProc);
|
|
}
|
|
|
|
{
|
|
const script = fixtures.path('debugger', 'alive.js');
|
|
let cli = null;
|
|
let target = null;
|
|
|
|
function cleanup(error) {
|
|
if (cli) {
|
|
cli.quit();
|
|
cli = null;
|
|
}
|
|
if (target) {
|
|
target.kill();
|
|
target = null;
|
|
}
|
|
assert.ifError(error);
|
|
}
|
|
|
|
return launchTarget(script)
|
|
.then((childProc) => {
|
|
target = childProc;
|
|
cli = startCLI(['-p', `${target.pid}`]);
|
|
return cli.waitForPrompt();
|
|
})
|
|
.then(() => cli.command('sb("alive.js", 3)'))
|
|
.then(() => cli.waitFor(/break/))
|
|
.then(() => cli.waitForPrompt())
|
|
.then(() => {
|
|
assert.match(
|
|
cli.output,
|
|
/> 3 {3}\+\+x;/,
|
|
'marks the 3rd line');
|
|
})
|
|
.then(() => cleanup())
|
|
.then(null, cleanup);
|
|
}
|