fix: pass the correct HostPort into the node inspector (#17380)

Fixes #17348
This commit is contained in:
Samuel Attard 2019-03-18 09:19:33 -07:00 committed by GitHub
parent db29978fe0
commit 5025c991ee
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 30 additions and 1 deletions

View file

@ -59,7 +59,8 @@ void NodeDebugger::Start() {
}
const char* path = "";
if (inspector->Start(path, options, env_->inspector_host_port(),
if (inspector->Start(path, options,
std::make_shared<node::HostPort>(options.host_port),
true /* is_main */))
DCHECK(env_->inspector_agent()->IsListening());
}

View file

@ -269,6 +269,34 @@ describe('node feature', () => {
child.stdout.on('data', outDataHandler)
})
it('supports starting the v8 inspector with --inspect and a provided port', (done) => {
child = ChildProcess.spawn(process.execPath, ['--inspect=17364', path.join(__dirname, 'fixtures', 'module', 'run-as-node.js')], {
env: {
ELECTRON_RUN_AS_NODE: true
}
})
let output = ''
function cleanup () {
child.stderr.removeListener('data', errorDataListener)
child.stdout.removeListener('data', outDataHandler)
}
function errorDataListener (data) {
output += data
if (output.trim().startsWith('Debugger listening on ws://')) {
expect(output.trim()).to.contain(':17364', 'should be listening on port 17364')
cleanup()
done()
}
}
function outDataHandler (data) {
cleanup()
done(new Error(`Unexpected output: ${data.toString()}`))
}
child.stderr.on('data', errorDataListener)
child.stdout.on('data', outDataHandler)
})
it('does not start the v8 inspector when --inspect is after a -- argument', (done) => {
child = ChildProcess.spawn(remote.process.execPath, [path.join(__dirname, 'fixtures', 'module', 'noop.js'), '--', '--inspect'])