import '../common/index.mjs'; import assert from 'node:assert'; import { execFile } from 'node:child_process'; import { promisify, debuglog } from 'node:util'; // This test verifies that the V8 hash seed is random // and unique between child processes. const execFilePromise = promisify(execFile); const debug = debuglog('test'); const kRepetitions = 3; const seeds = await Promise.all(Array.from({ length: kRepetitions }, generateSeed)); debug(`Seeds: ${seeds}`); assert.strictEqual(new Set(seeds).size, seeds.length); assert.strictEqual(seeds.length, kRepetitions); async function generateSeed() { const output = await execFilePromise(process.execPath, [ '--expose-internals', '--print', 'require("internal/test/binding").internalBinding("v8").getHashSeed()', ]); return output.stdout.trim(); }