Skip to content

Commit 3feaf3d

Browse files
refackBridgeAR
authored andcommitted
test: mark test-worker-debug as flaky
Also try to make more traceable. PR-URL: #28035 Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]> Reviewed-By: Sam Roberts <[email protected]>
1 parent 098cf74 commit 3feaf3d

File tree

2 files changed

+21
-15
lines changed

2 files changed

+21
-15
lines changed

test/parallel/parallel.status

+2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ test-worker-memory: PASS,FLAKY
1717
# https://github.com/nodejs/node/issues/20750
1818
test-http2-client-upload: PASS,FLAKY
1919
test-http2-client-upload-reject: PASS,FLAKY
20+
# https://github.com/nodejs/node/issues/28106
21+
test-worker-debug: PASS,FLAKY
2022

2123
[$system==linux]
2224

test/parallel/test-worker-debug.js

+19-15
Original file line numberDiff line numberDiff line change
@@ -91,14 +91,14 @@ class WorkerSession extends EventEmitter {
9191
this.emit(message.method, message);
9292
return;
9393
}
94-
const callback = this._requestCallbacks.get(message.id);
95-
if (callback) {
96-
this._requestCallbacks.delete(message.id);
97-
if (message.error)
98-
callback[1](message.error.message);
99-
else
100-
callback[0](message.result);
101-
}
94+
if (!this._requestCallbacks.has(message.id))
95+
return;
96+
const [ resolve, reject ] = this._requestCallbacks.get(message.id);
97+
this._requestCallbacks.delete(message.id);
98+
if (message.error)
99+
reject(new Error(message.error.message));
100+
else
101+
resolve(message.result);
102102
}
103103

104104
async waitForBreakAfterCommand(command, script, line) {
@@ -144,7 +144,7 @@ async function testBasicWorkerDebug(session, post) {
144144
assert.strictEqual(waitingForDebugger, true);
145145
const detached = waitForWorkerDetach(session, sessionId);
146146
const workerSession = new WorkerSession(session, sessionId);
147-
const contextEvents = Promise.all([
147+
const contextEventPromises = Promise.all([
148148
waitForEvent(workerSession, 'Runtime.executionContextCreated'),
149149
waitForEvent(workerSession, 'Runtime.executionContextDestroyed')
150150
]);
@@ -156,9 +156,10 @@ async function testBasicWorkerDebug(session, post) {
156156
'Runtime.runIfWaitingForDebugger', __filename, 1);
157157
await workerSession.waitForBreakAfterCommand(
158158
'Debugger.resume', __filename, 26); // V8 line number is zero-based
159-
assert.strictEqual(await consolePromise, workerMessage);
159+
const msg = await consolePromise;
160+
assert.strictEqual(msg, workerMessage);
160161
workerSession.post('Debugger.resume');
161-
await Promise.all([worker, detached, contextEvents]);
162+
await Promise.all([worker, detached, contextEventPromises]);
162163
}
163164

164165
async function testNoWaitOnStart(session, post) {
@@ -252,7 +253,7 @@ async function testWaitForDisconnectInWorker(session, post) {
252253
sessionWithoutWaiting.disconnect();
253254
}
254255

255-
async function test() {
256+
(async function test() {
256257
const session = new Session();
257258
session.connect();
258259
const post = doPost.bind(null, session);
@@ -264,11 +265,14 @@ async function test() {
264265
await runWorker(1);
265266

266267
await testNoWaitOnStart(session, post);
268+
267269
await testTwoWorkers(session, post);
270+
268271
await testWaitForDisconnectInWorker(session, post);
269272

270273
session.disconnect();
271274
console.log('Test done');
272-
}
273-
274-
test();
275+
})().catch((err) => {
276+
console.error(err);
277+
process.abort();
278+
});

0 commit comments

Comments
 (0)