test: fix flaky `test-child-process-pass-fd`

Listen on random ports instead of using `common.PORT`.

Fixes: https://github.com/nodejs/node/issues/8209
PR-URL: https://github.com/nodejs/node/pull/8212
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yorkie Liu <yorkiefixer@gmail.com>
pull/8203/merge
Santiago Gimeno 2016-08-21 21:04:23 +02:00 committed by Rich Trott
parent 3242b27b54
commit 64cbe7aa9e
1 changed files with 3 additions and 3 deletions

View File

@ -14,7 +14,7 @@ const N = 80;
if (process.argv[2] !== 'child') {
for (let i = 0; i < N; ++i) {
const worker = fork(__filename, ['child', common.PORT + i]);
const worker = fork(__filename, ['child']);
worker.once('message', common.mustCall((msg, handle) => {
assert.strictEqual(msg, 'handle');
assert.ok(handle);
@ -33,7 +33,6 @@ if (process.argv[2] !== 'child') {
}
} else {
let socket;
const port = process.argv[3];
let cbcalls = 0;
function socketConnected() {
if (++cbcalls === 2)
@ -47,7 +46,8 @@ if (process.argv[2] !== 'child') {
});
socketConnected();
});
server.listen(port, common.localhostIPv4, () => {
server.listen(0, common.localhostIPv4, () => {
const port = server.address().port;
socket = net.connect(port, common.localhostIPv4, socketConnected);
});
}