mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
9be3d99b2b
The inspector tests should not be in the parallel directory as they likely all (or certainly almost all) use static ports, so port collisions will happen. This moves them all to sequential. We can move them back on a case-by-case basis. They were run sequentially when they were in the inspector directory which they were only moved from very recently. PR-URL: https://github.com/nodejs/node/pull/16281 Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com> Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com> Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com> Reviewed-By: Bryan English <bryan@bryanenglish.com>
69 lines
2.2 KiB
JavaScript
69 lines
2.2 KiB
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
common.skipIfInspectorDisabled();
|
|
const assert = require('assert');
|
|
const { NodeInstance } = require('../common/inspector-helper.js');
|
|
const fixtures = require('../common/fixtures');
|
|
|
|
const script = fixtures.path('inspector-global-function.js');
|
|
|
|
async function setupDebugger(session) {
|
|
console.log('[test]', 'Setting up a debugger');
|
|
const commands = [
|
|
{ 'method': 'Runtime.enable' },
|
|
{ 'method': 'Debugger.enable' },
|
|
{ 'method': 'Debugger.setAsyncCallStackDepth',
|
|
'params': { 'maxDepth': 0 } },
|
|
{ 'method': 'Runtime.runIfWaitingForDebugger' },
|
|
];
|
|
session.send(commands);
|
|
await session.waitForNotification('Runtime.consoleAPICalled');
|
|
}
|
|
|
|
async function breakOnLine(session) {
|
|
console.log('[test]', 'Breaking in the code');
|
|
const commands = [
|
|
{ 'method': 'Debugger.setBreakpointByUrl',
|
|
'params': { 'lineNumber': 9,
|
|
'url': script,
|
|
'columnNumber': 0,
|
|
'condition': ''
|
|
}
|
|
},
|
|
{ 'method': 'Runtime.evaluate',
|
|
'params': { 'expression': 'sum()',
|
|
'objectGroup': 'console',
|
|
'includeCommandLineAPI': true,
|
|
'silent': false,
|
|
'contextId': 1,
|
|
'returnByValue': false,
|
|
'generatePreview': true,
|
|
'userGesture': true,
|
|
'awaitPromise': false
|
|
}
|
|
}
|
|
];
|
|
session.send(commands);
|
|
await session.waitForBreakOnLine(9, script);
|
|
}
|
|
|
|
async function stepOverConsoleStatement(session) {
|
|
console.log('[test]', 'Step over console statement and test output');
|
|
session.send({ 'method': 'Debugger.stepOver' });
|
|
await session.waitForConsoleOutput('log', [0, 3]);
|
|
await session.waitForNotification('Debugger.paused');
|
|
}
|
|
|
|
async function runTests() {
|
|
const child = new NodeInstance(['--inspect=0'], undefined, script);
|
|
const session = await child.connectInspectorSession();
|
|
await setupDebugger(session);
|
|
await breakOnLine(session);
|
|
await stepOverConsoleStatement(session);
|
|
await session.runToCompletion();
|
|
assert.strictEqual(0, (await child.expectShutdown()).exitCode);
|
|
}
|
|
|
|
common.crashOnUnhandledRejection();
|
|
runTests();
|