'use strict'; const common = require('../common'); common.skipIfInspectorDisabled(); const { isMainThread, Worker } = require('worker_threads'); const assert = require('assert'); const inspector = require('inspector'); if (!isMainThread) { // Verify the inspector api on the worker thread. assert.strictEqual(inspector.url(), undefined); inspector.open(0, undefined, false); const wsUrl = inspector.url(); assert(wsUrl.startsWith('ws://')); inspector.close(); assert.strictEqual(inspector.url(), undefined); return; } // Open inspector on the main thread first. inspector.open(0, undefined, false); const wsUrl = inspector.url(); assert(wsUrl.startsWith('ws://')); const worker = new Worker(__filename); worker.on('exit', common.mustCall((code) => { assert.strictEqual(code, 0); // Verify inspector on the main thread is still active. assert.strictEqual(inspector.url(), wsUrl); inspector.close(); assert.strictEqual(inspector.url(), undefined); }));