1'use strict'; 2 3const common = require('../common'); 4common.skipIfInspectorDisabled(); 5const { isMainThread, Worker } = require('worker_threads'); 6const assert = require('assert'); 7const inspector = require('inspector'); 8 9if (!isMainThread) { 10 // Verify the inspector api on the worker thread. 11 assert.strictEqual(inspector.url(), undefined); 12 13 inspector.open(0, undefined, false); 14 const wsUrl = inspector.url(); 15 assert(wsUrl.startsWith('ws://')); 16 inspector.close(); 17 assert.strictEqual(inspector.url(), undefined); 18 return; 19} 20 21// Open inspector on the main thread first. 22inspector.open(0, undefined, false); 23const wsUrl = inspector.url(); 24assert(wsUrl.startsWith('ws://')); 25 26const worker = new Worker(__filename); 27worker.on('exit', common.mustCall((code) => { 28 assert.strictEqual(code, 0); 29 30 // Verify inspector on the main thread is still active. 31 assert.strictEqual(inspector.url(), wsUrl); 32 inspector.close(); 33 assert.strictEqual(inspector.url(), undefined); 34})); 35