From 7e5ff30656c7c28705c77399a633ae298c34d66d Mon Sep 17 00:00:00 2001 From: multipleof4 Date: Wed, 26 Nov 2025 17:27:22 -0800 Subject: [PATCH] Fix: Verify test.js existence to ignore stale directories --- scripts/run-benchmark.js | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/scripts/run-benchmark.js b/scripts/run-benchmark.js index 20ddb41..9591135 100644 --- a/scripts/run-benchmark.js +++ b/scripts/run-benchmark.js @@ -48,15 +48,23 @@ const main = async () => { const models = sModel ? [sModel] : allModels; const testDirs = (await fs.readdir(TESTS, { withFileTypes: true })).filter(d => d.isDirectory()).map(d => d.name).sort(); - let targetTests = testDirs; + let targetTests = []; - if (sTest) { - targetTests = testDirs.filter(d => d.startsWith(`${sTest}_`)); - if (!targetTests.length) throw new Error(`Test ${sTest} not found.`); - } else { - targetTests = testDirs.slice(0, Math.ceil(testDirs.length * (pct / 100))); + const candidates = sTest + ? testDirs.filter(d => d.startsWith(`${sTest}_`)) + : testDirs.slice(0, Math.ceil(testDirs.length * (pct / 100))); + + for (const dir of candidates) { + try { + await fs.access(path.join(TESTS, dir, 'test.js')); + targetTests.push(dir); + } catch { + if (sTest) console.warn(`Skipping ${dir}: test.js not found`); + } } + if (sTest && !targetTests.length) throw new Error(`No valid tests found for "${sTest}"`); + const clean = dir => fs.rm(path.join(TESTS, dir, OUT_DIR_NAME, sModel ? `${sModel.replace(/[\/:]/g, '_')}.js` : ''), { recursive: !sModel, force: true }); await Promise.all(targetTests.map(clean));