summaryrefslogtreecommitdiff
path: root/test/parallel/test-regress-GH-9819.js
blob: fb9bb489a081cf67dd976bc5136e3b9ca0d56208 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
'use strict';
const common = require('../common');
const assert = require('assert');
const execFile = require('child_process').execFile;

if (!common.hasCrypto) {
  common.skip('missing crypto');
  return;
}

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');
  }));
});