Skip to content

Revert xUnit v3 migration and OTel telemetry changes#53788

Merged
marcpopMSFT merged 9 commits intomainfrom
revert-xunitv3-with-otel-revert
Apr 10, 2026
Merged

Revert xUnit v3 migration and OTel telemetry changes#53788
marcpopMSFT merged 9 commits intomainfrom
revert-xunitv3-with-otel-revert

Conversation

@MichaelSimons
Copy link
Copy Markdown
Member

This reverts the xUnit v2 to v3 migration (#52930) and the OTel telemetry PR (#53181).

The xUnit v3 migration broke Helix test discovery/filtering, causing zero tests to run. The OTel PR was merged during the window when tests were not running and may have introduced additional issues.

This PR reverts both changes to restore test execution while the issues are investigated separately.

Supersedes #53776.

MichaelSimons and others added 3 commits April 9, 2026 20:54
This reverts commit 794fa7f, reversing
changes made to ac1f1e8.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@MichaelSimons MichaelSimons requested review from a team and tmat as code owners April 9, 2026 21:01
Copilot AI review requested due to automatic review settings April 9, 2026 21:01
@MichaelSimons MichaelSimons requested review from a team as code owners April 9, 2026 21:01
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR reverts the prior xUnit v3 test infrastructure migration and the OpenTelemetry-based telemetry work, restoring xUnit v2 + ApplicationInsights telemetry to recover Helix test discovery/execution. It also disables a failing TaskHostFactory test while investigation continues.

Changes:

  • Revert test infrastructure back to xUnit v2 (runner/targets, custom attributes, Helix work item creation, and project package references).
  • Revert CLI telemetry from OTel back to ApplicationInsights-style events (including persistence channel pieces) and restore performance logging behavior/tests.
  • Apply targeted fixes/adjustments to command parsing/help/schema output and template/workload template discovery plumbing.

Reviewed changes

Copilot reviewed 188 out of 188 changed files in this pull request and generated 9 comments.

Show a summary per file
File Description
test/xunit.runner.json Switch xUnit runner schema to “current”.
test/xunit-runner/XUnitRunner.targets Revert runner version/restore/publish behaviors to v2-era.
test/UnitTests.proj Adjust Helix root payload files and POSIX post-command copy.
test/System.CommandLine.StaticCompletions.Tests/System.CommandLine.StaticCompletions.Tests.csproj Revert test deps to xUnit v2 + Verify.Xunit.
test/Msbuild.Tests.Utilities/Msbuild.Tests.Utilities.csproj Add xUnit v2 package reference.
test/Microsoft.Win32.Msi.Manual.Tests/Microsoft.Win32.Msi.Manual.Tests.csproj Adjust global usings removals for xUnit abstractions.
test/Microsoft.TemplateEngine.Cli.UnitTests/Microsoft.TemplateEngine.Cli.UnitTests.csproj Revert Verify/TemplateEngine test packages to non-v3 variants.
test/Microsoft.NET.TestFramework/TestLoggerFactory.cs Remove xUnit v3 SDK dependency.
test/Microsoft.NET.TestFramework/StringTestLogger.cs Remove v3-only output APIs.
test/Microsoft.NET.TestFramework/SharedTestOutputHelper.cs Revert to xUnit v2-compatible message sink usage.
test/Microsoft.NET.TestFramework/SdkTest.cs Revert namespace/style changes from migration.
test/Microsoft.NET.TestFramework/Microsoft.NET.TestFramework.csproj Switch back to xunit.assert + XUnitExtensions packages and restore usings.
test/Microsoft.NET.TestFramework/Commands/TestCommand.cs Revert process-group handling; adjust logging.
test/Microsoft.NET.TestFramework/Commands/SdkCommandSpec.cs Remove CreateNewProcessGroup support.
test/Microsoft.NET.TestFramework/Attributes/WindowsOnlyRequiresMSBuildVersionTheoryAttribute.cs Revert custom theory attribute ctor signature.
test/Microsoft.NET.TestFramework/Attributes/WindowsOnlyRequiresMSBuildVersionFactAttribute.cs Revert custom fact attribute ctor signature.
test/Microsoft.NET.TestFramework/Attributes/RequiresSpecificFrameworkTheoryAttribute.cs Revert custom theory attribute ctor signature.
test/Microsoft.NET.TestFramework/Attributes/RequiresSpecificFrameworkFactAttribute.cs Revert custom fact attribute ctor signature.
test/Microsoft.NET.TestFramework/Attributes/RequiresMSBuildVersionTheoryAttribute.cs Revert custom theory attribute ctor signature.
test/Microsoft.NET.TestFramework/Attributes/RequiresMSBuildVersionFactAttribute.cs Revert custom fact attribute ctor signature.
test/Microsoft.NET.TestFramework/Attributes/PlatformSpecificTheory.cs Rework skip evaluation via properties instead of ctor args.
test/Microsoft.NET.TestFramework/Attributes/PlatformSpecificFact.cs Rework skip evaluation via properties instead of ctor args.
test/Microsoft.NET.TestFramework/Attributes/MacOsOnlyFactAttribute.cs Revert attribute ctor signature.
test/Microsoft.NET.TestFramework/Attributes/FullMSBuildOnlyTheoryAttribute.cs Revert attribute ctor signature.
test/Microsoft.NET.TestFramework/Attributes/FullMSBuildOnlyFactAttribute.cs Revert attribute ctor signature.
test/Microsoft.NET.TestFramework/Attributes/CoreMSBuildOnlyTheoryAttribute.cs Revert attribute ctor signature.
test/Microsoft.NET.TestFramework/Attributes/CoreMSBuildOnlyFactAttribute.cs Revert attribute ctor signature.
test/Microsoft.NET.TestFramework/Attributes/CoreMSBuildAndWindowsOnlyTheoryAttribute.cs Revert attribute ctor signature.
test/Microsoft.NET.TestFramework/Attributes/CoreMSBuildAndWindowsOnlyFactAttribute.cs Revert attribute ctor signature.
test/Microsoft.NET.Publish.Tests/GivenThatAPublishedDepsJsonShouldContainVersionInformation.cs Adjust imports/nullable context for reverted test infra.
test/Microsoft.NET.Build.Tests/TaskHostFactoryTests.cs Disable flaky test per linked issue.
test/Microsoft.NET.Build.Containers.UnitTests/DockerAvailableUtils.cs Revert attribute ctor signatures and formatting.
test/Microsoft.NET.Build.Containers.IntegrationTests/DockerTestsFixture.cs Remove xUnit v3 SDK dependency.
test/Microsoft.NET.Build.Containers.IntegrationTests/DockerSupportsArchInlineData.cs Revert inline data provider to xUnit v2 DataAttribute API.
test/Microsoft.NET.Build.Containers.IntegrationTests/DockerRegistryManager.cs Adjust imports for reverted test output helpers.
test/Microsoft.NET.Build.Containers.IntegrationTests/DockerIsAvailableAndSupportsArchTheory.cs Revert attribute ctor signature.
test/Microsoft.NET.Build.Containers.IntegrationTests/DockerIsAvailableAndSupportsArchFact.cs Revert attribute ctor signature.
test/Microsoft.DotNet.HotReload.Test.Utilities/WatchSdkTest.cs Revert xUnit usings to abstractions.
test/Microsoft.DotNet.HotReload.Test.Utilities/WatchableApp.cs Add Xunit.Abstractions import for ITestOutputHelper usage.
test/Microsoft.DotNet.HotReload.Test.Utilities/TestLogger.cs Revert xUnit usings to abstractions.
test/Microsoft.DotNet.HotReload.Test.Utilities/Microsoft.DotNet.HotReload.Test.Utilities.csproj Remove xUnit v3 extensibility dependency.
test/Microsoft.DotNet.HotReload.Test.Utilities/DebugTestOutputLogger.cs Revert ITestOutputHelper API usage to v2-compatible surface.
test/HelixTasks/SDKCustomCreateXUnitWorkItemsWithTestExclusion.cs Remove v3-specific chmod/codesign/RID behavior in work items.
test/dotnet.Tests/TelemetryTests/TelemetryFilterTest.cs Remove OTel-era telemetry filter tests.
test/dotnet.Tests/TelemetryTests/TelemetryClientTests.cs Remove OTel disk-log telemetry tests.
test/dotnet.Tests/TelemetryTests/SenderTests.cs Add persistence channel sender tests (AppInsights-style).
test/dotnet.Tests/TelemetryTests/FakeRecordEventNameTelemetry.cs Remove OTel-era fake telemetry client.
test/dotnet.Tests/GivenThatTheUserIsRunningDotNetForTheFirstTime.cs Adjust comment formatting.
test/dotnet.Tests/GivenThatTheUserEnablesThePerfLog.cs Add tests for restored perf logging behavior.
test/dotnet.Tests/FakeRecordEventNameTelemetry.cs Add AI-style fake telemetry implementation.
test/dotnet.Tests/dotnet.Tests.csproj Revert TemplateEngine/Verify packages to non-v3 variants.
test/dotnet.Tests/ConfigurerTests/GivenADotnetFirstTimeUseConfigurerWIthStateSetup.cs Update tests to new Telemetry API and perf measurement plumbing.
test/dotnet.Tests/ConfigurerTests/GivenADotnetFirstTimeUseConfigurer.cs Add/adjust measurement assertions for first-run configurer.
test/dotnet.Tests/CommandTests/Test/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs Revert theory path setup related to output escaping.
test/dotnet.Tests/CommandTests/Run/RunTelemetryTests.cs Update telemetry assertions to include measurements.
test/dotnet.Tests/CommandTests/Run/GivenDotnetRunIsInterrupted.cs Remove process-group behavior tied to v3 host behavior.
test/dotnet.Tests/CommandTests/Package/Add/GivenDotnetPackageAdd.cs Adjust restore directive behavior in file-based tests and imports.
test/dotnet.Tests/CommandTests/MSBuild/NullCurrentSessionIdFixture.cs Update to new Telemetry disabling API.
test/dotnet.Tests/CommandTests/MSBuild/GivenDotnetTestInvocation.cs Update to new Telemetry disabling API.
test/dotnet.Tests/CommandTests/MSBuild/GivenDotnetRestoreInvocation.cs Update to new Telemetry disabling API.
test/dotnet.Tests/CommandTests/MSBuild/GivenDotnetMSBuildBuildsProjects.cs Update comments/formatting around telemetry session behavior.
test/dotnet.Tests/CommandTests/MSBuild/GivenDotnetBuildInvocation.cs Update namespace references for moved telemetry fakes.
test/dotnet.Tests/CommandTests/MSBuild/FakeTelemetry.cs Revert fake telemetry to AI-style ITelemetry interface.
test/dotnet.Tests/CommandTests/MSBuild/DotnetMsbuildInProcTests.cs Update to new Telemetry API + initialization patterns.
test/dotnet.Tests/CommandTests/CommandDirectoryContextExtensions.cs Reset telemetry session state between tests.
test/dotnet.Tests/CommandFactoryTests/GivenALocalToolsCommandResolver.cs Simplify assertions after resolver calls.
test/dotnet.Tests/CliSchemaTests.cs Update CliSchema API usage to CommandResult-based overload.
test/dotnet-watch.Tests/TestUtilities/ModuleInitializer.cs Replace xUnit v3 assembly fixture with module initializer setup.
test/dotnet-watch.Tests/TestUtilities/DotNetWatchTestBase.cs Revert async lifetime signatures to Task-based.
test/dotnet-new.IntegrationTests/WebProjectsTests.cs Remove xUnit v3 SDK dependency.
test/dotnet-new.IntegrationTests/TemplateDiscoveryTool.cs Use TemplateEngine SharedTestOutputHelper.
test/dotnet-new.IntegrationTests/TemplateDiscoveryTests.cs Update PlatformSpecificFact usage to property-based filtering.
test/dotnet-new.IntegrationTests/SharedHomeDirectory.cs Use TemplateEngine SharedTestOutputHelper.
test/dotnet-new.IntegrationTests/DotnetNewTestTemplatesTests.cs Remove v3-only ITestOutputHelper members.
test/dotnet-new.IntegrationTests/DotnetNewInstallTests.cs Revert DiagnosticMessage aliasing to xUnit v2 types.
test/dotnet-new.IntegrationTests/DotnetNewHelpTests.Approval.cs Revert home directory handling to shared fixture usage.
test/dotnet-new.IntegrationTests/DotnetNewDetailsTest.cs Remove xUnit v3 SDK dependency.
test/dotnet-new.IntegrationTests/dotnet-new.IntegrationTests.csproj Revert Verify/TemplateEngine packages to non-v3 variants.
test/dotnet-new.IntegrationTests/Diagnostic/XunitNuGetLogger.cs Revert DiagnosticMessage aliasing to xUnit v2 types.
test/dotnet-new.IntegrationTests/Diagnostic/DiagnosticFixture.cs Remove xUnit v3 SDK dependency.
test/dotnet-format.UnitTests/XUnit/MSBuildTheoryDiscoverer.cs Add discoverer to wrap test cases for MSBuild guard.
test/dotnet-format.UnitTests/XUnit/MSBuildTheoryAttribute.cs Rework MSBuild theory attribute to use v2 discoverer model.
test/dotnet-format.UnitTests/XUnit/MSBuildTestCase.cs Add wrapper test case to enforce MSBuild guard around execution.
test/dotnet-format.UnitTests/XUnit/MSBuildFactDiscoverer.cs Add fact discoverer for MSBuild guard.
test/dotnet-format.UnitTests/XUnit/MSBuildFactAttribute.cs Rework MSBuild fact attribute to use v2 discoverer model.
test/dotnet-format.UnitTests/XUnit/ConditionalFactAttribute.cs Revert conditional fact/theory ctor signatures for v2.
test/dotnet-format.UnitTests/Analyzers/ThirdPartyAnalyzerFormatterTests.cs Revert async lifetime signatures to Task-based.
test/Directory.Build.targets Restore global usings and include xUnit console entrypoint for exe tests.
test/Directory.Build.props Remove v3-specific warnings and set GenerateProgramFile behavior.
test/Common/Program.cs Add xUnit console-based entrypoint for exe test projects.
src/Microsoft.DotNet.TemplateLocator/TemplateLocator.cs Tighten parameter nullability and error formatting.
src/Microsoft.CodeAnalysis.NetAnalyzers/tests/Test.Utilities/Test.Utilities.csproj Revert xunit.v3.assert to xunit.assert.
src/Microsoft.CodeAnalysis.NetAnalyzers/tests/...DoNotUseCount...Data.cs Remove v3 ITheoryDataRow usage assumptions.
src/Common/EnvironmentVariableNames.cs Revert env var constants and remove OTel-related entries.
src/Common/CompileOptions.cs Restore telemetry metadata attribute formatting/behavior.
src/Cli/Microsoft.TemplateEngine.Cli/Help/DotnetHelpAction.cs Add help action implementation compatible with reverted parser wiring.
src/Cli/Microsoft.TemplateEngine.Cli/Commands/create/TemplateCommand.cs Preserve TemplateGroup reference for command behavior.
src/Cli/Microsoft.DotNet.InternalAbstractions/FilePath.cs Revert struct layout/namespace style.
src/Cli/Microsoft.DotNet.Configurer/DotnetFirstTimeUseConfigurer.cs Restore perf measurement collection during first-run steps.
src/Cli/Microsoft.DotNet.Cli.Utils/UILanguageOverride.cs Revert console encoding env var usage to string literal.
src/Cli/Microsoft.DotNet.Cli.Utils/TelemetryEventEntry.cs Revert telemetry entry format + add perf measurement helper.
src/Cli/Microsoft.DotNet.Cli.Utils/MSBuildForwardingAppWithoutLogging.cs Revert MSBuild version reference and restrict SDK path accessor.
src/Cli/Microsoft.DotNet.Cli.Utils/Microsoft.DotNet.Cli.Utils.csproj Add DiagnosticSource package for .NET Framework.
src/Cli/Microsoft.DotNet.Cli.Utils/ITelemetryFilter.cs Revert filter interface to object-based filtering.
src/Cli/Microsoft.DotNet.Cli.Utils/InstallerSuccessReport.cs Remove old report type from utils (moved/embedded).
src/Cli/Microsoft.DotNet.Cli.Utils/BuiltInCommand.cs Restore built-in command implementation scaffolding.
src/Cli/Microsoft.DotNet.Cli.Utils/Activities.cs Restore activity helpers after OTel revert.
src/Cli/Microsoft.DotNet.Cli.Definitions/Commands/DotNetCommandDefinition.cs Reorder/add CLI schema option back into root options.
src/Cli/dotnet/Telemetry/TopLevelCommandNameAndOptionToLog.cs Revert allowlist telemetry rule to AI-style entry format.
src/Cli/dotnet/Telemetry/TelemetryDiskLogger.cs Remove OTel disk logger.
src/Cli/dotnet/Telemetry/PersistenceChannel/StorageTransmission.cs Restore AI persistence channel transmission representation.
src/Cli/dotnet/Telemetry/PersistenceChannel/SnapshottingDictionary.cs Add snapshotting dictionary helper for channel.
src/Cli/dotnet/Telemetry/PersistenceChannel/SnapshottingCollection.cs Add snapshotting collection base.
src/Cli/dotnet/Telemetry/PersistenceChannel/PersistenceTransmitter.cs Add persisted transmitter/sender management.
src/Cli/dotnet/Telemetry/PersistenceChannel/PersistenceChannelDebugLog.cs Add debug logging for persistence channel.
src/Cli/dotnet/Telemetry/PersistenceChannel/PersistenceChannel.cs Add ITelemetryChannel implementation for persistence.
src/Cli/dotnet/Telemetry/PersistenceChannel/FlushManager.cs Add flush-to-storage manager.
src/Cli/dotnet/Telemetry/PersistenceChannel/FixedSizeQueue.cs Add bounded queue helper.
src/Cli/dotnet/Telemetry/PersistenceChannel/BaseStorageService.cs Add base storage service abstraction.
src/Cli/dotnet/Telemetry/ITelemetry.cs Revert telemetry interface to AI-style TrackEvent + Flush/Dispose.
src/Cli/dotnet/Telemetry/IParseResultLogRule.cs Update parse log rule signature to AI entry format + measurements.
src/Cli/dotnet/Telemetry/ExternalTelemetryProperties.cs Revert nullable annotations and registry value casting.
src/Cli/dotnet/Telemetry/AllowListToSendVerbSecondVerbFirstArgument.cs Update allowlist rule to AI entry format + measurements.
src/Cli/dotnet/Telemetry/AllowListToSendFirstArgument.cs Update allowlist rule to AI entry format + measurements.
src/Cli/dotnet/Telemetry/AllowListToSendFirstAppliedOptions.cs Update allowlist rule to AI entry format + measurements.
src/Cli/dotnet/PerformanceLogManager.cs Restore performance log directory management + cleanup.
src/Cli/dotnet/PerformanceLogEventListener.cs Restore perf EventListener writing to disk.
src/Cli/dotnet/ParserOptionActions.cs Remove OTel-era parser option action types.
src/Cli/dotnet/Parser.cs Rewire help/schema actions and adjust parsing helpers.
src/Cli/dotnet/Extensions/ActivityExtensions.cs Remove OTel activity display-name helper.
src/Cli/dotnet/DotNetCommandFactory.cs Restore command factory behavior for built-in vs out-of-proc commands.
src/Cli/dotnet/dotnet.csproj Reintroduce Microsoft.ApplicationInsights; remove OTel packages.
src/Cli/dotnet/Commands/Tool/ToolCommandSpecCreator.cs Revert env propagation and adjust muxer spec creation.
src/Cli/dotnet/Commands/Tool/Run/ToolRunCommand.cs Tighten nullability around resolver results.
src/Cli/dotnet/Commands/Tool/Execute/ToolExecuteCommand.cs Revert forward-args default to empty enumerable.
src/Cli/dotnet/Commands/Run/RunTelemetry.cs Move numeric counts into measurements instead of string props.
src/Cli/dotnet/Commands/Restore/RestoreCommand.cs Use restored CommandFactory for virtual/physical command creation.
src/Cli/dotnet/Commands/Publish/PublishCommand.cs Use restored CommandFactory for virtual/physical command creation.
src/Cli/dotnet/Commands/Project/ProjectCommandParser.cs Restore parser imports for reverted infra.
src/Cli/dotnet/Commands/Pack/PackCommandParser.cs Restore parser imports for reverted infra.
src/Cli/dotnet/Commands/Pack/PackCommand.cs Restore CommandFactory usage; adjust imports.
src/Cli/dotnet/Commands/New/OptionalWorkloadProvider.cs Rework SDK directory discovery and TemplateLocator call shape.
src/Cli/dotnet/Commands/New/NewCommandParser.cs Restore TemplateEngine CLI wiring for reverted infra.
src/Cli/dotnet/Commands/New/MSBuildEvaluation/MSBuildEvaluator.cs Add telemetry measurements for MSBuild evaluation timing.
src/Cli/dotnet/Commands/New/BuiltInTemplatePackageProvider.cs Rework template folder discovery for reverted path logic.
src/Cli/dotnet/Commands/MSBuild/MSBuildForwardingApp.cs Restore AI telemetry session propagation + perf log hooks.
src/Cli/dotnet/Commands/Hidden/InternalReportInstallSuccess/InternalReportInstallSuccessCommand.cs Rework to AI-style telemetry + inline report type.
src/Cli/dotnet/Commands/CommandFactory.cs Move/restore command creation helpers (namespace change).
src/Cli/dotnet/Commands/Clean/CleanCommand.cs Use restored CommandFactory for virtual/physical command creation.
src/Cli/dotnet/Commands/Build/BuildCommandParser.cs Restore parser imports for reverted infra.
src/Cli/dotnet/Commands/Build/BuildCommand.cs Use restored CommandFactory for virtual/physical command creation.
src/Cli/dotnet/CommandParsingException.cs Revert nullable annotations/field shape.
src/Cli/dotnet/CommandFactory/CommandSpec.cs Revert env vars type to Dictionary and adjust defaults.
src/Cli/dotnet/CommandFactory/CommandResolution/MuxerCommandSpecMaker.cs Rework muxer spec construction and roll-forward handling.
src/Cli/dotnet/CommandFactory/CommandResolution/MuxerCommandResolver.cs Remove activity-context env propagation.
src/Cli/dotnet/CommandFactory/CommandResolution/LocalToolsCommandResolver.cs Revert nullability and arg forwarding behavior.
src/Cli/dotnet/CommandFactory/CommandResolution/DotnetToolsCommandResolver.cs Revert nullability and muxer spec creation.
src/Cli/dotnet/CommandFactory/CommandResolution/ActivityContextFactory.cs Remove OTel activity context injection helper.
src/Cli/dotnet/CliSchema.cs Change schema printing to CommandResult-based API + AI telemetry.
eng/Versions.props Remove OTel versions; add AppInsights version; adjust XunitCombinatorial.
eng/Version.Details.xml Revert TemplateEngine + XUnitExtensions dependency identities.
eng/Version.Details.props Revert version property names for TemplateEngine/XUnitExtensions.
eng/Signing.props Remove OTel signing entries; fix item group structure.
eng/Packages.props Switch Verify package mapping back to Verify.Xunit.
eng/dependabot/Packages.props Switch Verify dependency back to Verify.Xunit.
documentation/general/tab-completion.md Update sample completion output.
Directory.Packages.props Remove OTel packages; add AppInsights/xunit.console; revert xUnit extensions.
Directory.Build.targets Add xunit.console reference for exe test projects and suppress dup copy warnings.
Directory.Build.props Add NU1701 suppression for explicit legacy dependency (AppInsights).
build/SetupHelixEnvironment.sh Remove crash-dump env var setup.
build/SetupHelixEnvironment.cmd Remove crash-dump env var setup.
build/helix-debug-entitlements.plist Remove macOS entitlements file used by v3 work items.
Comments suppressed due to low confidence (1)

test/dotnet.Tests/CommandTests/Test/GivenDotnetTestBuildsAndRunsTestfromCsproj.cs:724

  • pathWithComma is shared across all [InlineData] rows. Since --diag uses the path as a file while --output/--results-directory use it as a directory, reusing the same path can cause cross-row conflicts (especially under parallel execution). Use a unique subdirectory/file name per flag (or a temp path) to keep theory rows isolated.

Comment thread test/Microsoft.NET.TestFramework/Commands/TestCommand.cs
Comment thread test/dotnet.Tests/CommandTests/Package/Add/GivenDotnetPackageAdd.cs
Comment thread src/Cli/Microsoft.DotNet.Cli.Utils/UILanguageOverride.cs
Comment thread src/Cli/dotnet/Commands/New/NewCommandParser.cs
Comment thread src/Cli/dotnet/Commands/Pack/PackCommand.cs
Comment thread src/Cli/dotnet/PerformanceLogManager.cs
MichaelSimons and others added 4 commits April 9, 2026 21:17
Remove Extensions abstractions DLLs that are now provided by the
NETCore.App shared framework (dotnet/dotnet#5206).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add Microsoft.Extensions.Logging.Generators and
Microsoft.Extensions.Options.SourceGeneration analyzers that are now
provided by microsoft.netcore.app.ref (dotnet/dotnet#5206).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
VS 2026 Helix scout images don't have v143 build tools installed.
#53789

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
All C++/CLI test assets use PlatformToolset v143 (VS 2022) which is not
installed on the VS 2026 Helix scout images (windows.amd64.vs2026.pre).
#53789

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@MichaelSimons
Copy link
Copy Markdown
Member Author

Summary of additional test fixes

Commits pushed

Commit Description
4fd7f58 Update PackageContentTest expected contents for inbox Extensions
47e9926 Update analyzer test expected list for inbox Extensions generators
2d2fd6b Disable SourceLinkTests.Cpp pending v143 toolset fix
03e9d40 Disable C++/CLI tests pending v143 toolset fix on VS 2026 Helix

Test failures addressed

PackageContentTest (4fd7f58) — Removed 9 Extensions DLLs now provided by the NETCore.App shared framework (dotnet/dotnet#5206):

  • Microsoft.NET.Build.Containers.IntegrationTests.PackageTests.PackageContentTest

Analyzer expected list (47e9926) — Added 2 new inbox generators (Microsoft.Extensions.Logging.Generators and Microsoft.Extensions.Options.SourceGeneration):

  • GivenThatWeWantToUseAnalyzers.It_resolves_analyzers_correctly(language: "C#", testAssetName: "AppWithLibrary")

v143 platform toolset missing (2d2fd6b, 03e9d40) — VS 2026 Helix scout images don't have v143 (VS 2022) build tools installed. Tracked by #53789:

  • SourceLinkTests.Cpp
  • GivenThatWeWantToBuildACppCliProject (8 tests)
  • GivenThatWeWantToBuildACppCliProjectWithTransitiveDeps (3 tests)
  • GivenThatWeWantToPackACppCliProject (1 test)
  • GivenThatWeWantToPublishACppCliProject (1 test)

Not addressed (pre-existing from Extensions inbox change)

These failures are caused by the Microsoft.Extensions.*.Abstractions inbox change (dotnet/dotnet#5206) which baked into the bootstrap SDK. Reverting the version bump alone doesn't fix them — they need a broader fix:

  • GivenThatWeWantToGenerateGlobalUsings_BlazorWasm.It_generates_blazorwasm_usings_and_builds_successfully (CS0012)
  • EndToEnd.Tests blazorwasm template build failures
  • BlazorWasmStaticWebAssetsIntegrationTest compressed asset failures

@MiYanni MiYanni mentioned this pull request Apr 9, 2026
@javiercn
Copy link
Copy Markdown
Member

Investigation of remaining BlazorWasm test failures

The 6 BlazorWasm test failures reported by @MichaelSimons are pre-existing on main — they are not caused by this PR's revert changes. The branch has zero diffs vs origin/main for all BlazorWasm SDK source files, test files, and baselines.

Root cause

The Microsoft.Extensions.*.Abstractions inbox change from dotnet/dotnet#5206, baked into the bootstrap SDK on Helix, changes the set of WASM framework DLLs (and their compressed variants), causing:

  • 5 SWA baseline tests to fail (manifest drift in BlazorWasmStaticWebAssetsIntegrationTest)
  • 1 GlobalUsings test to fail with CS0012 (type forwarding mismatch)

Fix

Added Skip attributes referencing tracking issue #53793 to all 6 failing tests, following the same pattern used for the C++/CLI tests that reference #53789.

Affected tests

  • StaticWebAssets_BuildMinimal_Works
  • StaticWebAssets_Build_Hosted_Works
  • StaticWebAssets_PublishMinimal_Works
  • StaticWebAssets_Publish_Hosted_Works
  • StaticWebAssets_Publish_DoesNotIncludeXmlDocumentationFiles_AsAssets
  • It_generates_blazorwasm_usings_and_builds_successfully

@MiYanni
Copy link
Copy Markdown
Member

MiYanni commented Apr 10, 2026

@javiercn That's not a complete assessment. I'll have that completed shortly at #53791 and have all the tests skipped in this PR.

@marcpopMSFT marcpopMSFT merged commit 9b4d473 into main Apr 10, 2026
24 checks passed
@marcpopMSFT marcpopMSFT deleted the revert-xunitv3-with-otel-revert branch April 10, 2026 06:17
Copilot AI added a commit that referenced this pull request Apr 10, 2026
This re-applies the OpenTelemetry telemetry changes that were reverted
in PR #53788, without re-applying the xUnit v3 migration (PR #52930).

Key changes:
- Replace ApplicationInsights with OpenTelemetry for telemetry
- Add ITelemetryClient interface replacing ITelemetry
- Add TelemetryClient implementation using OTel
- Update ITelemetryFilter to use typed overloads instead of object parameter
- Update TelemetryFilter with new Filter implementations
- Remove ApplicationInsights NuGet dependency
- Add OpenTelemetry NuGet packages
- Delete PersistenceChannel telemetry infrastructure (no longer needed)
- Delete PerformanceLog infrastructure (replaced by OTel)
- Move test files to TelemetryTests subfolder
- Various nullable annotation improvements

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: MiYanni <17788297+MiYanni@users.noreply.github.com>
Copilot AI added a commit that referenced this pull request Apr 11, 2026
This re-applies the OpenTelemetry telemetry changes that were reverted
in PR #53788, without re-applying the xUnit v3 migration (PR #52930).

Key changes:
- Replace ApplicationInsights with OpenTelemetry for telemetry
- Add ITelemetryClient interface replacing ITelemetry
- Add TelemetryClient implementation using OTel
- Update ITelemetryFilter to use typed overloads instead of object parameter
- Update TelemetryFilter with new Filter implementations
- Remove ApplicationInsights NuGet dependency
- Add OpenTelemetry NuGet packages
- Delete PersistenceChannel telemetry infrastructure (no longer needed)
- Delete PerformanceLog infrastructure (replaced by OTel)
- Move test files to TelemetryTests subfolder
- Various nullable annotation improvements

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Co-authored-by: MiYanni <17788297+MiYanni@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants