fix(test): reset A2UI cache between tests to prevent CI flakiness
This commit is contained in:
parent
796d5421e5
commit
c10d759c44
@ -12,6 +12,12 @@ export const CANVAS_WS_PATH = "/__clawdbot/ws";
|
|||||||
let cachedA2uiRootReal: string | null | undefined;
|
let cachedA2uiRootReal: string | null | undefined;
|
||||||
let resolvingA2uiRoot: Promise<string | null> | null = null;
|
let resolvingA2uiRoot: Promise<string | null> | null = null;
|
||||||
|
|
||||||
|
/** Reset the A2UI root cache (for testing). */
|
||||||
|
export function resetA2uiCache(): void {
|
||||||
|
cachedA2uiRootReal = undefined;
|
||||||
|
resolvingA2uiRoot = null;
|
||||||
|
}
|
||||||
|
|
||||||
async function resolveA2uiRoot(): Promise<string | null> {
|
async function resolveA2uiRoot(): Promise<string | null> {
|
||||||
const here = path.dirname(fileURLToPath(import.meta.url));
|
const here = path.dirname(fileURLToPath(import.meta.url));
|
||||||
const candidates = [
|
const candidates = [
|
||||||
|
|||||||
@ -3,14 +3,22 @@ import { createServer } from "node:http";
|
|||||||
import type { AddressInfo } from "node:net";
|
import type { AddressInfo } from "node:net";
|
||||||
import os from "node:os";
|
import os from "node:os";
|
||||||
import path from "node:path";
|
import path from "node:path";
|
||||||
import { describe, expect, it, vi } from "vitest";
|
import { beforeEach, describe, expect, it, vi } from "vitest";
|
||||||
import { WebSocket } from "ws";
|
import { WebSocket } from "ws";
|
||||||
import { rawDataToString } from "../infra/ws.js";
|
import { rawDataToString } from "../infra/ws.js";
|
||||||
import { defaultRuntime } from "../runtime.js";
|
import { defaultRuntime } from "../runtime.js";
|
||||||
import { CANVAS_HOST_PATH, CANVAS_WS_PATH, injectCanvasLiveReload } from "./a2ui.js";
|
import {
|
||||||
|
CANVAS_HOST_PATH,
|
||||||
|
CANVAS_WS_PATH,
|
||||||
|
injectCanvasLiveReload,
|
||||||
|
resetA2uiCache,
|
||||||
|
} from "./a2ui.js";
|
||||||
import { createCanvasHostHandler, startCanvasHost } from "./server.js";
|
import { createCanvasHostHandler, startCanvasHost } from "./server.js";
|
||||||
|
|
||||||
describe("canvas host", () => {
|
describe("canvas host", () => {
|
||||||
|
beforeEach(() => {
|
||||||
|
resetA2uiCache();
|
||||||
|
});
|
||||||
it("injects live reload script", () => {
|
it("injects live reload script", () => {
|
||||||
const out = injectCanvasLiveReload("<html><body>Hello</body></html>");
|
const out = injectCanvasLiveReload("<html><body>Hello</body></html>");
|
||||||
expect(out).toContain(CANVAS_WS_PATH);
|
expect(out).toContain(CANVAS_WS_PATH);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user