-
- Notifications
You must be signed in to change notification settings - Fork 33.8k
Closed
Description
This test fails because we don't receive nothing except first startup message
var app = require('child_process') .exec('node --debug -e "setInterval(console.log, 10, {a: 1})"'); app.stderr.on('data', () => setTimeout(() => require('net').connect('5858', function() { var buffer = ''; var data = JSON.stringify({ "seq":2, "type":"request", "command":"evaluate", "arguments":{ "expression":"1", "global":true, "maxStringLength":-1 }}); this.on('data', (data) => buffer += data); this.write(`Content-Length: ${Buffer.byteLength(data, 'utf8')}\r\n\r\n${data}`); setTimeout(() => { var cl = 0; var rx = /Content-Length/g; // We wait two messages - startup and evaluation response // We wait two Content-Length heades - one for each message while (rx.exec(buffer)) cl++; console.assert(cl == 2, 'There is no second message'); console.log('All works fine'); process.exit(0); }, 300) }), 300 /* small delay to initialize debugger in app */));But if I change console.log arguments in line 2 - all works fine:
var app = require('child_process') .exec('node --debug -e "setInterval(console.log, 10, 1)"'); app.stderr.on('data', () => setTimeout(() => require('net').connect('5858', function() { var buffer = ''; var data = JSON.stringify({ "seq":2, "type":"request", "command":"evaluate", "arguments":{ "expression":"1", "global":true, "maxStringLength":-1 }}); this.on('data', (data) => buffer += data); this.write(`Content-Length: ${Buffer.byteLength(data, 'utf8')}\r\n\r\n${data}`); setTimeout(() => { var cl = 0; var rx = /Content-Length/g; // We wait two messages - startup and evaluation response // We wait two Content-Length heades - one for each message while (rx.exec(buffer)) cl++; console.assert(cl == 2, 'There is no second message'); console.log('All works fine'); process.exit(0); }, 300) }), 300 /* small delay to initialize debugger in app */));Metadata
Metadata
Assignees
Labels
No labels