Problem
Comments that name a test as the thing that pins a behaviour, where no test of that name exists any more, so a contributor who goes looking finds nothing. Measured on main at d0a9b50:
SysManager.Tests/AppUpdatesViewModelTests.cs:14, BulkInstallerViewModelTests.cs:18, RestorePointsViewModelTests.cs:27 and ServicesViewModelTests.cs:25: "Required by ArchitectureTests.DialogServiceSwappers_AreInTheSerializedCollection". The guard is ProcessWideStaticUsers_AreInTheSerializedCollection.
SysManager.Tests/UpdateServiceAuthenticodeTests.cs:142: "pinned by AuthenticodeTests.ValidateChain_UsesTheStrictPolicy_AndFailsClosed". The test is ValidateChain_BuildsWithThatPolicy_AndFailsClosed.
SysManager.Tests/StartupSignatureTests.cs:185: <see cref="AuthenticodeTests.TheInformationalPath_AsksForOfflineRevocation_SoItDoesNotFetchPerFile"/>. No such test; AuthenticodeTests has TheInformationalPath_DoesNotBuildAManagedChain and the offline-policy theory beside it.
SysManager.Tests/PowerShellRunnerTests.cs:335: the wiring "is proven end to end by PowerShellRunnerTests.RunspaceTeardown_StopsTheChildTheRunspaceWasBuiltWith in SysManager.IntegrationTests". The integration suite has no test of that name.
SysManager.IntegrationTests/EventLogServiceTests.cs:174: "what Read_Cancellation_StopsQuickly above already does". The test above is Read_Cancellation_StopsFast.
SysManager/App.xaml:170: "EveryOnScaleCornerRadius_UsesItsToken enforces the rest". No such test; the nearest is ArchitectureTests.EveryCornerRadius_IsOnTheScale.
The <see cref> compiles because no project generates documentation, so the compiler never resolves a cref. Built with GenerateDocumentationFile on and CS1591 off, it reports 17 crefs it cannot resolve (CS1574: 7 in the app, 10 in the unit tests, the one above among them), 14 ambiguous ones (CS0419), three comments that are not well-formed XML (CS1570: Helpers/ExplorerShell.cs:31, PutBackSignalTests.cs:19, AllViewModelsSweepTests.cs:12, each an unescaped &), one paramref to a parameter that does not exist (CS1734, ViewModelBaseInitFaultTests.cs:34), and 74 methods that document some parameters but not all (CS1573). With TreatWarningsAsErrors each of those is a build error. Notes that name a test only to say it was removed or renamed are fine and are not listed.
Proposed solution
Point each comment at the test that holds the behaviour today, or say what holds it if no test does. Then keep the names true mechanically: a guard that resolves every <Class>Tests.<Member> citation in the code and the docs against the members that class declares (with removal notes worded so they do not read as a citation), and GenerateDocumentationFile with CS1591 suppressed in the test projects, so a stale cref fails the build.
Affected tab
Tests
Problem
Comments that name a test as the thing that pins a behaviour, where no test of that name exists any more, so a contributor who goes looking finds nothing. Measured on
mainat d0a9b50:SysManager.Tests/AppUpdatesViewModelTests.cs:14,BulkInstallerViewModelTests.cs:18,RestorePointsViewModelTests.cs:27andServicesViewModelTests.cs:25: "Required byArchitectureTests.DialogServiceSwappers_AreInTheSerializedCollection". The guard isProcessWideStaticUsers_AreInTheSerializedCollection.SysManager.Tests/UpdateServiceAuthenticodeTests.cs:142: "pinned byAuthenticodeTests.ValidateChain_UsesTheStrictPolicy_AndFailsClosed". The test isValidateChain_BuildsWithThatPolicy_AndFailsClosed.SysManager.Tests/StartupSignatureTests.cs:185:<see cref="AuthenticodeTests.TheInformationalPath_AsksForOfflineRevocation_SoItDoesNotFetchPerFile"/>. No such test;AuthenticodeTestshasTheInformationalPath_DoesNotBuildAManagedChainand the offline-policy theory beside it.SysManager.Tests/PowerShellRunnerTests.cs:335: the wiring "is proven end to end byPowerShellRunnerTests.RunspaceTeardown_StopsTheChildTheRunspaceWasBuiltWithinSysManager.IntegrationTests". The integration suite has no test of that name.SysManager.IntegrationTests/EventLogServiceTests.cs:174: "whatRead_Cancellation_StopsQuicklyabove already does". The test above isRead_Cancellation_StopsFast.SysManager/App.xaml:170: "EveryOnScaleCornerRadius_UsesItsTokenenforces the rest". No such test; the nearest isArchitectureTests.EveryCornerRadius_IsOnTheScale.The
<see cref>compiles because no project generates documentation, so the compiler never resolves acref. Built withGenerateDocumentationFileon and CS1591 off, it reports 17crefs it cannot resolve (CS1574: 7 in the app, 10 in the unit tests, the one above among them), 14 ambiguous ones (CS0419), three comments that are not well-formed XML (CS1570:Helpers/ExplorerShell.cs:31,PutBackSignalTests.cs:19,AllViewModelsSweepTests.cs:12, each an unescaped&), oneparamrefto a parameter that does not exist (CS1734,ViewModelBaseInitFaultTests.cs:34), and 74 methods that document some parameters but not all (CS1573). WithTreatWarningsAsErrorseach of those is a build error. Notes that name a test only to say it was removed or renamed are fine and are not listed.Proposed solution
Point each comment at the test that holds the behaviour today, or say what holds it if no test does. Then keep the names true mechanically: a guard that resolves every
<Class>Tests.<Member>citation in the code and the docs against the members that class declares (with removal notes worded so they do not read as a citation), andGenerateDocumentationFilewith CS1591 suppressed in the test projects, so a stalecreffails the build.Affected tab
Tests