Accumulated uncommitted work: GHOST Web backend, WebGL/GPU web layer, web workflow engine and protocol, tooling, docs and task records. Large generated evidence, user-testing archives, build snapshots and imported test assets remain untracked. Co-Authored-By: Claude Code <noreply@anthropic.com>
31 lines
1.3 KiB
TypeScript
31 lines
1.3 KiB
TypeScript
import fs from "node:fs";
|
|
import path from "node:path";
|
|
import { test } from "@playwright/test";
|
|
|
|
const root = path.resolve(import.meta.dirname, "../../..");
|
|
|
|
test("collect engine worker error reports during compressed open", async ({ page }) => {
|
|
test.setTimeout(180_000);
|
|
await page.goto("/");
|
|
await page.waitForTimeout(12000);
|
|
for (const worker of page.workers()) {
|
|
await worker.evaluate(() => {
|
|
const scope = self as unknown as { __reports?: unknown[] };
|
|
if (scope.__reports) return;
|
|
scope.__reports = [];
|
|
self.addEventListener("message", (event: Event) => {
|
|
const data = (event as MessageEvent).data;
|
|
if (!data) return;
|
|
if (data.error) scope.__reports!.push({ requestId: String(data.requestId ?? data.id ?? "").slice(0, 40), code: data.error.code, message: String(data.error.message).slice(0, 500) });
|
|
});
|
|
});
|
|
}
|
|
await page.getByTestId("blend-file-input").setInputFiles(path.join(root, "blender-5.2.0/tests/files/sequence_editing/sequence.blend"));
|
|
await page.waitForTimeout(35000);
|
|
const collected: unknown[] = [];
|
|
for (const worker of page.workers()) {
|
|
collected.push(await worker.evaluate(() => (self as unknown as { __reports?: unknown[] }).__reports ?? []));
|
|
}
|
|
fs.writeFileSync("/tmp/seq-open-report.json", JSON.stringify(collected, null, 2));
|
|
});
|