diff --git a/lib/internal/debugger/inspect.js b/lib/internal/debugger/inspect.js index 42b5c64ab87029..e006f513f9b93f 100644 --- a/lib/internal/debugger/inspect.js +++ b/lib/internal/debugger/inspect.js @@ -45,7 +45,7 @@ const debuglog = util.debuglog('inspect'); const { ERR_DEBUGGER_STARTUP_ERROR } = require('internal/errors').codes; -async function portIsFree(host, port, timeout = 9999) { +async function portIsFree(host, port, timeout = 3000) { if (port === 0) return; // Binding to a random port. const retryDelay = 150; @@ -64,7 +64,10 @@ async function portIsFree(host, port, timeout = 9999) { const error = await new Promise((resolve) => { const socket = net.connect(port, host); socket.on('error', resolve); - socket.on('connect', resolve); + socket.on('connect', () => { + socket.end(); + resolve(); + }); }); if (error?.code === 'ECONNREFUSED') { return; diff --git a/test/common/debugger.js b/test/common/debugger.js index d2ac4f3b6c5fbf..4aff5b9a0f74d9 100644 --- a/test/common/debugger.js +++ b/test/common/debugger.js @@ -7,7 +7,13 @@ const BREAK_MESSAGE = new RegExp('(?:' + [ 'exception', 'other', 'promiseRejection', ].join('|') + ') in', 'i'); -const TIMEOUT = common.platformTimeout(5000); +let TIMEOUT = common.platformTimeout(5000); +if (common.isWindows) { + // Some of the windows machines in the CI need more time to receive + // the outputs from the client. + // https://github.com/nodejs/build/issues/3014 + TIMEOUT = common.platformTimeout(15000); +} function isPreBreak(output) { return /Break on start/.test(output) && /1 \(function \(exports/.test(output);