@@ -8,7 +8,7 @@ const { Session } = require('inspector');
88const path = require ( 'path' ) ;
99const { pathToFileURL } = require ( 'url' ) ;
1010const { isMainThread, parentPort, Worker, workerData } =
11- require ( 'worker_threads' ) ;
11+ require ( 'worker_threads' ) ;
1212
1313if ( ! workerData ) {
1414 common . skipIfWorker ( ) ;
@@ -100,6 +100,17 @@ async function ensureListenerDoesNotInterrupt(session) {
100100}
101101
102102async function main ( ) {
103+ assert . throws (
104+ ( ) => {
105+ const session = new Session ( ) ;
106+ session . connectToMainThread ( ) ;
107+ } ,
108+ {
109+ code : 'ERR_INSPECTOR_NOT_WORKER' ,
110+ name : 'Error' ,
111+ message : 'Current thread is not a worker'
112+ }
113+ ) ;
103114 const sharedBuffer = new SharedArrayBuffer ( 1 ) ;
104115 const arrayBuffer = new Uint8Array ( sharedBuffer ) ;
105116 arrayBuffer [ 0 ] = 1 ;
@@ -121,6 +132,16 @@ async function childMain() {
121132 await ( await startWorker ( true ) ) . onMessagesSent ;
122133 const session = new Session ( ) ;
123134 session . connectToMainThread ( ) ;
135+ assert . throws (
136+ ( ) => {
137+ session . connectToMainThread ( ) ;
138+ } ,
139+ {
140+ code : 'ERR_INSPECTOR_ALREADY_CONNECTED' ,
141+ name : 'Error' ,
142+ message : 'The inspector session is already connected'
143+ }
144+ ) ;
124145 await post ( session , 'Debugger.enable' ) ;
125146 await post ( session , 'Runtime.enable' ) ;
126147 await post ( session , 'Debugger.setBreakpointByUrl' , {
@@ -137,9 +158,9 @@ async function childMain() {
137158 await new Promise ( ( resolve ) => setTimeout ( resolve , 50 ) ) ;
138159
139160 const { result : { value } } =
140- await post ( session ,
141- 'Debugger.evaluateOnCallFrame' ,
142- { callFrameId, expression : 'a * 100' } ) ;
161+ await post ( session ,
162+ 'Debugger.evaluateOnCallFrame' ,
163+ { callFrameId, expression : 'a * 100' } ) ;
143164 assert . strictEqual ( value , 100 ) ;
144165 await post ( session , 'Debugger.resume' ) ;
145166 await ensureListenerDoesNotInterrupt ( session ) ;
0 commit comments