@@ -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 ) {
1414common . 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+ ) ;
103114const sharedBuffer = new SharedArrayBuffer ( 1 ) ;
104115const arrayBuffer = new Uint8Array ( sharedBuffer ) ;
105116arrayBuffer [ 0 ] = 1 ;
@@ -121,6 +132,16 @@ async function childMain(){
121132await ( await startWorker ( true ) ) . onMessagesSent ;
122133const session = new Session ( ) ;
123134session . 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+ ) ;
124145await post ( session , 'Debugger.enable' ) ;
125146await post ( session , 'Runtime.enable' ) ;
126147await post ( session , 'Debugger.setBreakpointByUrl' , {
@@ -137,9 +158,9 @@ async function childMain(){
137158await new Promise ( ( resolve ) => setTimeout ( resolve , 50 ) ) ;
138159
139160const { 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' } ) ;
143164assert . strictEqual ( value , 100 ) ;
144165await post ( session , 'Debugger.resume' ) ;
145166await ensureListenerDoesNotInterrupt ( session ) ;
0 commit comments