summaryrefslogtreecommitdiff
path: root/test/sequential/test-cluster-inspect-brk.js
diff options
context:
space:
mode:
authordave-k <davek1802@gmail.com>2017-04-18 19:09:27 -0700
committerAnna Henningsen <anna@addaleax.net>2017-04-30 01:30:39 +0200
commit0324ac686ce1c8ffc5a81e6a8290b6c5c7fd04fd (patch)
treea1facdf7ace0bd72f963fa60847b7cab85197258 /test/sequential/test-cluster-inspect-brk.js
parenta3132b0aa5721ffb8ed0ee150b9f2486449f60bb (diff)
downloadandroid-node-v8-0324ac686ce1c8ffc5a81e6a8290b6c5c7fd04fd.tar.gz
android-node-v8-0324ac686ce1c8ffc5a81e6a8290b6c5c7fd04fd.tar.bz2
android-node-v8-0324ac686ce1c8ffc5a81e6a8290b6c5c7fd04fd.zip
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 <benjamingr@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Diffstat (limited to 'test/sequential/test-cluster-inspect-brk.js')
-rw-r--r--test/sequential/test-cluster-inspect-brk.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/test/sequential/test-cluster-inspect-brk.js b/test/sequential/test-cluster-inspect-brk.js
new file mode 100644
index 0000000000..0fb0b9eaab
--- /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.');
+}