Browse Source

test: refactor test-debug-signal-cluster

Notable changes include removing one (but not all) hard-coded ports,
using `common.fail()`, and tidying conditionals and assertions.

PR-URL: https://github.com/nodejs/node/pull/8289
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
v4.x
Rich Trott 8 years ago
committed by Myles Borins
parent
commit
a368ea673c
  1. 15
      test/fixtures/clustered-server/app.js
  2. 34
      test/parallel/test-debug-signal-cluster.js

15
test/fixtures/clustered-server/app.js

@ -1,12 +1,13 @@
var http = require('http');
var cluster = require('cluster');
var common = require('../../common');
'use strict';
const http = require('http');
const cluster = require('cluster');
function handleRequest(request, response) {
response.end('hello world\n');
}
var NUMBER_OF_WORKERS = 2;
const NUMBER_OF_WORKERS = 2;
var workersOnline = 0;
if (cluster.isMaster) {
@ -18,7 +19,7 @@ if (cluster.isMaster) {
process.on('message', function(msg) {
if (msg.type === 'getpids') {
var pids = [];
const pids = [];
pids.push(process.pid);
for (var key in cluster.workers)
pids.push(cluster.workers[key].process.pid);
@ -30,6 +31,6 @@ if (cluster.isMaster) {
cluster.fork();
}
} else {
var server = http.createServer(handleRequest);
server.listen(common.PORT);
const server = http.createServer(handleRequest);
server.listen(0);
}

34
test/parallel/test-debug-signal-cluster.js

@ -1,21 +1,23 @@
'use strict';
var common = require('../common');
var assert = require('assert');
var spawn = require('child_process').spawn;
var port = common.PORT + 1; // The fixture uses common.PORT.
var args = ['--debug-port=' + port,
common.fixturesDir + '/clustered-server/app.js'];
var options = { stdio: ['inherit', 'inherit', 'pipe', 'ipc'] };
var child = spawn(process.execPath, args, options);
const common = require('../common');
const assert = require('assert');
const spawn = require('child_process').spawn;
const path = require('path');
var outputLines = [];
const port = common.PORT;
const serverPath = path.join(common.fixturesDir, 'clustered-server', 'app.js');
const args = [`--debug-port=${port}`, serverPath];
const options = { stdio: ['inherit', 'inherit', 'pipe', 'ipc'] };
const child = spawn(process.execPath, args, options);
const outputLines = [];
var waitingForDebuggers = false;
var pids = null;
var pids;
child.stderr.on('data', function(data) {
var lines = data.toString().replace(/\r/g, '').trim().split('\n');
const lines = data.toString().replace(/\r/g, '').trim().split('\n');
lines.forEach(function(line) {
console.log('> ' + line);
@ -40,7 +42,7 @@ child.stderr.on('data', function(data) {
}
});
if (outputLines.length >= expectedLines.length)
if (outputLines.length === expectedLines.length)
onNoMoreLines();
});
@ -50,7 +52,7 @@ function onNoMoreLines() {
}
setTimeout(function testTimedOut() {
assert(false, 'test timed out.');
common.fail('test timed out');
}, common.platformTimeout(4000)).unref();
process.on('exit', function onExit() {
@ -61,7 +63,7 @@ process.on('exit', function onExit() {
});
});
var expectedLines = [
const expectedLines = [
'Starting debugger agent.',
'Debugger listening on port ' + (port + 0),
'Starting debugger agent.',
@ -77,7 +79,5 @@ function assertOutputLines() {
outputLines.sort();
expectedLines.sort();
assert.equal(outputLines.length, expectedLines.length);
for (var i = 0; i < expectedLines.length; i++)
assert.equal(outputLines[i], expectedLines[i]);
assert.deepStrictEqual(outputLines, expectedLines);
}

Loading…
Cancel
Save