• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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