test(claude-do): merge Fix Worker.Tests worktree temp-path collisions between concu

ClaudeDo-Task: c098eb71-792c-4dda-842c-6ee10c67daf5
This commit is contained in:
mika kuns
2026-10-01 13:32:27 +02:00
@@ -4,12 +4,16 @@ namespace ClaudeDo.Worker.Tests.Infrastructure;
public sealed class GitRepoFixture : IDisposable public sealed class GitRepoFixture : IDisposable
{ {
private readonly string _rootDir;
public string RepoDir { get; } public string RepoDir { get; }
public string BaseCommit { get; } public string BaseCommit { get; }
public GitRepoFixture() public GitRepoFixture()
{ {
RepoDir = Path.Combine(Path.GetTempPath(), $"claudedo_gittest_{Guid.NewGuid():N}"); // Repo one level below a unique parent: the sibling worktree root (.claudedo-worktrees) is the repo's parent, so it must be unique per fixture.
_rootDir = Path.Combine(Path.GetTempPath(), $"claudedo_gittest_{Guid.NewGuid():N}");
RepoDir = Path.Combine(_rootDir, "repo");
Directory.CreateDirectory(RepoDir); Directory.CreateDirectory(RepoDir);
RunGit(RepoDir, "init"); RunGit(RepoDir, "init");
@@ -28,7 +32,7 @@ public sealed class GitRepoFixture : IDisposable
try try
{ {
// Force-remove read-only .git objects on Windows. // Force-remove read-only .git objects on Windows.
ForceDeleteDirectory(RepoDir); ForceDeleteDirectory(_rootDir);
} }
catch { /* best effort */ } catch { /* best effort */ }
} }