mirror of
https://github.com/nodejs/node.git
synced 2024-12-01 16:10:02 +01:00
2d2986ae72
* Make common.skip() exit. Also add common.printSkipMessage() for partial skips. * Don't make needless things before skip PR-URL: https://github.com/nodejs/node/pull/14021 Fixes: https://github.com/nodejs/node/issues/14016 Reviewed-By: Refael Ackermann <refack@gmail.com>
23 lines
640 B
JavaScript
23 lines
640 B
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
if (!common.hasCrypto)
|
|
common.skip('missing crypto');
|
|
|
|
const assert = require('assert');
|
|
const execFile = require('child_process').execFile;
|
|
|
|
const setup = 'const enc = { toString: () => { throw new Error("xyz"); } };';
|
|
|
|
const scripts = [
|
|
'crypto.createHash("sha256").digest(enc)',
|
|
'crypto.createHmac("sha256", "msg").digest(enc)'
|
|
];
|
|
|
|
scripts.forEach((script) => {
|
|
const node = process.execPath;
|
|
const code = `${setup};${script}`;
|
|
execFile(node, [ '-e', code ], common.mustCall((err, stdout, stderr) => {
|
|
assert(stderr.includes('Error: xyz'), 'digest crashes');
|
|
}));
|
|
});
|