Fix .NET in-process E2E transport coverage#1986
Conversation
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Pull request overview
Updates .NET E2E coverage to exercise the FFI transport and supports same-client session resumption.
Changes:
- Selects in-process or TCP transport according to the test matrix.
- Restores host environment state between in-process tests.
- Adds same-client resume replacement behavior and related coverage.
Show a summary per file
| File | Description |
|---|---|
dotnet/src/Client.cs |
Replaces tracked wrappers during resume. |
dotnet/test/Harness/E2ETestFixture.cs |
Selects matrix-appropriate transport. |
dotnet/test/Harness/E2ETestContext.cs |
Restores in-process environment state. |
dotnet/test/Harness/E2ETestBase.cs |
Prepares tests and chooses resume client. |
dotnet/test/E2E/SessionE2ETests.cs |
Covers same-client resume replacement. |
dotnet/test/E2E/RpcWorkspaceCheckpointsE2ETests.cs |
Uses a native-compatible checkpoint value. |
dotnet/test/Unit/E2ETestFixtureTests.cs |
Tests fixture transport selection. |
dotnet/test/Unit/ClientSessionLifetimeTests.cs |
Tests replacement and failure lifetimes. |
Review details
- Files reviewed: 8/8 changed files
- Comments generated: 1
- Review effort level: Medium
This comment has been minimized.
This comment has been minimized.
|
@SteveSandersonMS noticed this while working on other stuff, take a look - we weren't doing actual FFI in the .NET SDK, plus the .NET SDK was unique in not allowing the same session ID to be resumed with a new session object (which obstructed fixing the former). |
ad67cd3 to
ce76fb0
Compare
Make the in-process E2E matrix use the FFI runtime, restore the native host environment between tests, and align same-client session resume with the other SDKs while preserving routing after failed resumes. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: c71188a1-1445-46aa-9faf-3b73cf6a6dd9
ce76fb0 to
e3f21ae
Compare
Cross-SDK Consistency Review ✅This PR fixes a .NET-specific bug in This change brings .NET into alignment with all other SDKs:
No cross-SDK consistency issues found. The PR correctly aligns .NET behavior with all other implementations. Warning Firewall blocked 1 domainThe following domain was blocked by the firewall during workflow execution:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
|
The .NET E2E fixture explicitly selected TCP even in the in-process matrix, so those tests never exercised the FFI transport and hid FFI-specific behavior.
This change:
RuntimeConnection.ForInProcess()for the in-process matrix while preserving TCP coverage in the other matrixu32domainThe complete .NET in-process suite passes through FFI with 672 tests passed and 3 existing skips. Targeted TCP resume coverage and all .NET target-framework builds also pass.