const { exec } = require('child_process') Array.from({ length: 500 }) .reduce(async (acc) => { await acc await run() }, null) .then(() => { console.info(`Fuzzy test success, passed ${500} tests.`) }) .catch((e) => { console.error(e) process.exit(1) }) const run = () => { return new Promise((resolve, reject) => { const testProcess = exec('node ./spawn.js', { env: process.env, }) testProcess.stdout.pipe(process.stdout) testProcess.stderr.pipe(process.stderr) testProcess.on('error', (err) => { reject(err) }) testProcess.on('exit', (code) => { if (code) { reject(new TypeError(`Child process exit code ${code}`)) } else { resolve() } }) }) }