1'use strict';
2
3const common = require('../../common');
4const fixtures = require('../../common/fixtures');
5const { run } = require('node:test');
6const assert = require('node:assert');
7
8const badPortError = { name: 'RangeError', code: 'ERR_SOCKET_BAD_PORT' };
9let inspectPort = 'inspectPort' in process.env ? Number(process.env.inspectPort) : undefined;
10let expectedError;
11
12if (process.env.inspectPort === 'addTwo') {
13  inspectPort = common.mustCall(() => { return process.debugPort += 2; });
14} else if (process.env.inspectPort === 'string') {
15  inspectPort = 'string';
16  expectedError = badPortError;
17} else if (process.env.inspectPort === 'null') {
18  inspectPort = null;
19} else if (process.env.inspectPort === 'bignumber') {
20  inspectPort = 1293812;
21  expectedError = badPortError;
22} else if (process.env.inspectPort === 'negativenumber') {
23  inspectPort = -9776;
24  expectedError = badPortError;
25} else if (process.env.inspectPort === 'bignumberfunc') {
26  inspectPort = common.mustCall(() => 123121);
27  expectedError = badPortError;
28} else if (process.env.inspectPort === 'strfunc') {
29  inspectPort = common.mustCall(() => 'invalidPort');
30  expectedError = badPortError;
31}
32
33const stream = run({ files: [fixtures.path('test-runner/run_inspect_assert.js')], inspectPort });
34if (expectedError) {
35  stream.on('test:fail', common.mustCall(({ details }) => {
36    assert.deepStrictEqual({ name: details.error.cause.name, code: details.error.cause.code }, expectedError);
37  }));
38} else {
39  stream.on('test:fail', common.mustNotCall());
40}
41