test: add cluster inspector debug port test
This commit adds a test for the debug port value in cluster workers using the inspector debugger. Refs: https://github.com/nodejs/node/issues/8201 Refs: https://github.com/nodejs/node/pull/8386 Refs: https://github.com/nodejs/node/pull/8550 PR-URL: https://github.com/nodejs/node/pull/8958 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ilkka Myller <ilkka.myller@nodefield.com>
This commit is contained in:
parent
13a204e5c3
commit
2aa2f85e46
38
test/parallel/test-cluster-inspector-debug-port.js
Normal file
38
test/parallel/test-cluster-inspector-debug-port.js
Normal file
@ -0,0 +1,38 @@
|
||||
'use strict';
|
||||
// Flags: --inspect={PORT}
|
||||
const common = require('../common');
|
||||
const assert = require('assert');
|
||||
const cluster = require('cluster');
|
||||
const debuggerPort = common.PORT;
|
||||
|
||||
if (cluster.isMaster) {
|
||||
function checkExitCode(code, signal) {
|
||||
assert.strictEqual(code, 0);
|
||||
assert.strictEqual(signal, null);
|
||||
}
|
||||
|
||||
function fork(offset, execArgv) {
|
||||
if (execArgv)
|
||||
cluster.setupMaster({execArgv});
|
||||
|
||||
const check = common.mustCall(checkExitCode);
|
||||
cluster.fork({portSet: debuggerPort + offset}).on('exit', check);
|
||||
}
|
||||
|
||||
assert.strictEqual(process.debugPort, debuggerPort);
|
||||
|
||||
fork(1);
|
||||
fork(2, ['--inspect']);
|
||||
fork(3, [`--inspect=${debuggerPort}`]);
|
||||
fork(4, ['--inspect', '--debug']);
|
||||
fork(5, [`--debug=${debuggerPort}`, '--inspect']);
|
||||
fork(6, ['--inspect', `--debug-port=${debuggerPort}`]);
|
||||
} else {
|
||||
const hasDebugArg = process.execArgv.some(function(arg) {
|
||||
return /inspect/.test(arg);
|
||||
});
|
||||
|
||||
assert.strictEqual(hasDebugArg, true);
|
||||
assert.strictEqual(process.debugPort, +process.env.portSet);
|
||||
process.exit();
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user