chore(deps): update microsoft.testing#6369
Conversation
There was a problem hiding this comment.
Code Review
Reviewed the diff (2 files, +8/-8). This is an automated Renovate dependency bump for the Microsoft.Testing.Platform ecosystem packages (Microsoft.Testing.Platform, .MSBuild, .Extensions.CrashDump/HangDump/Telemetry/TrxReport(.Abstractions)), all going from 2.2.3 → 2.3.0 (minor version).
Findings: None. No design, architectural, or maintainability concerns — this is a mechanical version bump with no behavioral code changes.
Verification:
- All package versions are updated consistently in
Directory.Packages.props(central package management), so there's no risk of version drift across the solution. - The one direct
PackageReferenceinexamples/CloudShop/CloudShop.Tests/CloudShop.Tests.csprojwas updated in lockstep with the central version — good, this avoids a stale pinned version diverging from the CPM baseline. - No source files, public APIs, or source-generator output are touched, so snapshot tests and dual-mode (source-gen/reflection) concerns don't apply here.
Suggestion: Since this is a minor bump of the test platform/runner itself (not just an extension), it's worth confirming CI (in progress at review time) passes fully before automerge, particularly the modularpipeline matrix jobs, since platform version bumps have occasionally introduced subtle CLI/output-format changes in this repo's history. Nothing to act on now beyond letting CI complete.
Approving from a code-quality standpoint — no changes requested.
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 0 |
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
9473e8f to
a5a265f
Compare
a5a265f to
9db2102
Compare
There was a problem hiding this comment.
Code Review
This is an automated Renovate dependency bump (Microsoft.Testing.Platform and related Microsoft.Testing.Extensions.* packages: 2.2.3 → 2.3.0, Microsoft.Testing.Extensions.CodeCoverage: 18.8.0 → 18.9.0). The diff itself (Directory.Packages.props, CloudShop.Tests.csproj) is mechanical and correctly applied consistently across both the central package version and the one project with a pinned version override — no architectural concerns there.
Blocking issue: this bump breaks the build
CI is currently failing (.NET / modularpipeline on macOS, de-DE, and integration-tests) with 8 compile errors across all three target frameworks (net8.0/net9.0/net10.0):
error MTP0001: 'CancelledTestNodeStateProperty' is obsolete: Test frameworks should throw
OperationCanceledException using the cancellation token passed by Microsoft.Testing.Platform
instead of using this state. (https://aka.ms/testingplatform/diagnostics#MTP0001)
Microsoft.Testing.Platform 2.3.0 introduces an analyzer that flags CancelledTestNodeStateProperty as obsolete-as-error. This property is still used in several places in TUnit.Engine:
Xml/JUnitXmlWriter.cs(lines 234, 400)TUnitMessageBus.cs(line 116)Reporters/GitHubReporter.cs(lines 153, 509, 540, 570)Reporters/Html/HtmlReporter.cs(line 622)TUnit.Engine.Tests/GitHubReporterTests.cs
This isn't flaky CI — it reproduces consistently across every OS/TFM combination in the pipeline, so this PR cannot merge as-is.
Suggested approach: rather than suppressing MTP0001 (which just defers the problem and keeps emitting cancellation state through a deprecated path), migrate TUnit.Engine's cancellation reporting to throw/propagate OperationCanceledException via the cancellation token Microsoft.Testing.Platform already passes through the engine, per the diagnostic's own guidance. That keeps TUnit.Engine aligned with the platform's intended cancellation model rather than accumulating tech debt behind a pragma. Given the scope (5 files touching XML/HTML/GitHub reporters and the message bus), this warrants a small follow-up PR from a maintainer/bot-adjacent contributor rather than folding it into this Renovate PR — Renovate PRs should stay mechanical.
Until that migration lands (or the obsolete member is suppressed as a stopgap with a tracking issue), this PR should stay blocked/rebased rather than merged, despite Renovate's automerge being enabled.
9db2102 to
ab5196b
Compare
ab5196b to
c7ebd5a
Compare
b2e7cd4 to
154f8e7
Compare
Code reviewNo issues found. This is an automated Renovate dependency-update PR bumping |
154f8e7 to
18566fd
Compare
There was a problem hiding this comment.
Code review
Diff is unchanged in character from every prior review — mechanical Renovate bump of Microsoft.Testing.Platform/Microsoft.Testing.Extensions.* (2.2.3 → 2.3.1) and Microsoft.Testing.Extensions.CodeCoverage (18.8.0 → 18.9.0) in Directory.Packages.props, plus the matching pinned Microsoft.Testing.Platform.MSBuild reference in examples/CloudShop/CloudShop.Tests/CloudShop.Tests.csproj. Both files stay consistent (central package management), no version drift, nothing architecturally wrong with the diff as authored.
Still blocking — independently reproduced just now, not just repeating prior comments. I built TUnit.Engine for net10.0 locally against this PR's merged state and it fails with the same 8× MTP0001 errors:
TUnit.Engine/Xml/JUnitXmlWriter.cs(234,18)
TUnit.Engine/Xml/JUnitXmlWriter.cs(400,22)
TUnit.Engine/TUnitMessageBus.cs(116,51)
TUnit.Engine/Reporters/GitHubReporter.cs(153,22)
TUnit.Engine/Reporters/GitHubReporter.cs(509,16)
TUnit.Engine/Reporters/GitHubReporter.cs(540,13)
TUnit.Engine/Reporters/GitHubReporter.cs(570,13)
TUnit.Engine/Reporters/Html/HtmlReporter.cs(622,13)
All are 'CancelledTestNodeStateProperty' is obsolete, flagged as an error by Microsoft.Testing.Platform 2.3.x's own analyzer diagnostic MTP0001. I checked the source directly: the #pragma warning disable CS0618 guards at each of these sites are still in place unchanged, and they still don't suppress it — MTP0001 is a distinct analyzer diagnostic ID from the compiler's CS0618, so the pragma silences the wrong warning entirely.
Note: two of the most recent automated reviews on this PR (2026-07-09 17:23 and 2026-07-10 05:09) reported "no issues found" / "looks good to merge" — that assessment was wrong. It appears those passes evaluated the diff in isolation without actually building TUnit.Engine against the bumped version. The build failure is real and reproducible; CI (integration-tests, modularpipeline) has been red across every push to this PR for this exact reason.
This isn't a problem with this PR's diff — it's TUnit.Engine relying on an API surface that upstream now flags as an error at this package version. Recommended path, unchanged from every prior review:
- Minimal stopgap: correct the four
#pragma warning disable CS0618blocks to#pragma warning disable MTP0001at the listed sites. - Better: follow the diagnostic's own guidance (https://aka.ms/testingplatform/diagnostics#MTP0001) and migrate
TUnit.Enginecancellation reporting to throw/propagateOperationCanceledExceptionvia the cancellation token Microsoft.Testing.Platform already passes through, retiringCancelledTestNodeStatePropertyentirely rather than leaving a pragma keyed to the wrong diagnostic ID.
Land that as a small maintainer PR to main first, then rebase/merge this Renovate PR on top. Automerge should stay blocked until TUnit.Engine actually compiles clean against 2.3.1.
18566fd to
ffb08cd
Compare
Code reviewDiff is unchanged in character from every prior review of this PR — a mechanical Renovate bump of Still blocking, unchanged from every prior review: re-verified against the latest commit (
I checked the current source directly ( This isn't a problem with this PR's diff —
Land that |
ffb08cd to
4f71dcd
Compare
Code reviewDiff is unchanged in character from every prior review — mechanical Renovate bump of Still blocking, unchanged from every prior review of this PR: I checked out the PR branch (
The This isn't a defect in the Renovate diff itself — it's
Recommendation: land the engine fix in a small maintainer PR against |
4f71dcd to
cfd6632
Compare
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Complexity | 0 |
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
There was a problem hiding this comment.
Review: chore(deps): update microsoft.testing (#6369)
Overview
Renovate-generated bump of the Microsoft.Testing.* package family (2.2.3 → 2.3.1, plus CodeCoverage 18.8.0 → 18.9.0) in Directory.Packages.props, with the matching explicit PackageReference in examples/CloudShop/CloudShop.Tests.csproj updated to stay in sync. Mechanically the diff is correct: Central Package Management is used everywhere else (ManagePackageVersionsCentrally=true), so all other PackageReference entries across the repo pick up the new version automatically without needing individual edits, and no packages.lock.json files exist that would also need regenerating.
🔴 Build-breaking: do not merge as-is
CI is red on every job that builds TUnit.Engine (integration-tests, modularpipeline for ubuntu/macos/fr-FR/pl-PL/de-DE), all failing with the same root cause:
error MTP0001: 'CancelledTestNodeStateProperty' is obsolete: 'CancelledTestNodeStateProperty is obsolete.
Test frameworks should throw OperationCanceledException using the cancellation token passed by
Microsoft.Testing.Platform instead of using this state.'
Microsoft.Testing.Platform 2.3.1 ships a dedicated analyzer diagnostic (MTP0001) for this obsolete member, and it appears to default to error severity — separate from the plain CS0618 obsolete warning. TUnit.Engine already has several #pragma warning disable CS0618 blocks around CancelledTestNodeStateProperty usages (added for the previous version's obsoletion), but those pragmas don't cover MTP0001, so the build now fails in:
TUnit.Engine/Xml/JUnitXmlWriter.cs:234,400TUnit.Engine/TUnitMessageBus.cs:116TUnit.Engine/Reporters/GitHubReporter.cs:153,509,540,570TUnit.Engine/Reporters/Html/HtmlReporter.cs:622
Suggested fix (in a follow-up commit on this branch, not a new pragma patch alone): rather than chasing each new diagnostic ID with another #pragma warning disable, this is a good forcing function to actually migrate off CancelledTestNodeStateProperty as the upstream guidance suggests — surface cancellation via the CancellationToken already flowing through TestContext/the test session and throw OperationCanceledException, letting the platform derive the cancelled state itself. That removes the suppressions entirely instead of accumulating a second pragma (#pragma warning disable MTP0001) alongside the existing CS0618 ones, which would just defer the same problem to the next platform release.
Since this PR is an automerge Renovate PR, it should either:
- Be blocked from automerging until the obsolete-API migration lands, or
- Have the pragma/migration fix pushed onto this same branch before merge.
Other notes
- No other issues found in the diff itself — version bumps are consistent and complete across the repo.
- Worth double-checking release notes for
Microsoft.Testing.Extensions.CrashDump/HangDump/Telemetry/TrxReport2.2.3→2.3.1 for any other behavioral changes beyond theMTP0001analyzer addition, since that's what actually broke here.
Code reviewDiff unchanged in character from every prior review — mechanical Renovate bump of Still blocking, unchanged from every prior review of this PR: re-verified against the latest commit ( This is not a defect in the Renovate diff — it's pre-existing |
Code reviewDiff unchanged in character from every prior review — mechanical Renovate bump of Still blocking, unchanged from every prior review of this PR: re-verified against the latest commit ( This remains a pre-existing |
Code reviewNo new issues in the diff — this remains the same mechanical Renovate bump reviewed many times before ( Still blocking, unchanged from every prior review: re-verified against the latest commit ( This is pre-existing |
Code reviewDiff unchanged in character from every prior review — mechanical Renovate bump of Still blocking, unchanged from every prior review of this PR: independently rebuilt
The This is not a defect in this Renovate diff — it's pre-existing
Land that |
This PR contains the following updates:
18.8.0→18.9.02.2.3→2.3.12.2.3→2.3.12.2.3→2.3.12.2.3→2.3.12.2.3→2.3.12.2.3→2.3.12.2.3→2.3.1Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate.