Skip to content

Commit

Permalink
test: merge test with unnecessary child process
Browse files Browse the repository at this point in the history
Test didn't require child process creation. While this test has not been
unstable, child process creation is slower and can be flaky in ci, so
test directly for the segfault regression.

PR-URL: #25025
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
  • Loading branch information
sam-github authored and BethGriggs committed Feb 12, 2019
1 parent 694ea00 commit 56c6686
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 27 deletions.
11 changes: 11 additions & 0 deletions test/parallel/test-crypto-hash.js
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,17 @@ assert.throws(function() {
crypto.createHash('xyzzy');
}, /Digest method not supported/);

// Issue https://github.com/nodejs/node/issues/9819: throwing encoding used to
// segfault.
common.expectsError(
() => crypto.createHash('sha256').digest({
toString: () => { throw new Error('boom'); },
}),
{
type: Error,
message: 'boom'
});

// Default UTF-8 encoding
const hutf8 = crypto.createHash('sha512').update('УТФ-8 text').digest('hex');
assert.strictEqual(
Expand Down
10 changes: 10 additions & 0 deletions test/parallel/test-crypto-hmac.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,16 @@ common.expectsError(
message: 'The "hmac" argument must be of type string. Received type object'
});

// This used to segfault. See: https://github.com/nodejs/node/issues/9819
common.expectsError(
() => crypto.createHmac('sha256', 'key').digest({
toString: () => { throw new Error('boom'); },
}),
{
type: Error,
message: 'boom'
});

common.expectsError(
() => crypto.createHmac('sha1', null),
{
Expand Down
27 changes: 0 additions & 27 deletions test/parallel/test-crypto-tostring-segfault.js

This file was deleted.

0 comments on commit 56c6686

Please sign in to comment.