1'use strict'; 2 3// Check that spawn child doesn't create duplicated entries 4const common = require('../common'); 5const kRepetitions = 2; 6const assert = require('assert'); 7const fixtures = require('../common/fixtures'); 8const { promisify, debuglog } = require('util'); 9const debug = debuglog('test'); 10 11const { execFile } = require('child_process'); 12const execFilePromise = promisify(execFile); 13const targetScript = fixtures.path('guess-hash-seed.js'); 14 15const requiredCallback = common.mustCall((results) => { 16 const seeds = results.map((val) => val.stdout.trim()); 17 debug(`Seeds: ${seeds}`); 18 assert.strictEqual(new Set(seeds).size, seeds.length); 19 assert.strictEqual(seeds.length, kRepetitions); 20}); 21 22const generateSeed = () => execFilePromise(process.execPath, [targetScript]); 23const subprocesses = [...new Array(kRepetitions)].map(generateSeed); 24 25Promise.all(subprocesses) 26 .then(requiredCallback); 27