From 1de5797ddd7253e055a821829620b053af2567a7 Mon Sep 17 00:00:00 2001 From: dave-k Date: Tue, 18 Apr 2017 19:09:27 -0700 Subject: [PATCH] test: add inspect-brk option to cluster module Ensure that cluster interoperates with the --inspect-brk option. This does not test for --debug-brk. Fixes: https://github.com/nodejs/node/issues/11420 PR-URL: https://github.com/nodejs/node/pull/12503 Reviewed-By: Benjamin Gruenbaum Reviewed-By: Colin Ihrig --- test/sequential/test-cluster-inspect-brk.js | 36 +++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 test/sequential/test-cluster-inspect-brk.js diff --git a/test/sequential/test-cluster-inspect-brk.js b/test/sequential/test-cluster-inspect-brk.js new file mode 100644 index 00000000000000..0fb0b9eaab5b68 --- /dev/null +++ b/test/sequential/test-cluster-inspect-brk.js @@ -0,0 +1,36 @@ +'use strict'; +const common = require('../common'); + +// 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.'); +}