Files
oh-my-pi/packages/coding-agent/test/task/issue-949-windows-arm-projfs.test.ts
T

30 lines
1.2 KiB
TypeScript

import { describe, expect, it, vi } from "bun:test";
import { resolveIsolationBackendForTaskExecution } from "../../src/task/isolation-backend";
const projfsOverlayProbeMock = vi.fn(() => {
throw new Error("ProjFS native probe should not be called on Windows ARM64 under x64 emulation");
});
const projfsOverlayStartMock = vi.fn();
const projfsOverlayStopMock = vi.fn();
vi.mock("@oh-my-pi/pi-natives", () => ({
projfsOverlayProbe: projfsOverlayProbeMock,
projfsOverlayStart: projfsOverlayStartMock,
projfsOverlayStop: projfsOverlayStopMock,
}));
describe("issue 949: Windows ARM64 avoids ProjFS native overlay under x64 emulation", () => {
it("falls back to worktree before probing ProjFS on Windows ARM64", async () => {
const result = await resolveIsolationBackendForTaskExecution("fuse-projfs", true, "C:\\repo", "win32", "x64", {
PROCESSOR_ARCHITEW6432: "ARM64",
PROCESSOR_ARCHITECTURE: "AMD64",
});
expect(result.effectiveIsolationMode).toBe("worktree");
expect(result.warning).toContain("Windows ARM64");
expect(result.warning).toContain("x64 emulation");
expect(projfsOverlayProbeMock).not.toHaveBeenCalled();
expect(projfsOverlayStartMock).not.toHaveBeenCalled();
});
});