diff --git a/lib/internal/debugger/inspect_client.js b/lib/internal/debugger/inspect_client.js index 315617bf08a800..264e2743383972 100644 --- a/lib/internal/debugger/inspect_client.js +++ b/lib/internal/debugger/inspect_client.js @@ -13,7 +13,7 @@ const { const Buffer = require('buffer').Buffer; const crypto = require('crypto'); const { ERR_DEBUGGER_ERROR } = require('internal/errors').codes; -const { EventEmitter } = require('events'); +const { EventEmitter, once } = require('events'); const http = require('http'); const { URL } = require('internal/url'); @@ -343,13 +343,10 @@ class Client extends EventEmitter { this.emit('ready'); }; - return new Promise((resolve, reject) => { - this.once('error', reject); - this.once('ready', resolve); - - httpReq.on('upgrade', handshakeListener); - httpReq.end(); - }); + const onReady = once(this, 'ready'); + httpReq.on('upgrade', handshakeListener); + httpReq.end(); + return onReady; } } diff --git a/test/common/debugger.js b/test/common/debugger.js index f5a47cbe06ea71..41d04fd67df64a 100644 --- a/test/common/debugger.js +++ b/test/common/debugger.js @@ -141,6 +141,10 @@ function startCLI(args, flags = [], spawnOpts = {}, opts = { randomPort: true }) return getOutput(); }, + get stderrOutput() { + return stderrOutput; + }, + get rawOutput() { return outputBuffer.join('').toString(); }, diff --git a/test/parallel/test-debugger-restart-message.js b/test/parallel/test-debugger-restart-message.js index 190d0c18ccc081..292a15bd9f4d7a 100644 --- a/test/parallel/test-debugger-restart-message.js +++ b/test/parallel/test-debugger-restart-message.js @@ -31,6 +31,8 @@ const startCLI = require('../common/debugger'); } finally { await cli.quit(); } + + assert.doesNotMatch(cli.stderrOutput, /MaxListenersExceededWarning/); } onWaitForInitialBreak();