docs(tests): fix CommentChecker findings across tests/ — 13,392 → 0 (repo-wide scan clean)

Comment/XML-doc changes only:
- add summaries to ~10k test methods, fixtures, fakes and helpers
  (+ <param> on theories, <returns> on async Task methods,
  <inheritdoc/> on interface implementations the checker can resolve)
- strip ~2.6k project-tracking references (WP*, P*-*, row-NN, Task N,
  #NN, Component-0NN) from comments, keeping the explanatory text;
  reword false positives in comments only
- real docs on fakes implementing BCL/library interfaces
  (IDisposable, ILogger, IOptionsMonitor, IAsyncLifetime)
- reword the last 5 src/ false positives (CWE-1236, failures-1,
  year-0001, M365)

Only non-comment edits: four one-line nested classes split across lines
so members can carry docs. Build 0 errors / 0 warnings.
This commit is contained in:
Joseph Doherty
2026-10-07 15:05:49 -04:00
parent 0ffd4bdbea
commit 513fa1aa16
998 changed files with 17896 additions and 2395 deletions
@@ -67,6 +67,7 @@ public class DclConnectionArbitrationTests : TestKit, IDisposable
private readonly ConcurrentQueue<ReconfigureConnectionCommand> _reconfigures = new();
private readonly ConcurrentQueue<RemoveConnectionCommand> _removes = new();
/// <summary>Creates a temporary LocalDb-backed site storage and the script services the actors need.</summary>
public DclConnectionArbitrationTests()
{
_localDb = TestLocalDb.CreateTemp("dcl-arbitration-test");
@@ -78,6 +79,7 @@ public class DclConnectionArbitrationTests : TestKit, IDisposable
_compilationService, NullLogger<SharedScriptLibrary>.Instance);
}
/// <inheritdoc />
void IDisposable.Dispose()
{
// Shut the actors down BEFORE the ILocalDb they write through is disposed.
@@ -190,7 +192,7 @@ public class DclConnectionArbitrationTests : TestKit, IDisposable
// ── Rule 1: a definition row outranks an older flattened snapshot ──
/// <summary>
/// <b>THE row-89 reproduction, in its real (failover / restart) shape.</b> The store holds a
/// <b>THE reproduction, in its real (failover / restart) shape.</b> The store holds a
/// definition row pointing at the new endpoint — put there by a connection-only artifact
/// deploy and, on a replicated pair, delivered to this node by LocalDb CDC — while the
/// instance's own flattened config still carries the endpoint frozen in at ITS deploy time.
@@ -204,6 +206,7 @@ public class DclConnectionArbitrationTests : TestKit, IDisposable
/// that applied it.
/// </para>
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task DefinitionRow_WinsOverAnOlderFlattenedSnapshot_WhenTheSingletonBoots()
{
@@ -233,6 +236,7 @@ public class DclConnectionArbitrationTests : TestKit, IDisposable
/// guarding the flip after the fact.
/// </para>
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task DisagreeingSources_DoNotPingPongTheConnection_AcrossManySweeps()
{
@@ -265,6 +269,7 @@ public class DclConnectionArbitrationTests : TestKit, IDisposable
///
/// <para>Passes before and after: a deploy-only regression guard.</para>
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task NoDefinitionRow_LeavesTheFlattenedConfigAuthoritative_AtBoot()
{
@@ -287,6 +292,7 @@ public class DclConnectionArbitrationTests : TestKit, IDisposable
///
/// <para>Passes before and after: a deploy-only regression guard for the sweep path.</para>
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task NoDefinitionRow_LeavesTheFlattenedConfigAuthoritative_OnTheSweepPath()
{
@@ -322,6 +328,7 @@ public class DclConnectionArbitrationTests : TestKit, IDisposable
/// manager's create-only guard and change nothing.
/// </para>
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task DefinitionArrivingAfterBoot_IsAdoptedByTheNextSweepTick()
{
@@ -352,7 +359,7 @@ public class DclConnectionArbitrationTests : TestKit, IDisposable
// ── Row 97: a changed configuration reaches the LIVE connection ──
/// <summary>
/// <b>THE row-97 reproduction on the sender side.</b> A connection the DCL already holds gets
/// <b>THE reproduction on the sender side.</b> A connection the DCL already holds gets
/// a new endpoint. What must go out is a <see cref="ReconfigureConnectionCommand"/>, which the
/// live connection actor applies in place by swapping its adapter and re-issuing its
/// subscriptions.
@@ -366,6 +373,7 @@ public class DclConnectionArbitrationTests : TestKit, IDisposable
/// failover, or a remove-then-add.
/// </para>
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task ChangedConfigurationForALiveConnection_IsSentAsAReconfigure_NotASecondCreate()
{
@@ -397,6 +405,7 @@ public class DclConnectionArbitrationTests : TestKit, IDisposable
/// a reconfigure — which drops the link and re-subscribes every tag — is safe to send on the
/// change edge.
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task UnchangedConfiguration_SendsNeitherACreateNorAReconfigure()
{
@@ -423,7 +432,7 @@ public class DclConnectionArbitrationTests : TestKit, IDisposable
// ── Row 90: removal, and not being resurrected by a flattened snapshot ──
/// <summary>
/// <b>THE row-90 reproduction.</b> A definition row this incarnation had adopted disappears
/// <b>THE reproduction.</b> A definition row this incarnation had adopted disappears
/// from the store — a central delete, reconciled by an artifact deploy on the other node and
/// replicated here as a row deletion. The sweep can PROVE that removal (the store owned the
/// name a tick ago and does not now), so it stops the live connection actor; and the name is
@@ -435,6 +444,7 @@ public class DclConnectionArbitrationTests : TestKit, IDisposable
/// connection actor stayed live until the node restarted.
/// </para>
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task DefinitionRowDisappearing_StopsTheConnection_AndItIsNotResurrected()
{
@@ -483,6 +493,7 @@ public class DclConnectionArbitrationTests : TestKit, IDisposable
/// tick.
/// </para>
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task ArtifactReconcileRemoval_IsNotResurrectedByALaterInstanceStart()
{
@@ -533,6 +544,7 @@ public class DclConnectionArbitrationTests : TestKit, IDisposable
/// stay bad quality until the referencing instance is redeployed.
/// </para>
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task ReAddedDefinition_ClearsTheTombstone_SoTheNextInstanceStartRecreatesIt()
{
@@ -581,6 +593,7 @@ public class DclConnectionArbitrationTests : TestKit, IDisposable
/// without the generation guard the actor removes the connection it created a moment ago.
/// </para>
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task StaleSweepSnapshot_RacingAnArtifactApply_DoesNotRemoveJustAppliedConnections()
{
@@ -603,10 +616,11 @@ public class DclConnectionArbitrationTests : TestKit, IDisposable
}
/// <summary>
/// The row-101 guard must not blunt row 90's legitimate disappearance detection: the same
/// The stale-snapshot guard must not blunt the legitimate disappearance detection: the same
/// empty snapshot stamped with the CURRENT write generation is a real answer (the store
/// genuinely holds no rows any more) and still stops the connection.
/// </summary>
/// <returns>A task that represents the asynchronous operation.</returns>
[Fact]
public async Task FreshEmptySweepSnapshot_StillRemovesDisappearedConnections()
{
@@ -640,6 +654,10 @@ public class DclConnectionArbitrationTests : TestKit, IDisposable
/// </summary>
private sealed class DclConnectionSpy : ReceiveActor
{
/// <summary>Creates the spy that records the connection commands it receives.</summary>
/// <param name="creates">Queue that receives create-connection commands.</param>
/// <param name="reconfigures">Queue that receives reconfigure-connection commands.</param>
/// <param name="removes">Queue that receives remove-connection commands.</param>
public DclConnectionSpy(
ConcurrentQueue<CreateConnectionCommand> creates,
ConcurrentQueue<ReconfigureConnectionCommand> reconfigures,