Skip to content

Commit 4bd6464

Browse files
authored
Migrate to xunit.v3 (#10890)
* Migrate to xunit.v3 * Coverage * Revert "Coverage" This reverts commit 2d66015. * Use MS CC * Update Testing.targets * Update Versions.props * Update Testing.targets * Update CodeCoverage.proj
1 parent a2583db commit 4bd6464

File tree

17 files changed

+47
-63
lines changed

17 files changed

+47
-63
lines changed

Directory.Build.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
<TargetFrameworkVersion>10.0</TargetFrameworkVersion>
88
<BuildWithNetFrameworkHostedCompiler>true</BuildWithNetFrameworkHostedCompiler>
99
<PublishWindowsPdb>false</PublishWindowsPdb>
10+
<TestRunnerName>XUnitV3</TestRunnerName>
1011
</PropertyGroup>
1112
<!-- Normalize $(TestWpfArcadeSdkPath) by appending a '\' to it if one is missing -->
1213
<PropertyGroup Condition="'$(TestWpfArcadeSdkPath)'!=''">

dotnet.config

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
[dotnet.test.runner]
2+
name = "Microsoft.Testing.Platform"

eng/CodeCoverage.config

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<Configuration>
3+
<!-- https://github.com/tonerdo/coverlet/issues/618 -->
4+
<IncludeTestAssembly>true</IncludeTestAssembly>
5+
6+
<CodeCoverage>
7+
<Attributes>
8+
<Exclude>
9+
<Attribute>^System\.Diagnostics\.CodeAnalysis\.ExcludeFromCodeCoverageAttribute$</Attribute>
10+
</Exclude>
11+
</Attributes>
12+
</CodeCoverage>
13+
</Configuration>

eng/CodeCoverage.proj

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
<_ReportGeneratorPath>$(NuGetPackageRoot)reportgenerator\$(ReportGeneratorVersion)\tools\net47\ReportGenerator.exe</_ReportGeneratorPath>
2121
</PropertyGroup>
2222

23-
<Message Importance="high" Text="&quot;$(_ReportGeneratorPath)&quot; -reports:$(ArtifactsDir)TestResults\**\coverage.opencover.xml -targetdir:$(ArtifactsDir)coverage -reporttypes:Cobertura" />
24-
<Exec Command="&quot;$(_ReportGeneratorPath)&quot; -reports:$(ArtifactsDir)TestResults\**\coverage.opencover.xml -targetdir:$(ArtifactsDir)coverage -reporttypes:Cobertura" />
23+
<Message Importance="high" Text="&quot;$(_ReportGeneratorPath)&quot; -reports:$(ArtifactsDir)TestResults\**\*.coverage -targetdir:$(ArtifactsDir)coverage -reporttypes:Cobertura" />
24+
<Exec Command="&quot;$(_ReportGeneratorPath)&quot; -reports:$(ArtifactsDir)TestResults\**\*.coverage -targetdir:$(ArtifactsDir)coverage -reporttypes:Cobertura" />
2525

2626
<ItemGroup>
2727
<_CodecovArgs Include="-f;$(ArtifactsDir)coverage\Cobertura.xml" />
@@ -37,4 +37,4 @@
3737
</Target>
3838

3939
<Import Sdk="Microsoft.NET.Sdk" Project="Sdk.targets" />
40-
</Project>
40+
</Project>

eng/CodeCoverage.runsettings

Lines changed: 0 additions & 21 deletions
This file was deleted.

eng/Testing.targets

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
<Project>
22
<!-- Set code coverage properties that reference properties not available in Directory.Build.props -->
33
<PropertyGroup Condition="'$(Coverage)' == 'true'">
4-
<CoverletOutput>$(TargetDir)coverage\$(MSBuildProjectName).coverage</CoverletOutput>
4+
<TestRunnerAdditionalArguments>$(TestRunnerAdditionalArguments) --coverage --coverage-output $(ArtifactsDir)TestResults\$(Configuration)\$(MSBuildProjectName).coverage --coverage-settings "$(RepoRoot)/eng/CodeCoverage.config"</TestRunnerAdditionalArguments>
55
<!-- https://github.com/tonerdo/coverlet/issues/363 -->
66
<DeterministicSourcePaths>false</DeterministicSourcePaths>
77
</PropertyGroup>
88

99
<PropertyGroup Condition="'$(IsTestProject)' == 'true'">
10-
<TestRunnerAdditionalArguments>$(TestRunnerAdditionalArguments) --blame</TestRunnerAdditionalArguments>
11-
<TestRunnerAdditionalArguments>$(TestRunnerAdditionalArguments) --blame-hang-dump-type full</TestRunnerAdditionalArguments>
12-
<TestRunnerAdditionalArguments>$(TestRunnerAdditionalArguments) --blame-hang-timeout 10min</TestRunnerAdditionalArguments>
13-
<TestRunnerAdditionalArguments>$(TestRunnerAdditionalArguments) --blame-crash-dump-type full</TestRunnerAdditionalArguments>
10+
<TestRunnerAdditionalArguments>$(TestRunnerAdditionalArguments) --hangdump</TestRunnerAdditionalArguments>
11+
<TestRunnerAdditionalArguments>$(TestRunnerAdditionalArguments) --hangdump-timeout 10min</TestRunnerAdditionalArguments>
12+
<TestRunnerAdditionalArguments>$(TestRunnerAdditionalArguments) --crashdump</TestRunnerAdditionalArguments>
1413
</PropertyGroup>
1514

16-
<PropertyGroup Condition="'$(IsTestProject)' == 'true' AND '$(Coverage)' == 'true'">
17-
<TestRunnerAdditionalArguments>$(TestRunnerAdditionalArguments) --collect:"XPlat Code Coverage"</TestRunnerAdditionalArguments>
18-
<TestRunnerAdditionalArguments>$(TestRunnerAdditionalArguments) --test-adapter-path "$(Pkgcoverlet_collector)/build/netstandard1.0"</TestRunnerAdditionalArguments>
19-
<TestRunnerAdditionalArguments>$(TestRunnerAdditionalArguments) --settings "$(RepoRoot)/eng/CodeCoverage.runsettings"</TestRunnerAdditionalArguments>
20-
</PropertyGroup>
21-
</Project>
15+
<ItemGroup Condition="'$(IsTestProject)' == 'true'">
16+
<PackageReference Include="Microsoft.Testing.Extensions.HangDump" Version="$(MicrosoftTestingPlatformVersion)" />
17+
<PackageReference Include="Microsoft.Testing.Extensions.CrashDump" Version="$(MicrosoftTestingPlatformVersion)" />
18+
<PackageReference Include="Microsoft.Testing.Extensions.CodeCoverage" Condition="'$(Coverage)' == 'true'" Version="$(MicrosoftTestingExtensionsCodeCoverageVersion)" />
19+
</ItemGroup>
20+
</Project>

eng/Versions.props

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
<PreReleaseVersionLabel>rc</PreReleaseVersionLabel>
88
<PreReleaseVersionIteration>1</PreReleaseVersionIteration>
99
<VersionPrefix>$(MajorVersion).$(MinorVersion).$(PatchVersion)</VersionPrefix>
10-
<UseVSTestRunner>true</UseVSTestRunner>
1110
<!--
1211
Set assembly version to align with major and minor version, as for the patches and revisions should be manually
1312
updated per assembly if it is serviced.
@@ -87,12 +86,7 @@
8786
</PropertyGroup>
8887
<!-- XUnit-related (not extensions) -->
8988
<PropertyGroup>
90-
<XUnitVersion>2.9.2</XUnitVersion>
91-
<XUnitAssertVersion>$(XUnitVersion)</XUnitAssertVersion>
92-
<XUnitRunnerConsoleVersion>$(XUnitVersion)</XUnitRunnerConsoleVersion>
93-
<XUnitRunnerVisualStudioVersion>2.8.1</XUnitRunnerVisualStudioVersion>
94-
<XUnitExtensibilityExecutionVersion>$(XUnitVersion)</XUnitExtensibilityExecutionVersion>
95-
<XUnitStaFactPackageVersion>1.2.46-alpha</XUnitStaFactPackageVersion>
89+
<XUnitStaFactPackageVersion>3.0.13</XUnitStaFactPackageVersion>
9690
</PropertyGroup>
9791
<!-- Test related -->
9892
<PropertyGroup>
@@ -101,15 +95,14 @@
10195
<SystemComponentModelTypeConverterTestDataVersion>8.0.0-beta.23107.1</SystemComponentModelTypeConverterTestDataVersion>
10296
<SystemDrawingCommonTestDataVersion>8.0.0-beta.23107.1</SystemDrawingCommonTestDataVersion>
10397
<SystemWindowsExtensionsTestDataVersion>8.0.0-beta.23107.1</SystemWindowsExtensionsTestDataVersion>
104-
<VerifyXunitVersion>14.2.0</VerifyXunitVersion>
98+
<VerifyXunitV3Version>30.1.0</VerifyXunitV3Version>
10599
<!-- Shared test utilities with WinForms -->
106-
<SystemPrivateWindowsCoreTestUtilitiesVersion>10.0.0-alpha.1.24571.3</SystemPrivateWindowsCoreTestUtilitiesVersion>
100+
<SystemPrivateWindowsCoreTestUtilitiesVersion>10.0.0-preview.6.25313.5</SystemPrivateWindowsCoreTestUtilitiesVersion>
107101
</PropertyGroup>
108102
<!-- Code Coverage -->
109103
<PropertyGroup>
110-
<CoverletMSBuildPackageVersion>6.0.0</CoverletMSBuildPackageVersion>
104+
<MicrosoftTestingExtensionsCodeCoverageVersion>17.14.2</MicrosoftTestingExtensionsCodeCoverageVersion>
111105
<CodecovVersion>1.12.3</CodecovVersion>
112-
<CoverletVersion>6.0.0</CoverletVersion>
113106
<ReportGeneratorVersion>5.2.0</ReportGeneratorVersion>
114107
</PropertyGroup>
115108
<!-- External Analyzers -->

src/Microsoft.DotNet.Wpf/tests/IntegrationTests/MultiTargeting.props

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,6 @@
1313
to true.
1414
-->
1515
<ItemGroup Condition="'$(IsUnitTestProject)'!='true' and '$(IsXUnitProject)'=='true'">
16-
<PackageReference Include="xunit" Version="$(XUnitVersion)" />
17-
<PackageReference Include="xunit.runner.console" Version="$(XUnitRunnerConsoleVersion)">
18-
<PrivateAssets>all</PrivateAssets>
19-
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
20-
</PackageReference>
21-
<PackageReference Include="xunit.runner.visualstudio" Version="$(XUnitRunnerVisualStudioVersion)">
22-
<PrivateAssets>all</PrivateAssets>
23-
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
24-
</PackageReference>
16+
<PackageReference Include="xunit.v3" Version="$(XUnitV3Version)" />
2517
</ItemGroup>
2618
</Project>

src/Microsoft.DotNet.Wpf/tests/UnitTests/Directory.Build.props

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,4 @@
77
<WpfTestsDir>$(MsBuildThisFileDirectory)</WpfTestsDir>
88
</PropertyGroup>
99

10-
<ItemGroup>
11-
<PackageReference Include="coverlet.collector" Version="$(CoverletVersion)" GeneratePathProperty="true" PrivateAssets="all" />
12-
</ItemGroup>
13-
1410
</Project>

src/Microsoft.DotNet.Wpf/tests/UnitTests/PresentationCore.Tests/PresentationCore.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
<NoWarn>$(NoWarn);SYSLIB5005</NoWarn>
1212
<GenerateDocumentationFile>true</GenerateDocumentationFile>
1313
<TargetFramework Condition="!$(TargetFramework.Contains('windows'))">$(TargetFramework)-windows</TargetFramework>
14+
<OutputType>Exe</OutputType>
1415
</PropertyGroup>
1516

1617
<ItemGroup>

0 commit comments

Comments
 (0)