Skip to content

Commit

Permalink
test: make handling of noWarnCode stricter
Browse files Browse the repository at this point in the history
This change requires all expected warnings to be specified along with
their respective code and will raise an error if the code does not
match. This also kind of fixes the behavior when the expected warning
code was noWarnCode and there is an actual warning code.

PR-URL: #21075
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
  • Loading branch information
tniessen authored and MylesBorins committed Jun 6, 2018
1 parent ba71fe8 commit 1733ef9
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 14 deletions.
11 changes: 2 additions & 9 deletions test/common/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -589,7 +589,7 @@ exports.isAlive = function isAlive(pid) {
}
};

exports.noWarnCode = 'no_expected_warning_code';
exports.noWarnCode = undefined;

function expectWarning(name, expected) {
const map = new Map(expected);
Expand All @@ -598,14 +598,7 @@ function expectWarning(name, expected) {
assert.ok(map.has(warning.message),
`unexpected error message: "${warning.message}"`);
const code = map.get(warning.message);
if (code === undefined) {
throw new Error('An error code must be specified or use ' +
'common.noWarnCode if there is no error code. The error ' +
`code for this warning was ${warning.code}`);
}
if (code !== exports.noWarnCode) {
assert.strictEqual(warning.code, code);
}
assert.strictEqual(warning.code, code);
// Remove a warning message after it is seen so that we guarantee that we
// get each message only once.
map.delete(expected);
Expand Down
2 changes: 1 addition & 1 deletion test/parallel/test-promises-unhandled-symbol-rejections.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ const expectedDeprecationWarning = ['Unhandled promise rejections are ' +
'deprecated. In the future, promise ' +
'rejections that are not handled will ' +
'terminate the Node.js process with a ' +
'non-zero exit code.', common.noWarnCode];
'non-zero exit code.', 'DEP0018'];
const expectedPromiseWarning = ['Unhandled promise rejection. ' +
'This error originated either by throwing ' +
'inside of an async function without a catch ' +
Expand Down
8 changes: 4 additions & 4 deletions test/parallel/test-util.js
Original file line number Diff line number Diff line change
Expand Up @@ -142,10 +142,10 @@ assert.strictEqual(util.isFunction(), false);
assert.strictEqual(util.isFunction('string'), false);

common.expectWarning('DeprecationWarning', [
['util.print is deprecated. Use console.log instead.', common.noWarnCode],
['util.puts is deprecated. Use console.log instead.', common.noWarnCode],
['util.debug is deprecated. Use console.error instead.', common.noWarnCode],
['util.error is deprecated. Use console.error instead.', common.noWarnCode]
['util.print is deprecated. Use console.log instead.', 'DEP0026'],
['util.puts is deprecated. Use console.log instead.', 'DEP0027'],
['util.debug is deprecated. Use console.error instead.', 'DEP0028'],
['util.error is deprecated. Use console.error instead.', 'DEP0029']
]);

util.print('test');
Expand Down

0 comments on commit 1733ef9

Please sign in to comment.