Model-Observatory / tests /release.test.cjs
alphabell-research's picture
Publish the measured Flint and Qwen explorer (#1)
05090eb
Raw History Blame Contribute Delete
2.14 kB
'use strict';
const test=require('node:test');
const assert=require('node:assert/strict');
const fs=require('node:fs');
const path=require('node:path');
const zlib=require('node:zlib');
const crypto=require('node:crypto');
const root=path.resolve(__dirname,'..');
const digest=b=>crypto.createHash('sha256').update(b).digest('hex');
const rows=JSON.parse(fs.readFileSync(path.join(root,'traces/index.json')));
for(const row of rows){
test(row.model+' capture matches both published checksums and exact frame count',()=>{
const compressed=fs.readFileSync(path.join(root,row.file)),plain=zlib.gunzipSync(compressed),trace=JSON.parse(plain);
assert.equal(digest(compressed),row.gzip_sha256);assert.equal(digest(plain),row.sha256);
assert.equal(plain.length,row.bytes);assert.equal(compressed.length,row.compressed_bytes);
assert.equal(trace.id,row.id);assert.equal(trace.model.id,row.model);assert.equal(trace.frames.length,row.tokens);
assert.equal(trace.prompt,row.prompt);assert.equal(trace.result.reason,'eos');
});
}
test('the examples share the same original prompt and sampling settings',()=>{
const traces=rows.map(row=>JSON.parse(zlib.gunzipSync(fs.readFileSync(path.join(root,row.file)))));
assert.equal(traces[0].prompt,traces[1].prompt);assert.deepEqual(traces[0].settings,traces[1].settings);
assert.equal(traces.reduce((n,t)=>n+t.frames.length,0),103);
});
test('the static entry point references files included in the release',()=>{
const html=fs.readFileSync(path.join(root,'index.html'),'utf8');
for(const [,file]of html.matchAll(/(?:src|href)="([^"?#]+\.(?:js|css|svg))"/g))assert.ok(fs.statSync(path.join(root,file)).isFile(),file);
for(const name of ['README.md','TRACE-FORMAT.md','NOTICE','LICENSE','cover.png','preview.png','sources.json'])assert.ok(fs.statSync(path.join(root,name)).size>0,name);
});
test('the viewer has no inference or third-party font dependency',()=>{
const app=fs.readFileSync(path.join(root,'app.js'),'utf8'),css=fs.readFileSync(path.join(root,'style.css'),'utf8');
assert.doesNotMatch(app,/new EventSource|fetch\(['"]api\//);assert.doesNotMatch(css,/@import|https?:\/\//);
});