// 递归收集 framework-tests 下所有 *.test.ts 交给 node 测试运行器。 // node --test 的 glob 模式需 v20.14+,本仓库当前 node 20.13.x 不支持, // 故用此零依赖、跨平台 runner 显式枚举文件,保持 test:framework 行为一致。 import { readdirSync, statSync } from 'node:fs'; import { join } from 'node:path'; import { spawnSync } from 'node:child_process'; const root = 'framework-tests'; const files = []; (function walk(dir) { for (const entry of readdirSync(dir)) { const p = join(dir, entry); if (statSync(p).isDirectory()) walk(p); else if (p.endsWith('.test.ts')) files.push(p); } })(root); if (files.length === 0) { console.error(`[run-framework-tests] 未发现任何 *.test.ts(root=${root})`); process.exit(1); } const r = spawnSync(process.execPath, ['--import', 'tsx', '--test', ...files], { stdio: 'inherit' }); process.exit(r.status ?? 1);