Browse Source

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>
v7.x
Santiago Gimeno 8 years ago
committed by Rich Trott
parent
commit
64cbe7aa9e
  1. 6
      test/sequential/test-child-process-pass-fd.js

6
test/sequential/test-child-process-pass-fd.js

@ -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);
});
}

Loading…
Cancel
Save