Feat: Read test results from file instead of running

This commit is contained in:
2025-11-27 10:40:15 -08:00
parent 53b1971c30
commit 2b90609df4

View File

@@ -114,7 +114,6 @@
list.appendChild(li); list.appendChild(li);
const outUrl=`./tests/${test}/outputs/${sModel}.js`; const outUrl=`./tests/${test}/outputs/${sModel}.js`;
// Check if file exists by trying to fetch head or text
const srcP=fetch(outUrl).then(r=>{ const srcP=fetch(outUrl).then(r=>{
if(!r.ok) throw new Error('404'); if(!r.ok) throw new Error('404');
return r.text(); return r.text();
@@ -128,19 +127,11 @@
continue; continue;
} }
ran++; ran++;
let status='✅';
try{ const resMatch=src.match(/\/\/ Result: (PASS|FAIL)/);
const testP=(async()=>{ const status=resMatch?(resMatch[1]==='PASS'?'✅':'❌'):'❓';
const tMod=await import(`./tests/${test}/test.js`);
const lMod=await import(outUrl);
await tMod.default.runTest(lMod.default);
})();
await Promise.race([testP,new Promise((_,r)=>setTimeout(()=>r(new Error('Timeout')),12000))]);
}catch(e){
console.error(`${model} - ${test}: `,e);
status='❌';
}
if(status==='✅')passed++; if(status==='✅')passed++;
const fTime=src.match(/\/\/ Generation time: ([\d\.]+)s/)?.[1]; const fTime=src.match(/\/\/ Generation time: ([\d\.]+)s/)?.[1];
const timeStr=fTime?`${parseFloat(fTime).toFixed(3)}s`:'N/A'; const timeStr=fTime?`${parseFloat(fTime).toFixed(3)}s`:'N/A';
li.innerHTML=`${status} <span class="font-medium text-gray-800">${test}</span><span class="mono text-gray-500 ml-auto">${timeStr}</span>`; li.innerHTML=`${status} <span class="font-medium text-gray-800">${test}</span><span class="mono text-gray-500 ml-auto">${timeStr}</span>`;