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>
v6.x
Santiago Gimeno 8 years ago
committed by Evan Lucas
parent
commit
bb6d6a677c
  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') { if (process.argv[2] !== 'child') {
for (let i = 0; i < N; ++i) { 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) => { worker.once('message', common.mustCall((msg, handle) => {
assert.strictEqual(msg, 'handle'); assert.strictEqual(msg, 'handle');
assert.ok(handle); assert.ok(handle);
@ -33,7 +33,6 @@ if (process.argv[2] !== 'child') {
} }
} else { } else {
let socket; let socket;
const port = process.argv[3];
let cbcalls = 0; let cbcalls = 0;
function socketConnected() { function socketConnected() {
if (++cbcalls === 2) if (++cbcalls === 2)
@ -47,7 +46,8 @@ if (process.argv[2] !== 'child') {
}); });
socketConnected(); socketConnected();
}); });
server.listen(port, common.localhostIPv4, () => { server.listen(0, common.localhostIPv4, () => {
const port = server.address().port;
socket = net.connect(port, common.localhostIPv4, socketConnected); socket = net.connect(port, common.localhostIPv4, socketConnected);
}); });
} }

Loading…
Cancel
Save