node/test/sequential/test-runner-run-inspect.mjs
Moshe Atlow a165193c5c
test_runner: support using --inspect with --test
PR-URL: https://github.com/nodejs/node/pull/44520
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
2022-09-10 17:01:42 +00:00

165 lines
3.4 KiB
JavaScript

import * as common from '../common/index.mjs';
import * as fixtures from '../common/fixtures.mjs';
import assert from 'node:assert';
common.skipIfInspectorDisabled();
const debuggerPort = common.getPort();
async function spawnRunner({ execArgv, expectedPort, expectedHost, expectedInitialPort, inspectPort }) {
const { code, signal } = await common.spawnPromisified(
process.execPath,
['--expose-internals', '--no-warnings', ...execArgv, fixtures.path('test-runner/run_inspect.js')], {
env: { ...process.env,
expectedPort,
inspectPort,
expectedHost,
expectedInitialPort }
});
assert.strictEqual(code, 0);
assert.strictEqual(signal, null);
}
let offset = 0;
const defaultPortCase = spawnRunner({
execArgv: ['--inspect'],
expectedPort: 9230,
});
await spawnRunner({
execArgv: ['--inspect=65535'],
expectedPort: 1024,
});
let port = debuggerPort + offset++ * 5;
await spawnRunner({
execArgv: [`--inspect=${port}`],
expectedPort: port + 1,
});
port = debuggerPort + offset++ * 5;
await spawnRunner({
execArgv: ['--inspect', `--inspect-port=${port}`],
expectedPort: port + 1,
});
port = debuggerPort + offset++ * 5;
await spawnRunner({
execArgv: ['--inspect', `--debug-port=${port}`],
expectedPort: port + 1,
});
port = debuggerPort + offset++ * 5;
await spawnRunner({
execArgv: [`--inspect=0.0.0.0:${port}`],
expectedPort: port + 1, expectedHost: '0.0.0.0',
});
port = debuggerPort + offset++ * 5;
await spawnRunner({
execArgv: [`--inspect=127.0.0.1:${port}`],
expectedPort: port + 1, expectedHost: '127.0.0.1'
});
if (common.hasIPv6) {
port = debuggerPort + offset++ * 5;
await spawnRunner({
execArgv: [`--inspect=[::]:${port}`],
expectedPort: port + 1, expectedHost: '::'
});
port = debuggerPort + offset++ * 5;
await spawnRunner({
execArgv: [`--inspect=[::1]:${port}`],
expectedPort: port + 1, expectedHost: '::1'
});
}
// These tests check that setting inspectPort in run
// would take effect and override port incrementing behavior
port = debuggerPort + offset++ * 5;
await spawnRunner({
execArgv: [`--inspect=${port}`],
inspectPort: port + 2,
expectedPort: port + 2,
});
port = debuggerPort + offset++ * 5;
await spawnRunner({
execArgv: [`--inspect=${port}`],
inspectPort: 'addTwo',
expectedPort: port + 2,
});
port = debuggerPort + offset++ * 5;
await spawnRunner({
execArgv: [`--inspect=${port}`],
inspectPort: 'string',
});
port = debuggerPort + offset++ * 5;
await spawnRunner({
execArgv: [`--inspect=${port}`],
inspectPort: 'null',
expectedPort: port + 1,
});
port = debuggerPort + offset++ * 5;
await spawnRunner({
execArgv: [`--inspect=${port}`],
inspectPort: 'bignumber',
});
port = debuggerPort + offset++ * 5;
await spawnRunner({
execArgv: [`--inspect=${port}`],
inspectPort: 'negativenumber',
});
port = debuggerPort + offset++ * 5;
await spawnRunner({
execArgv: [`--inspect=${port}`],
inspectPort: 'bignumberfunc'
});
port = debuggerPort + offset++ * 5;
await spawnRunner({
execArgv: [`--inspect=${port}`],
inspectPort: 'strfunc',
});
port = debuggerPort + offset++ * 5;
await spawnRunner({
execArgv: [`--inspect=${port}`],
inspectPort: 0,
expectedInitialPort: 0,
});
await defaultPortCase;
port = debuggerPort + offset++ * 5;
await spawnRunner({
execArgv: ['--inspect'],
inspectPort: port + 2,
expectedInitialPort: port + 2,
});