mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
test: increase _debugger coverage
The uncaught exception test for `_debugger.js` was not exercising some code (particularly concerning `interface_.child`) because of the synchronous nature of the test. This adds an asynchronous version to increase test coverage. PR-URL: https://github.com/nodejs/node/pull/8403 Reviewed-By: Fedor Indutny <fedor@indutny.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
18
test/fixtures/debug-uncaught-async.js
vendored
Normal file
18
test/fixtures/debug-uncaught-async.js
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
'use strict';
|
||||
|
||||
require('../common');
|
||||
const assert = require('assert');
|
||||
const debug = require('_debugger');
|
||||
|
||||
function emit() {
|
||||
const error = new Error('fhqwhgads');
|
||||
process.emit('uncaughtException', error);
|
||||
}
|
||||
|
||||
assert.doesNotThrow(emit);
|
||||
|
||||
// Send debug.start() an argv array of length 1 to avoid code that exits
|
||||
// if argv is empty.
|
||||
debug.start(['sterrance']);
|
||||
|
||||
setImmediate(emit);
|
||||
22
test/parallel/test-debug-uncaught-exception-async.js
Normal file
22
test/parallel/test-debug-uncaught-exception-async.js
Normal file
@@ -0,0 +1,22 @@
|
||||
'use strict';
|
||||
const common = require('../common');
|
||||
const assert = require('assert');
|
||||
const path = require('path');
|
||||
const spawn = require('child_process').spawn;
|
||||
|
||||
const emitUncaught = path.join(common.fixturesDir, 'debug-uncaught-async.js');
|
||||
const result = spawn(process.execPath, [emitUncaught], {encoding: 'utf8'});
|
||||
|
||||
var stderr = '';
|
||||
result.stderr.on('data', (data) => {
|
||||
stderr += data;
|
||||
});
|
||||
|
||||
result.on('close', (code) => {
|
||||
const expectedMessage =
|
||||
"There was an internal error in Node's debugger. Please report this bug.";
|
||||
|
||||
assert.strictEqual(code, 1);
|
||||
assert(stderr.includes(expectedMessage));
|
||||
assert(stderr.includes('Error: fhqwhgads'));
|
||||
});
|
||||
Reference in New Issue
Block a user