fix: pass the correct HostPort into the node inspector (#17380)
Fixes #17348
This commit is contained in:
		
					parent
					
						
							
								db29978fe0
							
						
					
				
			
			
				commit
				
					
						5025c991ee
					
				
			
		
					 2 changed files with 30 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -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());
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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'])
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue