scripts/run-tests.mjs
Rama master · réplica de lectura del repositorio original.
#!/usr/bin/env node
import { spawn } from 'node:child_process';
import { listTopLevelTestFiles } from './run-test-shard.mjs';
// npm test keeps Node's normal multi-file runner and concurrency. Only discovery changes;
// test:release remains the serial, timed, one-process-per-file authority.
const files = listTopLevelTestFiles();
if (!files.length) {
console.error('npm test selected zero test files');
process.exitCode = 2;
} else {
console.log(`TEST_DISCOVERY ${files.length} unique files`);
const child = spawn(process.execPath, ['--import', './test/setup-env.mjs', '--test', ...process.argv.slice(2), ...files], {
cwd: process.cwd(), env: process.env, stdio: 'inherit',
});
child.on('error', error => { console.error(`npm test spawn failure: ${error.message}`); process.exitCode = 2; });
child.on('close', (code, signal) => { process.exitCode = signal ? 2 : code ?? 2; });
}