test: fix flaky test-cluster-send-handle-twice
Use `common.mustCall()` to make sure connection callback runs exactly once. Use `connect` event instead of `setTimeout` to avoid test failing if timer runs before client is connected. Remove `cluster.worker.disconnect()` after `assert.fail()`. It is unreachable code that is unnecessary. PR-URL: https://github.com/nodejs/node/pull/19700 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
parent
a9a1f12b42
commit
4d749e1052
@ -40,10 +40,10 @@ if (cluster.isMaster) {
|
|||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
const server = net.createServer(function(socket) {
|
const server = net.createServer(common.mustCall((socket) => {
|
||||||
process.send('send-handle-1', socket);
|
process.send('send-handle-1', socket);
|
||||||
process.send('send-handle-2', socket);
|
process.send('send-handle-2', socket);
|
||||||
});
|
}));
|
||||||
|
|
||||||
server.listen(0, function() {
|
server.listen(0, function() {
|
||||||
const client = net.connect({
|
const client = net.connect({
|
||||||
@ -51,10 +51,9 @@ if (cluster.isMaster) {
|
|||||||
port: server.address().port
|
port: server.address().port
|
||||||
});
|
});
|
||||||
client.on('close', common.mustCall(() => { cluster.worker.disconnect(); }));
|
client.on('close', common.mustCall(() => { cluster.worker.disconnect(); }));
|
||||||
setTimeout(function() { client.end(); }, 50);
|
client.on('connect', () => { client.end(); });
|
||||||
}).on('error', function(e) {
|
}).on('error', function(e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
assert.fail('server.listen failed');
|
assert.fail('server.listen failed');
|
||||||
cluster.worker.disconnect();
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user