Sync vendored dotnet test wire contract from testfx (Expected/Actual field ids) - #55247
Merged
Evangelink merged 1 commit intoJul 13, 2026
Merged
Conversation
…field ids) Reconcile the vendored ObjectFieldIds.cs against microsoft/testfx main: testfx added the optional assertion-diff wire fields Expected (10) and Actual (11) on FailedTestResultMessageFieldsId. Port those field-id reservations to keep the 'dotnet test' <-> Microsoft.Testing.Platform named-pipe contract byte-aligned (new ids are appended, so older readers skip them - backwards compatible). Bump the baseline ref/blob SHAs for this entry in eng/vendored-files.json so the drift workflow is quiet. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 76511f0e-ff8f-47aa-b540-b133a63810b3
Evangelink
marked this pull request as ready for review
July 13, 2026 12:46
Evangelink
enabled auto-merge
July 13, 2026 12:46
Contributor
There was a problem hiding this comment.
Pull request overview
This PR syncs the vendored dotnet test ↔ Microsoft.Testing.Platform IPC wire-contract field IDs with the current microsoft/testfx main branch, ensuring the named-pipe protocol remains byte-aligned and compatible.
Changes:
- Added two new optional field IDs (
Expected,Actual) toFailedTestResultMessageFieldsIdto reserve upstream protocol slots for structured assertion diffs. - Updated the corresponding
eng/vendored-files.jsonbaseline SHAs so the vendored-files drift check reflects the new upstream baseline.
Show a summary per file
| File | Description |
|---|---|
| src/Cli/dotnet/Commands/Test/MTP/IPC/ObjectFieldIds.cs | Adds Expected/Actual field-id reservations (10/11) to keep the MTP IPC contract aligned with testfx. |
| eng/vendored-files.json | Bumps vendored baseline SHAs for the tracked upstream ObjectFieldIds.cs. |
Copilot's findings
- Files reviewed: 2/2 changed files
- Comments generated: 0
drognanar
approved these changes
Jul 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Reconciles the vendored
dotnet test↔ Microsoft.Testing.Platform wire contract withmicrosoft/testfxmain.The scheduled vendored-files drift check reported exactly one drifted source:
src/Cli/dotnet/Commands/Test/MTP/IPC/ObjectFieldIds.cs(tracked against testfx'sServerMode/DotnetTest/IPC/ObjectFieldIds.cs). Upstream added two optional assertion-diff fields onFailedTestResultMessageFieldsId:These carry the structured expected/actual values captured by assertion libraries so the terminal reporter can render an expected-vs-actual diff for multi-assembly runs. This PR ports those two field-id reservations to keep the named-pipe contract byte-aligned with testfx, and bumps the entry's
baseline_ref_sha/baseline_blob_shaineng/vendored-files.jsonso the drift workflow goes quiet.The additions are appended after existing ids, and the serializer skips unrecognized field ids, so this is fully backwards compatible.
Deliberately not ported
[Embedded]attributes).WaitForServerControlRequest) and 14 (ServerControlMessage) — these belong to the reverse server-control pipe (protocol 1.4.0) and remain intentionally out of scope, as already noted in the local file.Verification
python .github/scripts/check_vendored_files.py validate→Manifest OK: 30 entries, 38 sources.python .github/scripts/check_vendored_files.py check --dry-run→Summary: 0 drifted, 0 errors.Note on the MSTest/MTP version bump
The other half of the original request — bumping MSTest/MTP to "latest 3.4/2.4" — was not actioned here because it could not be resolved unambiguously: MSTest
3.4.3(latest3.4.x) is already present on therelease/9.0.xbranches, noMicrosoft.Testing.Platform2.4.xis published (latest public is2.3.1), and these versions normally flow into the SDK automatically via darc/Maestro from the VMR rather than via a hand-authored PR. Happy to follow up once the target branch/exact versions are confirmed.