Refactor test libraries: align naming + collapse misnamed sub-projects (Option A)
Summary
Honest audit of tests/ revealed three structural issues; this PR fixes them via minimal cleanup ("Option A" — no aggressive shared-infra extraction):
-
Squid.WindowsUpgradeE2ETestshad naming drift — scope expanded to full Windows Tentacle E2E (register, deploy, multi-instance, diagnostic, capabilities, install) but kept the old "Upgrade" prefix. Renamed →Squid.WindowsTentacleE2ETeststo match the Linux side's correct naming. -
Squid.LinuxTentacleE2E.TestServicewas not a project — just a directory with one bash script. Moved the script intoSquid.LinuxTentacleE2ETests/Infrastructure/where other fixture files live; deleted the empty parent dir. -
Linux stubs diverged in name from Windows after the Phase 12.M.L.D port —
SquidHalibutStubServer/SquidHalibutStubAgent(Linux) vsStubSquidServer/StubAgent(Windows). Renamed Linux side to match.
Plus added CROSS-PLATFORM SYNC NOTE comments at the top of all 5 duplicated infrastructure files (StubSquidServer × 2, StubAgent × 2, LocalReleaseMirror Windows side; Linux LocalReleaseMirror already had one).
What this is NOT
StubSquidServer copies are now nearly-identical but kept as parallel copies because:
- Linux added a companion slim
LinuxStubSquidServerthat doesn't fit a shared layer - Each project still wants project-local conventions (collection naming, fixture suffix patterns, namespace structure)
- Premature DRY locks down evolution — kept as parallel copies until either side diverges enough to justify the cross-project coupling cost
Files changed
-
Renames (git rename detection, ~99% similarity per file):
-
tests/Squid.WindowsUpgradeE2ETests/→tests/Squid.WindowsTentacleE2ETests/ -
tests/Squid.WindowsUpgradeE2E.TestService/→tests/Squid.WindowsTentacleE2E.TestService/ -
tests/Squid.WindowsUpgradeE2E.VersionStampedShim/→tests/Squid.WindowsTentacleE2E.VersionStampedShim/ -
tests/Squid.LinuxTentacleE2ETests/Infrastructure/SquidHalibutStub{Server,Agent}.cs→Stub{SquidServer,Agent}.cs
-
-
Updates (in-place):
- All
.csfiles in renamed projects: namespace updates -
Squid.sln: project entries -
.github/workflows/tentacle-windows-e2e.yml: paths + filter expressions -
src/Squid.Core/Squid.Core.csproj:InternalsVisibleToreference - 3 Linux test files: path-resolver call sites for the moved bash script
- All
- New comments (sync-trackers): 5 infrastructure files
Test plan
-
dotnet buildgreen for all 4 renamed projects -
dotnet testsmoke green on macOS dev box (4 Windows diagnostic + 1 Linux stub-smoke) -
CI Linux: existing 68 Linux E2E tests pass -
CI Windows: existing 94 Windows E2E tests pass (after rename) -
No functional changes — purely naming + organizational