@@ -91,14 +91,14 @@ class WorkerSession extends EventEmitter{
9191this . emit ( message . method , message ) ;
9292return ;
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
104104async waitForBreakAfterCommand ( command , script , line ) {
@@ -144,7 +144,7 @@ async function testBasicWorkerDebug(session, post){
144144assert . strictEqual ( waitingForDebugger , true ) ;
145145const detached = waitForWorkerDetach ( session , sessionId ) ;
146146const workerSession = new WorkerSession ( session , sessionId ) ;
147- const contextEvents = Promise . all ( [
147+ const contextEventPromises = Promise . all ( [
148148waitForEvent ( workerSession , 'Runtime.executionContextCreated' ) ,
149149waitForEvent ( workerSession , 'Runtime.executionContextDestroyed' )
150150] ) ;
@@ -156,9 +156,10 @@ async function testBasicWorkerDebug(session, post){
156156'Runtime.runIfWaitingForDebugger' , __filename , 1 ) ;
157157await 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 ) ;
160161workerSession . 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){
252253sessionWithoutWaiting . disconnect ( ) ;
253254}
254255
255- async function test ( ) {
256+ ( async function test ( ) {
256257const session = new Session ( ) ;
257258session . connect ( ) ;
258259const post = doPost . bind ( null , session ) ;
@@ -264,11 +265,14 @@ async function test(){
264265await runWorker ( 1 ) ;
265266
266267await testNoWaitOnStart ( session , post ) ;
268+
267269await testTwoWorkers ( session , post ) ;
270+
268271await testWaitForDisconnectInWorker ( session , post ) ;
269272
270273session . disconnect ( ) ;
271274console . log ( 'Test done' ) ;
272- }
273-
274- test ( ) ;
275+ } ) ( ) . catch ( ( err ) => {
276+ console . error ( err ) ;
277+ process . abort ( ) ;
278+ } ) ;
0 commit comments