diff options
author | Sebastian Plesciuc <sebastian.plesciuc@sendgrid.com> | 2017-05-04 10:54:22 +0300 |
---|---|---|
committer | Gibson Fahnestock <gibfahn@gmail.com> | 2017-05-11 10:57:13 +0100 |
commit | bee250c2326dc9424ff4b940d34a5bd7017022c1 (patch) | |
tree | a560a3da58761e6e2b161f93015b94c53d9c54fd /test/parallel/test-cluster-disconnect.js | |
parent | 54d331895c721fa85dc0ee237a3bbc04da3a324d (diff) | |
download | node-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.js | 14 |
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(); |