@@ -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
164165async 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