fix: harden windows path handling in CI tests

This commit is contained in:
Peter Steinberger
2026-02-22 21:52:10 +00:00
parent 556af3f08b
commit 1e582dcc6f
2 changed files with 17 additions and 4 deletions

View File

@@ -575,7 +575,18 @@ function mapContainerPathToWorkspaceRoot(params: {
try {
candidate = fileURLToPath(candidate);
} catch {
return params.filePath;
try {
const parsed = new URL(candidate);
if (parsed.protocol !== "file:") {
return params.filePath;
}
candidate = decodeURIComponent(parsed.pathname || "");
if (!candidate.startsWith("/")) {
return params.filePath;
}
} catch {
return params.filePath;
}
}
}

View File

@@ -82,9 +82,11 @@ describe("cleanup path removals", () => {
{ dryRun: true },
);
const joinedLogs = runtime.log.mock.calls.map(([line]) => line).join("\n");
expect(joinedLogs).toContain("[dry-run] remove /tmp/openclaw-cleanup/state");
expect(joinedLogs).toContain("[dry-run] remove /tmp/openclaw-cleanup/oauth");
const joinedLogs = runtime.log.mock.calls
.map(([line]) => line.replaceAll("\\", "/"))
.join("\n");
expect(joinedLogs).toContain("/tmp/openclaw-cleanup/state");
expect(joinedLogs).toContain("/tmp/openclaw-cleanup/oauth");
expect(joinedLogs).not.toContain("openclaw.json");
});