test: prepare test-hash-seed for CI
Reduce the time it takes to run test/pummel/test-hash-seed by switching from spawnSync() to spawn(). On my computer, this reduces the runtime from about 80 seconds to about 40 seconds. This test is not (yet) run regularly on CI, but when it was run recently, it timed out. PR-URL: https://github.com/nodejs/node/pull/25522 Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Minwoo Jung <minwoo@nodesource.com>
This commit is contained in:
parent
eed096ea2e
commit
f2e3a4ed8e
@ -2,19 +2,30 @@
|
||||
|
||||
// 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 { spawnSync } = require('child_process');
|
||||
const { spawn } = require('child_process');
|
||||
const targetScript = fixtures.path('guess-hash-seed.js');
|
||||
const seeds = [];
|
||||
|
||||
for (let i = 0; i < REPETITIONS; ++i) {
|
||||
const seed = spawnSync(process.execPath, [targetScript], {
|
||||
encoding: 'utf8'
|
||||
}).stdout.trim();
|
||||
seeds.push(seed);
|
||||
}
|
||||
const requiredCallback = () => {
|
||||
console.log(`Seeds: ${seeds}`);
|
||||
assert.strictEqual(new Set(seeds).size, seeds.length);
|
||||
assert.strictEqual(seeds.length, REPETITIONS);
|
||||
};
|
||||
|
||||
console.log(`Seeds: ${seeds}`);
|
||||
assert.strictEqual(new Set(seeds).size, seeds.length);
|
||||
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();
|
||||
});
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user