Files
openclaw/src/scripts/ci-changed-scope.windows.test.ts
Vincent Koc 1e15b18bcb fix(sqlite): support deep Windows state paths (#113336)
* fix(sqlite): normalize core database locations

* fix(sqlite): preserve Windows immutable read paths

* test(windows): exercise deep SQLite state paths

* test(windows): isolate Unix supervisor fixtures

* test(infra): keep handoff fixture within lint budget

* fix(sqlite): own read-only paths at node boundary

* chore(release): leave changelog to release flow

* fix(sqlite): classify resolved Windows UNC paths
2026-07-24 23:55:12 +08:00

54 lines
1.7 KiB
TypeScript

// Windows CI scope tests cover paths with platform-specific runtime contracts.
import { describe, expect, it } from "vitest";
const { detectChangedScope } = await import("../../scripts/ci-changed-scope.mjs");
describe("detectChangedScope Windows routing", () => {
it("routes SQLite transcript archive changes to Windows", () => {
for (const archivePath of ["src/config/sessions/session-accessor.sqlite-archive.ts"]) {
expect(detectChangedScope([archivePath]), archivePath).toMatchObject({
runNode: true,
runWindows: true,
});
}
});
it("routes shared test-state fixture changes to Windows", () => {
for (const fixturePath of [
"src/test-utils/openclaw-test-state.ts",
"src/test-utils/openclaw-test-state.test.ts",
]) {
expect(detectChangedScope([fixturePath]), fixturePath).toMatchObject({
runNode: true,
runWindows: true,
});
}
});
it("routes core SQLite state changes to Windows", () => {
for (const sqlitePath of [
"src/commands/doctor-sqlite-compact.ts",
"src/infra/node-sqlite.ts",
"src/infra/update-managed-service-handoff.ts",
"src/state/openclaw-state-db.ts",
]) {
expect(detectChangedScope([sqlitePath]), sqlitePath).toMatchObject({
runNode: true,
runWindows: true,
});
}
});
it("routes Windows SQLite path tests to Windows", () => {
for (const testPath of [
"src/infra/update-managed-service-handoff.test.ts",
"src/state/openclaw-database-paths.windows.test.ts",
]) {
expect(detectChangedScope([testPath]), testPath).toMatchObject({
runNode: true,
runWindows: true,
});
}
});
});