mirror of
https://github.com/nodejs/node.git
synced 2025-05-10 17:57:53 +00:00

Rename the tests appropriately alongside mentioning the subsystem. Also, make a few basic changes to make sure the tests conform to the standard test structure. - Rename test-regress-GH-9819 to test-crypto-tostring-segfault - Rename test-regress-GH-5051 to test-http-addrequest-localaddress - Rename test-regress-GH-5727 to test-net-listen-invalid-port - Rename test-regress-GH-5927 to test-tty-stdin-pipe - Rename test-regress-GH-6235 to test-v8-global-setter PR-URL: https://github.com/nodejs/node/pull/19275 Refs: https://github.com/nodejs/node/issues/19105 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
28 lines
855 B
JavaScript
28 lines
855 B
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
if (!common.hasCrypto)
|
|
common.skip('missing crypto');
|
|
|
|
// This test ensures that node doesn't SEGFAULT when either of
|
|
// `crypto.createHash` or `crypto.createHmac` are given an object that defines
|
|
// a throwing `toString`.
|
|
// https://github.com/nodejs/node/issues/9819
|
|
|
|
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');
|
|
}));
|
|
});
|