Skip to content

test: make test-child-process-fork-net more robust

Rodrigo Muino Tomonari requested to merge github/fork/Trott/forknet into master
Checklist
  • tests and code linting passes
  • the commit message follows commit guidelines
Affected core subsystem(s)

test child_process

Description of change

test-child-process-fork-net will sometimes fail in CI with EADDRINUSE because an earlier test failed to free common.PORT. Have the operating system provide an available port instead.

Example failure: https://ci.nodejs.org/job/node-test-commit-freebsd/2679/nodes=freebsd10-64/consoleFull

not ok 55 parallel/test-child-process-fork-net
# events.js:160
#       throw er; // Unhandled 'error' event
#       ^
# 
# Error: listen EADDRINUSE :::12347
#     at Object.exports._errnoException (util.js:1007:11)
#     at exports._exceptionWithHostPort (util.js:1030:20)
#     at Server._listen2 (net.js:1253:14)
#     at listen (net.js:1289:10)
#     at Server.listen (net.js:1385:5)
#     at testSocket (/usr/home/iojs/build/workspace/node-test-commit-freebsd/nodes/freebsd10-64/test/parallel/test-child-process-fork-net.js:146:12)
#     at /usr/home/iojs/build/workspace/node-test-commit-freebsd/nodes/freebsd10-64/test/parallel/test-child-process-fork-net.js:172:7
#     at ChildProcess.messageHandlers (/usr/home/iojs/build/workspace/node-test-commit-freebsd/nodes/freebsd10-64/test/parallel/test-child-process-fork-net.js:117:9)
#     at emitTwo (events.js:106:13)
#     at ChildProcess.emit (events.js:191:7)
# PARENT: server listening
# CHILD: server listening
# PARENT: got connection
# PARENT: got connection
# CHILD: got connection
# PARENT: got connection
# CLIENT: connected
# CLIENT: connected
# CLIENT: connected
# CLIENT: connected
# CLIENT: closed
# CLIENT: closed
# CLIENT: closed
# CLIENT: closed
# PARENT: server closed
  ---
  duration_ms: 0.448

@mscdex @nodejs/testing

Merge request reports

Loading