Skip to content

Commit bee250c

Browse files
Sebastian Plesciucgibfahn
Sebastian Plesciuc
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 <[email protected]> Reviewed-By: Refael Ackermann <[email protected]> Reviewed-By: Alexey Orlenko <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Gibson Fahnestock <[email protected]>
1 parent 54d3318 commit bee250c

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

test/parallel/test-cluster-disconnect.js

+9-5
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,14 @@ const net = require('net');
2828
if (cluster.isWorker) {
2929
net.createServer((socket) => {
3030
socket.end('echo');
31-
}).listen(common.PORT, '127.0.0.1');
31+
}).listen(0, '127.0.0.1');
3232

3333
net.createServer((socket) => {
3434
socket.end('echo');
35-
}).listen(common.PORT + 1, '127.0.0.1');
36-
35+
}).listen(0, '127.0.0.1');
3736
} else if (cluster.isMaster) {
3837
const servers = 2;
38+
const serverPorts = new Set();
3939

4040
// test a single TCP server
4141
const testConnection = (port, cb) => {
@@ -47,16 +47,18 @@ if (cluster.isWorker) {
4747
// check result
4848
socket.on('end', common.mustCall(() => {
4949
cb(result === 'echo');
50+
serverPorts.delete(port);
5051
}));
5152
});
5253
};
5354

5455
// test both servers created in the cluster
5556
const testCluster = (cb) => {
5657
let done = 0;
58+
const portsArray = Array.from(serverPorts);
5759

5860
for (let i = 0; i < servers; i++) {
59-
testConnection(common.PORT + i, (success) => {
61+
testConnection(portsArray[i], (success) => {
6062
assert.ok(success);
6163
done += 1;
6264
if (done === servers) {
@@ -72,7 +74,9 @@ if (cluster.isWorker) {
7274
let online = 0;
7375

7476
for (let i = 0, l = workers; i < l; i++) {
75-
cluster.fork().on('listening', common.mustCall(() => {
77+
cluster.fork().on('listening', common.mustCall((address) => {
78+
serverPorts.add(address.port);
79+
7680
online += 1;
7781
if (online === workers * servers) {
7882
cb();

0 commit comments

Comments
 (0)