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‎

Lines changed: 2 additions & 0 deletions
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‎

Lines changed: 19 additions & 15 deletions
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-
constcallback=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(newError(message.error.message));
100+
else
101+
resolve(message.result);
102102
}
103103

104104
asyncwaitForBreakAfterCommand(command,script,line){
@@ -144,7 +144,7 @@ async function testBasicWorkerDebug(session, post){
144144
assert.strictEqual(waitingForDebugger,true);
145145
constdetached=waitForWorkerDetach(session,sessionId);
146146
constworkerSession=newWorkerSession(session,sessionId);
147-
constcontextEvents=Promise.all([
147+
constcontextEventPromises=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
awaitworkerSession.waitForBreakAfterCommand(
158158
'Debugger.resume',__filename,26);// V8 line number is zero-based
159-
assert.strictEqual(awaitconsolePromise,workerMessage);
159+
constmsg=awaitconsolePromise;
160+
assert.strictEqual(msg,workerMessage);
160161
workerSession.post('Debugger.resume');
161-
awaitPromise.all([worker,detached,contextEvents]);
162+
awaitPromise.all([worker,detached,contextEventPromises]);
162163
}
163164

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

255-
asyncfunctiontest(){
256+
(asyncfunctiontest(){
256257
constsession=newSession();
257258
session.connect();
258259
constpost=doPost.bind(null,session);
@@ -264,11 +265,14 @@ async function test(){
264265
awaitrunWorker(1);
265266

266267
awaittestNoWaitOnStart(session,post);
268+
267269
awaittestTwoWorkers(session,post);
270+
268271
awaittestWaitForDisconnectInWorker(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)