test: make test-crypto-hash compatible with OpenSSL > 3.4.0 · nodejs/node@861c99f
@@ -7,6 +7,7 @@ const assert = require('assert');
77const crypto = require('crypto');
88const fs = require('fs');
9910+const { hasOpenSSL } = common;
1011const fixtures = require('../common/fixtures');
11121213let cryptoType;
@@ -182,19 +183,21 @@ assert.throws(
182183183184// Test XOF hash functions and the outputLength option.
184185{
185-// Default outputLengths.
186-assert.strictEqual(crypto.createHash('shake128').digest('hex'),
187-'7f9c2ba4e88f827d616045507605853e');
188-assert.strictEqual(crypto.createHash('shake128', null).digest('hex'),
189-'7f9c2ba4e88f827d616045507605853e');
190-assert.strictEqual(crypto.createHash('shake256').digest('hex'),
191-'46b9dd2b0ba88d13233b3feb743eeb24' +
192-'3fcd52ea62b81b82b50c27646ed5762f');
193-assert.strictEqual(crypto.createHash('shake256', { outputLength: 0 })
194-.copy() // Default outputLength.
195-.digest('hex'),
196-'46b9dd2b0ba88d13233b3feb743eeb24' +
197-'3fcd52ea62b81b82b50c27646ed5762f');
186+// Default outputLengths. Since OpenSSL 3.4 an outputLength is mandatory
187+if (!hasOpenSSL(3, 4)) {
188+assert.strictEqual(crypto.createHash('shake128').digest('hex'),
189+'7f9c2ba4e88f827d616045507605853e');
190+assert.strictEqual(crypto.createHash('shake128', null).digest('hex'),
191+'7f9c2ba4e88f827d616045507605853e');
192+assert.strictEqual(crypto.createHash('shake256').digest('hex'),
193+'46b9dd2b0ba88d13233b3feb743eeb24' +
194+'3fcd52ea62b81b82b50c27646ed5762f');
195+assert.strictEqual(crypto.createHash('shake256', { outputLength: 0 })
196+.copy() // Default outputLength.
197+.digest('hex'),
198+'46b9dd2b0ba88d13233b3feb743eeb24' +
199+'3fcd52ea62b81b82b50c27646ed5762f');
200+}
198201199202// Short outputLengths.
200203assert.strictEqual(crypto.createHash('shake128', { outputLength: 0 })