node/test/pummel/test-hash-seed.js

32 lines
933 B
JavaScript
Raw Normal View History

'use strict';
// Check that spawn child doesn't create duplicated entries
require('../common');
const Countdown = require('../common/countdown');
const REPETITIONS = 2;
const assert = require('assert');
const fixtures = require('../common/fixtures');
const { spawn } = require('child_process');
const targetScript = fixtures.path('guess-hash-seed.js');
const seeds = [];
const requiredCallback = () => {
console.log(`Seeds: ${seeds}`);
assert.strictEqual(new Set(seeds).size, seeds.length);
assert.strictEqual(seeds.length, REPETITIONS);
};
const countdown = new Countdown(REPETITIONS, requiredCallback);
for (let i = 0; i < REPETITIONS; ++i) {
let result = '';
const subprocess = spawn(process.execPath, [targetScript]);
subprocess.stdout.setEncoding('utf8');
subprocess.stdout.on('data', (data) => { result += data; });
subprocess.on('exit', () => {
seeds.push(result.trim());
countdown.dec();
});
}