| Filename | Latest commit message | Latest commit date |
|---|---|---|
Send ended an unsendable session after releasing SessionGate, and the goodbye was built under the gate but sent outside it. If the polling thread admitted a new Connect from the same endpoint in that window, the ended generation's goodbye reached the new client: it saw Data, Accept, Disconnect and believed itself disconnected while the listener held it connected. Every path that finds a permanent send failure now reads the session's generation under the gate at the send, and EndUnsendableSession builds and sends the goodbye under the gate only while that generation is unchanged. The generation check replaces the UnsendableReason once-guard: a second failure in the same generation finds it already ended. The test orders the new Connect inside the send, before the fragment that can never be sent, and asserts the new client hears no Disconnect and stays connected on both sides. It fails on the pre-fix code (Data, Accept, Disconnect) and kills the mutant that drops the check. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
| .. | ||
| CultCachePublicationIsolationTests.cs | ||
| CultNetCanonicalNumberTests.cs | ||
| CultNetDocumentBindingResolverTests.cs | ||
| CultNetDocumentRegistryVariantTests.cs | ||
| CultNetJournalTests.cs | ||
| CultNetOperationServerTests.cs | ||
| CultNetPublicationOrderTests.cs | ||
| CultNetPublishesCommitsTests.cs | ||
| CultNetRudpConnectGenerationTests.cs | ||
| CultNetRudpOrderedDeliveryTests.cs | ||
| CultNetRudpSendFailureTests.cs | ||
| CultNetRudpSessionEndingTests.cs | ||
| CultNetSchemaContractTests.cs | ||
| CultNetSchemaServerGroupTests.cs | ||
| CultNetSelectionEvaluatorTests.cs | ||
| CultNetSelectionFixBatchTests.cs | ||
| CultNetSelectionPageTests.cs | ||
| CultNetSelectionSurvivorTests.cs | ||
| GameCult.Networking.Tests.csproj | ||
| MiniJsonSchemaValidator.cs | ||
| NetworkingTests.cs | ||
| README.md | ||
| SelectionParityVectorTests.cs | ||
| SelectionWireParityTests.cs | ||
| SoulP4cProbeTests.cs | ||
| SoulP4dProbeTests.cs | ||
| SoulP4ProbeTests.cs | ||
| SoulPub3Tests.cs | ||
GameCult.Networking.Tests
GameCult.Networking.Tests contains NUnit tests for the networking library.
Scope
The tests currently cover:
- AES-GCM encrypt/decrypt round-trips in
Secret - signed session-token validation
- signed session-token tamper detection
- signed session-token expiry handling
Run
dotnet test tests\GameCult.Networking.Tests\GameCult.Networking.Tests.csproj
Adding New Tests
Typical future areas to expand include:
- client reconnect and verify flows
- login and registration integration tests
- malformed message handling
- rate-limiting behavior under concurrency