forked from nodejs/node
-
Notifications
You must be signed in to change notification settings - Fork 0
/
test-cluster-inspect-brk.js
37 lines (29 loc) · 990 Bytes
/
test-cluster-inspect-brk.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
'use strict';
const common = require('../common');
common.skipIfInspectorDisabled();
// A test to ensure that cluster properly interoperates with the
// --inspect-brk option.
const assert = require('assert');
const cluster = require('cluster');
const debuggerPort = common.PORT;
if (cluster.isMaster) {
function test(execArgv) {
cluster.setupMaster({
execArgv: execArgv,
stdio: ['pipe', 'pipe', 'pipe', 'ipc', 'pipe']
});
const worker = cluster.fork();
// Debugger listening on port [port].
worker.process.stderr.once('data', common.mustCall(function() {
worker.process.kill('SIGTERM');
}));
worker.process.on('exit', common.mustCall(function(code, signal) {
assert.strictEqual(signal, 'SIGTERM');
}));
}
test(['--inspect-brk']);
test([`--inspect-brk=${debuggerPort}`]);
} else {
// Cluster worker is at a breakpoint, should not reach here.
assert.fail('Test failed: cluster worker should be at a breakpoint.');
}