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