mirror of https://github.com/nodejs/node.git
32 lines
933 B
JavaScript
32 lines
933 B
JavaScript
'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();
|
|
});
|
|
}
|