mirror of https://github.com/lukechilds/node.git
Browse Source
The current format that prints the process PID before the actual message. Adapt the test so it also passes on Windows, that emits a different message from the rest of platforms. Move the test to parallel. PR-URL: https://github.com/nodejs/node/pull/6584 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Rich Trott <rtrott@gmail.com>process-exit-stdio-flushing
Santiago Gimeno
9 years ago
2 changed files with 54 additions and 32 deletions
@ -1,32 +0,0 @@ |
|||
'use strict'; |
|||
require('../common'); |
|||
var assert = require('assert'); |
|||
var spawn = require('child_process').spawn; |
|||
|
|||
var buffer = ''; |
|||
|
|||
// connect to debug agent
|
|||
var interfacer = spawn(process.execPath, ['debug', '-p', '655555']); |
|||
|
|||
console.error(process.execPath, 'debug', '-p', '655555'); |
|||
interfacer.stdout.setEncoding('utf-8'); |
|||
interfacer.stderr.setEncoding('utf-8'); |
|||
var onData = function(data) { |
|||
data = (buffer + data).split('\n'); |
|||
buffer = data.pop(); |
|||
data.forEach(function(line) { |
|||
interfacer.emit('line', line); |
|||
}); |
|||
}; |
|||
interfacer.stdout.on('data', onData); |
|||
interfacer.stderr.on('data', onData); |
|||
|
|||
interfacer.on('line', function(line) { |
|||
line = line.replace(/^(debug> *)+/, ''); |
|||
var expected = 'Target process: 655555 doesn\'t exist.'; |
|||
assert.ok(expected == line, 'Got unexpected line: ' + line); |
|||
}); |
|||
|
|||
interfacer.on('exit', function(code, signal) { |
|||
assert.ok(code == 1, 'Got unexpected code: ' + code); |
|||
}); |
@ -0,0 +1,54 @@ |
|||
'use strict'; |
|||
const common = require('../common'); |
|||
const assert = require('assert'); |
|||
const spawn = require('child_process').spawn; |
|||
|
|||
var buffer = ''; |
|||
|
|||
// connect to debug agent
|
|||
var interfacer = spawn(process.execPath, ['debug', '-p', '655555']); |
|||
|
|||
console.error(process.execPath, 'debug', '-p', '655555'); |
|||
interfacer.stdout.setEncoding('utf-8'); |
|||
interfacer.stderr.setEncoding('utf-8'); |
|||
var onData = function(data) { |
|||
data = (buffer + data).split('\n'); |
|||
buffer = data.pop(); |
|||
data.forEach(function(line) { |
|||
interfacer.emit('line', line); |
|||
}); |
|||
}; |
|||
interfacer.stdout.on('data', onData); |
|||
interfacer.stderr.on('data', onData); |
|||
|
|||
var lineCount = 0; |
|||
interfacer.on('line', function(line) { |
|||
var expected; |
|||
const pid = interfacer.pid; |
|||
if (common.isWindows) { |
|||
switch (++lineCount) { |
|||
case 1: |
|||
line = line.replace(/^(debug> *)+/, ''); |
|||
var msg = 'There was an internal error in Node\'s debugger. ' + |
|||
'Please report this bug.'; |
|||
expected = `(node:${pid}) ${msg}`; |
|||
break; |
|||
|
|||
case 2: |
|||
expected = 'The parameter is incorrect.'; |
|||
break; |
|||
|
|||
default: |
|||
return; |
|||
} |
|||
} else { |
|||
line = line.replace(/^(debug> *)+/, ''); |
|||
expected = `(node:${pid}) Target process: 655555 doesn\'t exist.`; |
|||
} |
|||
|
|||
assert.strictEqual(expected, line); |
|||
}); |
|||
|
|||
interfacer.on('exit', function(code, signal) { |
|||
assert.ok(code == 1, 'Got unexpected code: ' + code); |
|||
}); |
Loading…
Reference in new issue