test: improve code coverage for inspector connection errors

PR-URL: https://github.com/nodejs/node/pull/42310
Refs: https://coverage.nodejs.org/coverage-457567f72ca73ef0/lib/inspector.js.html#L74
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
This commit is contained in:
Kohei Ueno
2022-05-25 18:21:58 +09:00
committed by GitHub
parent 810893f145
commit ee91acb49d

View File

@@ -8,7 +8,7 @@ const { Session } = require('inspector');
const path = require('path');
const { pathToFileURL } = require('url');
const { isMainThread, parentPort, Worker, workerData } =
require('worker_threads');
require('worker_threads');
if (!workerData) {
common.skipIfWorker();
@@ -100,6 +100,17 @@ async function ensureListenerDoesNotInterrupt(session) {
}
async function main() {
assert.throws(
() => {
const session = new Session();
session.connectToMainThread();
},
{
code: 'ERR_INSPECTOR_NOT_WORKER',
name: 'Error',
message: 'Current thread is not a worker'
}
);
const sharedBuffer = new SharedArrayBuffer(1);
const arrayBuffer = new Uint8Array(sharedBuffer);
arrayBuffer[0] = 1;
@@ -121,6 +132,16 @@ async function childMain() {
await (await startWorker(true)).onMessagesSent;
const session = new Session();
session.connectToMainThread();
assert.throws(
() => {
session.connectToMainThread();
},
{
code: 'ERR_INSPECTOR_ALREADY_CONNECTED',
name: 'Error',
message: 'The inspector session is already connected'
}
);
await post(session, 'Debugger.enable');
await post(session, 'Runtime.enable');
await post(session, 'Debugger.setBreakpointByUrl', {
@@ -137,9 +158,9 @@ async function childMain() {
await new Promise((resolve) => setTimeout(resolve, 50));
const { result: { value } } =
await post(session,
'Debugger.evaluateOnCallFrame',
{ callFrameId, expression: 'a * 100' });
await post(session,
'Debugger.evaluateOnCallFrame',
{ callFrameId, expression: 'a * 100' });
assert.strictEqual(value, 100);
await post(session, 'Debugger.resume');
await ensureListenerDoesNotInterrupt(session);