#!/usr/bin/env node const { spawnSync } = require('child_process'); const fs = require('fs'); const path = require('path'); const args = process.argv.slice(2); let url = 'http://127.0.0.1:8000/docs/prejoin_template.html'; for (let i=0;i 0.1% let failed = false; for (const item of report.report) { if (item.ratio && item.ratio > THRESHOLD) { console.error(`[visual-test] REGION ${item.region} exceeded threshold: ratio=${item.ratio} mismatched=${item.mismatched} total=${item.total}`); failed = true; } else { console.log(`[visual-test] REGION ${item.region}: ratio=${item.ratio || 0} mismatched=${item.mismatched || 0}/${item.total || 0}`); } } const outJson = '/tmp/prejoin_visual_test_summary.json'; fs.writeFileSync(outJson, JSON.stringify({ url, threshold: THRESHOLD, generatedAt: new Date().toISOString(), report }, null, 2)); console.log('[visual-test] summary written to', outJson); if (failed) { console.error('[visual-test] visual test FAILED'); process.exit(3); } console.log('[visual-test] visual test PASSED'); process.exit(0);