Skip to content

Commit 1cd41e7

Browse files
Sebastian PlesciucMylesBorins
authored andcommitted
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: #12545 Refs: #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>
1 parent d71de28 commit 1cd41e7

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

test/parallel/test-cluster-disconnect.js

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@ const net = require('net');
77
if (cluster.isWorker) {
88
net.createServer((socket) => {
99
socket.end('echo');
10-
}).listen(common.PORT, '127.0.0.1');
10+
}).listen(0, '127.0.0.1');
1111

1212
net.createServer((socket) => {
1313
socket.end('echo');
14-
}).listen(common.PORT + 1, '127.0.0.1');
15-
14+
}).listen(0, '127.0.0.1');
1615
} else if (cluster.isMaster) {
1716
const servers = 2;
17+
const serverPorts = new Set();
1818

1919
// test a single TCP server
2020
const testConnection = (port, cb) => {
@@ -26,16 +26,18 @@ if (cluster.isWorker) {
2626
// check result
2727
socket.on('end', common.mustCall(() => {
2828
cb(result === 'echo');
29+
serverPorts.delete(port);
2930
}));
3031
});
3132
};
3233

3334
// test both servers created in the cluster
3435
const testCluster = (cb) => {
3536
let done = 0;
37+
const portsArray = Array.from(serverPorts);
3638

3739
for (let i = 0; i < servers; i++) {
38-
testConnection(common.PORT + i, (success) => {
40+
testConnection(portsArray[i], (success) => {
3941
assert.ok(success);
4042
done += 1;
4143
if (done === servers) {
@@ -51,7 +53,9 @@ if (cluster.isWorker) {
5153
let online = 0;
5254

5355
for (let i = 0, l = workers; i < l; i++) {
54-
cluster.fork().on('listening', common.mustCall(() => {
56+
cluster.fork().on('listening', common.mustCall((address) => {
57+
serverPorts.add(address.port);
58+
5559
online += 1;
5660
if (online === workers * servers) {
5761
cb();

0 commit comments

Comments
 (0)