summaryrefslogtreecommitdiff
path: root/test/parallel/test-cluster-disconnect.js
diff options
context:
space:
mode:
authorSebastian Plesciuc <sebastian.plesciuc@sendgrid.com>2017-05-04 10:54:22 +0300
committerGibson Fahnestock <gibfahn@gmail.com>2017-05-11 10:57:13 +0100
commitbee250c2326dc9424ff4b940d34a5bd7017022c1 (patch)
treea560a3da58761e6e2b161f93015b94c53d9c54fd /test/parallel/test-cluster-disconnect.js
parent54d331895c721fa85dc0ee237a3bbc04da3a324d (diff)
downloadnode-new-bee250c2326dc9424ff4b940d34a5bd7017022c1.tar.gz
test: dynamic port in cluster disconnect
Removed common.PORT from test-cluster-disconnect to eliminate the possibility that a port used in another test will collide with common.PORT. PR-URL: https://github.com/nodejs/node/pull/12545 Refs: https://github.com/nodejs/node/issues/12376 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Alexey Orlenko <eaglexrlnk@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Diffstat (limited to 'test/parallel/test-cluster-disconnect.js')
-rw-r--r--test/parallel/test-cluster-disconnect.js14
1 files changed, 9 insertions, 5 deletions
diff --git a/test/parallel/test-cluster-disconnect.js b/test/parallel/test-cluster-disconnect.js
index 2286ca1d67..e35e457688 100644
--- a/test/parallel/test-cluster-disconnect.js
+++ b/test/parallel/test-cluster-disconnect.js
@@ -28,14 +28,14 @@ const net = require('net');
if (cluster.isWorker) {
net.createServer((socket) => {
socket.end('echo');
- }).listen(common.PORT, '127.0.0.1');
+ }).listen(0, '127.0.0.1');
net.createServer((socket) => {
socket.end('echo');
- }).listen(common.PORT + 1, '127.0.0.1');
-
+ }).listen(0, '127.0.0.1');
} else if (cluster.isMaster) {
const servers = 2;
+ const serverPorts = new Set();
// test a single TCP server
const testConnection = (port, cb) => {
@@ -47,6 +47,7 @@ if (cluster.isWorker) {
// check result
socket.on('end', common.mustCall(() => {
cb(result === 'echo');
+ serverPorts.delete(port);
}));
});
};
@@ -54,9 +55,10 @@ if (cluster.isWorker) {
// test both servers created in the cluster
const testCluster = (cb) => {
let done = 0;
+ const portsArray = Array.from(serverPorts);
for (let i = 0; i < servers; i++) {
- testConnection(common.PORT + i, (success) => {
+ testConnection(portsArray[i], (success) => {
assert.ok(success);
done += 1;
if (done === servers) {
@@ -72,7 +74,9 @@ if (cluster.isWorker) {
let online = 0;
for (let i = 0, l = workers; i < l; i++) {
- cluster.fork().on('listening', common.mustCall(() => {
+ cluster.fork().on('listening', common.mustCall((address) => {
+ serverPorts.add(address.port);
+
online += 1;
if (online === workers * servers) {
cb();