* test(ci): prove shared toolkit with real PromptManager host coverage * test(ci): match KikoTools Python 3.13 compatibility coverage
19 lines
967 B
JavaScript
19 lines
967 B
JavaScript
import { mkdirSync, writeFileSync } from 'node:fs';
|
|
import { join } from 'node:path';
|
|
import { mapBrowserCoverage } from '@comfyassets/toolkit/testing/coverage';
|
|
import { randomUUID } from 'node:crypto';
|
|
import { repositoryRoot } from './vendor-viewerjs.mjs';
|
|
|
|
export async function startCoverage(page, browserName) {
|
|
if (process.env.PM_JS_COVERAGE && browserName === 'chromium') {
|
|
await page.coverage.startJSCoverage({ resetOnNavigation: false });
|
|
}
|
|
}
|
|
export async function saveCoverage(page, browserName) {
|
|
if (!process.env.PM_JS_COVERAGE || browserName !== 'chromium') return;
|
|
const entries = await page.coverage.stopJSCoverage();
|
|
const result = mapBrowserCoverage(entries, { urlPrefix: '/prompt_manager/js/', sourceRoot: join(repositoryRoot, 'web/js') });
|
|
mkdirSync(process.env.PM_JS_COVERAGE, { recursive: true });
|
|
writeFileSync(join(process.env.PM_JS_COVERAGE, `browser-${randomUUID()}.json`), JSON.stringify({ result }));
|
|
}
|