docs(archreview-p1): TST-08 orphaned-testhost leak does not reproduce
Empirically verified the full ZB.MOM.WW.MxGateway.Tests suite exits cleanly: - macOS: 0 surviving testhost after a full run. - windev (origin/main worktree): 0 new testhost and 0 new worker processes after a full run, isolated by process StartTime. Static audit confirms the prime-suspect fixtures already dispose deterministically (WorkerClient cancels _stopCts + awaits its read/write/heartbeat tasks with a 5s timeout; GatewaySession disposes the client; harness/E2E fixtures use await using). Drop the stale 'leaves orphaned testhost processes' rationale from CLAUDE.md's Source Update Workflow; keep filtered-run guidance as a speed guideline only. Separately discovered (tracked in 00-tracking.md change log, NOT part of TST-08): Windows-only temp-file-lock flakiness in ~4 full-host test classes (Sqlite connection-pool retaining a temp .db handle; SelfSignedCertificateProvider's fixed-name gw.pfx.tmp racing teardown) that macOS never surfaces.
This commit is contained in:
@@ -88,7 +88,7 @@ powershell -ExecutionPolicy Bypass -File scripts/run-client-e2e-tests.ps1
|
||||
|
||||
When source code changes, build and test the affected component before reporting work done. If the change crosses component boundaries, build each affected component — don't rely on a single top-level build:
|
||||
|
||||
**Run targeted tests per task, never the full suite each time.** When executing a plan task-by-task, run only the tests that exercise the code that task touched (`dotnet test --filter "FullyQualifiedName~<TestClass>"`, or the per-task test named in the plan). The full gateway suite is slow and leaves orphaned testhost processes — run it at most once per phase (after a related batch of tasks lands), not after every task.
|
||||
**Run targeted tests per task, never the full suite each time.** When executing a plan task-by-task, run only the tests that exercise the code that task touched (`dotnet test --filter "FullyQualifiedName~<TestClass>"`, or the per-task test named in the plan). The full gateway suite is slow — run it at most once per phase (after a related batch of tasks lands), not after every task. This is a speed guideline, not a correctness one: the suite exits cleanly (verified on macOS and the Windows dev box — 0 surviving `testhost`/worker processes after a full run), so filtered runs are about turnaround, not about avoiding a process leak.
|
||||
|
||||
| Changed area | Required verification |
|
||||
|---|---|
|
||||
|
||||
Reference in New Issue
Block a user