diff --git a/debug.html b/debug.html index 424730d..e63dd99 100644 --- a/debug.html +++ b/debug.html @@ -36,7 +36,7 @@

- Review exactly what each model produced for every benchmark test. + Review the runtime output of what each model produced for every benchmark test.

@@ -56,8 +56,7 @@ const now=new Date(); stamp.textContent=now.toLocaleDateString('en-US',{month:'short',year:'numeric'}); stamp.dateTime=now.toISOString().split('T')[0]; - const esc=s=>s.replace(/[&<>]/g,c=>({ '&':'&','<':'<','>':'>' }[c])); - const load=path=>fetch(path).then(r=>r.ok?r.text():null).catch(()=>null); + const esc=s=>s.replace(/[&<>]/g,c=>({'&':'&','<':'<','>':'>'})[c]); const run=async()=>{ const [readme,genTimes]=await Promise.all([ fetch('./README').then(r=>r.text()), @@ -65,36 +64,33 @@ ]); const models=readme.match(/\n([\s\S]+?)\n/)[1].trim().split('\n'); const tests=[...new Set(Object.values(genTimes).flatMap(o=>Object.keys(o||{})))].sort(); - if(!tests.length){ - container.innerHTML='

No tests available.

'; - return; - } for(const model of models){ const sModel=model.replace(/[\/:]/g,'_'); const card=document.createElement('section'); card.className='rounded-2xl border border-gray-200 bg-white shadow-sm overflow-hidden'; - card.innerHTML=` -
-

${model}

-
- `; + card.innerHTML=`

${model}

`; container.appendChild(card); const list=get(`list-${sModel}`); for(const test of tests){ const li=document.createElement('li'); - li.className='list-none'; list.appendChild(li); - const code=await load(`./tests/${test}/outputs/${sModel}.js`); - const body=code?`
${esc(code)}
`:`

No generated output found.

`; - li.innerHTML=` -
- - ${code?'✅':'⚠️'} - ${test} - ${code?'View code':'Missing output'} - -
${body}
-
`; + let body,status='✅',label='View output'; + try{ + const [tMod,lMod]=await Promise.all([ + import(`./tests/${test}/test.js`), + import(`./tests/${test}/outputs/${sModel}.js`) + ]); + if(!lMod?.default) throw new Error('Generated module invalid.'); + if(!tMod?.default?.getTestCases) throw new Error('Test case getter missing.'); + const result=await lMod.default(...tMod.default.getTestCases()); + const str=JSON.stringify(result,null,2); + body=`
${esc(str)}
`; + }catch(e){ + status='❌'; + label='View error'; + body=`

${esc(e.message)}

`; + } + li.innerHTML=`
${status} ${test}${label}
${body}
`; } } };