Skip to content

Commit 10eed35

Browse files
Migrate device tests to use dotnet test with Microsoft Testing Platform (MTP)
- Revamp `TestRunner.Core/TestInstrumentation.cs` to use MTP + NUnit (following the androidtest template pattern with `AddNUnit()`) - Delete `TestRunner.NUnit/`, `TestRunner.xUnit/`, `Xamarin.Android.NUnitLite/`, `src-ThirdParty/NUnitLite/` - Update `Mono.Android.NET-Tests` and `JcwGen-Tests` to use new `TestInstrumentation` base class with stock NUnit 4.3.2 - Update CI YAML to use `dotnet test --no-build` instead of `-t:RunTestApp` - Update `NUnitReferences.projitems` to NUnit 4.3.2 + adapter 5.0.0 - Clean up `Directory.Build.props`, installer targets, and solution files Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 10559fe commit 10eed35

326 files changed

Lines changed: 160 additions & 41494 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Directory.Build.props

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,6 @@
7474
<_AllowProjectWarnings Condition=" '$(MSBuildProjectFile)' == 'TestRunner.Core.NET.csproj' ">true</_AllowProjectWarnings>
7575
<_AllowProjectWarnings Condition=" '$(MSBuildProjectFile)' == 'Xamarin.Android.Build.Tests.csproj' ">true</_AllowProjectWarnings>
7676
<_AllowProjectWarnings Condition=" '$(MSBuildProjectFile)' == 'Xamarin.Android.JcwGen-Tests.csproj' ">true</_AllowProjectWarnings>
77-
<_AllowProjectWarnings Condition=" '$(MSBuildProjectFile)' == 'Xamarin.Android.NUnitLite.NET.csproj' ">true</_AllowProjectWarnings>
7877
<_AllowProjectWarnings Condition=" '$(MSBuildProjectFile)' == 'Xamarin.ProjectTools.csproj' ">true</_AllowProjectWarnings>
7978
<TreatWarningsAsErrors Condition=" ('$(RunningOnCI)' == 'true' OR '$(_AndroidTreatWarningsAsErrors)' == 'true') AND '$(_AllowProjectWarnings)' != 'true' ">true</TreatWarningsAsErrors>
8079
</PropertyGroup>

Xamarin.Android-Tests.sln

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.Forms.Performance.I
5050
EndProject
5151
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestRunner.Core", "tests\TestRunner.Core\TestRunner.Core.csproj", "{3CC4E384-4985-4D93-A34C-73F69A379FA7}"
5252
EndProject
53-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestRunner.NUnit", "tests\TestRunner.NUnit\TestRunner.NUnit.csproj", "{CB2335CB-0050-4020-8A05-E9614EDAA05E}"
54-
EndProject
55-
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestRunner.xUnit", "tests\TestRunner.xUnit\TestRunner.xUnit.csproj", "{57DC8529-2628-40C4-B27E-BAC1AE44A706}"
56-
EndProject
5753
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CodeBehindBuildTests", "tests\CodeBehind\BuildTests\CodeBehindBuildTests.csproj", "{95012FA9-ED51-4004-8F36-91DB361C892B}"
5854
EndProject
5955
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CommonSampleLibrary", "tests\CodeBehind\CommonSampleLibrary\CommonSampleLibrary.csproj", "{7A5FB23C-6B26-461A-8BBD-02392DCE3C11}"
@@ -324,30 +320,6 @@ Global
324320
{3CC4E384-4985-4D93-A34C-73F69A379FA7}.Release|x64.Build.0 = Release|Any CPU
325321
{3CC4E384-4985-4D93-A34C-73F69A379FA7}.Release|x86.ActiveCfg = Release|Any CPU
326322
{3CC4E384-4985-4D93-A34C-73F69A379FA7}.Release|x86.Build.0 = Release|Any CPU
327-
{CB2335CB-0050-4020-8A05-E9614EDAA05E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
328-
{CB2335CB-0050-4020-8A05-E9614EDAA05E}.Debug|Any CPU.Build.0 = Debug|Any CPU
329-
{CB2335CB-0050-4020-8A05-E9614EDAA05E}.Debug|x64.ActiveCfg = Debug|Any CPU
330-
{CB2335CB-0050-4020-8A05-E9614EDAA05E}.Debug|x64.Build.0 = Debug|Any CPU
331-
{CB2335CB-0050-4020-8A05-E9614EDAA05E}.Debug|x86.ActiveCfg = Debug|Any CPU
332-
{CB2335CB-0050-4020-8A05-E9614EDAA05E}.Debug|x86.Build.0 = Debug|Any CPU
333-
{CB2335CB-0050-4020-8A05-E9614EDAA05E}.Release|Any CPU.ActiveCfg = Release|Any CPU
334-
{CB2335CB-0050-4020-8A05-E9614EDAA05E}.Release|Any CPU.Build.0 = Release|Any CPU
335-
{CB2335CB-0050-4020-8A05-E9614EDAA05E}.Release|x64.ActiveCfg = Release|Any CPU
336-
{CB2335CB-0050-4020-8A05-E9614EDAA05E}.Release|x64.Build.0 = Release|Any CPU
337-
{CB2335CB-0050-4020-8A05-E9614EDAA05E}.Release|x86.ActiveCfg = Release|Any CPU
338-
{CB2335CB-0050-4020-8A05-E9614EDAA05E}.Release|x86.Build.0 = Release|Any CPU
339-
{57DC8529-2628-40C4-B27E-BAC1AE44A706}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
340-
{57DC8529-2628-40C4-B27E-BAC1AE44A706}.Debug|Any CPU.Build.0 = Debug|Any CPU
341-
{57DC8529-2628-40C4-B27E-BAC1AE44A706}.Debug|x64.ActiveCfg = Debug|Any CPU
342-
{57DC8529-2628-40C4-B27E-BAC1AE44A706}.Debug|x64.Build.0 = Debug|Any CPU
343-
{57DC8529-2628-40C4-B27E-BAC1AE44A706}.Debug|x86.ActiveCfg = Debug|Any CPU
344-
{57DC8529-2628-40C4-B27E-BAC1AE44A706}.Debug|x86.Build.0 = Debug|Any CPU
345-
{57DC8529-2628-40C4-B27E-BAC1AE44A706}.Release|Any CPU.ActiveCfg = Release|Any CPU
346-
{57DC8529-2628-40C4-B27E-BAC1AE44A706}.Release|Any CPU.Build.0 = Release|Any CPU
347-
{57DC8529-2628-40C4-B27E-BAC1AE44A706}.Release|x64.ActiveCfg = Release|Any CPU
348-
{57DC8529-2628-40C4-B27E-BAC1AE44A706}.Release|x64.Build.0 = Release|Any CPU
349-
{57DC8529-2628-40C4-B27E-BAC1AE44A706}.Release|x86.ActiveCfg = Release|Any CPU
350-
{57DC8529-2628-40C4-B27E-BAC1AE44A706}.Release|x86.Build.0 = Release|Any CPU
351323
{95012FA9-ED51-4004-8F36-91DB361C892B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
352324
{95012FA9-ED51-4004-8F36-91DB361C892B}.Debug|Any CPU.Build.0 = Debug|Any CPU
353325
{95012FA9-ED51-4004-8F36-91DB361C892B}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -504,8 +476,6 @@ Global
504476
{5BDCEF07-E3D7-4E73-B025-6E43A5A7D7F1} = {E49089E4-4CE0-475E-BE9C-0AB4E4D56EE9}
505477
{B297008B-C313-455E-B230-E119589D2D79} = {E49089E4-4CE0-475E-BE9C-0AB4E4D56EE9}
506478
{3CC4E384-4985-4D93-A34C-73F69A379FA7} = {EFBC4DC0-DBFF-4DAA-B0B8-6D0CB02A25F5}
507-
{CB2335CB-0050-4020-8A05-E9614EDAA05E} = {EFBC4DC0-DBFF-4DAA-B0B8-6D0CB02A25F5}
508-
{57DC8529-2628-40C4-B27E-BAC1AE44A706} = {EFBC4DC0-DBFF-4DAA-B0B8-6D0CB02A25F5}
509479
{95012FA9-ED51-4004-8F36-91DB361C892B} = {9B63992C-2201-4BB0-BD00-D637B481A995}
510480
{7A5FB23C-6B26-461A-8BBD-02392DCE3C11} = {9B63992C-2201-4BB0-BD00-D637B481A995}
511481
{2DD1EE75-6D8D-4653-A800-0A24367F7F38} = {9B63992C-2201-4BB0-BD00-D637B481A995}

build-tools/automation/yaml-templates/apk-instrumentation.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ parameters:
66
project: ""
77
testResultsFiles: ""
88
extraBuildArgs: ""
9-
testResultsFormat: NUnit
9+
testResultsFormat: VSTest
1010
artifactSource: ""
1111
artifactFolder: ""
1212
condition: succeeded()
@@ -17,11 +17,12 @@ steps:
1717
configuration: ${{ parameters.buildConfiguration }}
1818
xaSourcePath: ${{ parameters.xaSourcePath }}
1919
displayName: run ${{ parameters.testName }}
20+
command: test
2021
project: ${{ parameters.project }}
2122
arguments: >-
22-
-t:RunTestApp
23+
--no-build
2324
-bl:${{ parameters.xaSourcePath }}/bin/Test${{ parameters.configuration }}/run-${{ parameters.testName }}.binlog
24-
-v:n -c ${{ parameters.configuration }} ${{ parameters.extraBuildArgs }}
25+
-c ${{ parameters.configuration }} ${{ parameters.extraBuildArgs }}
2526
condition: ${{ parameters.condition }}
2627
continueOnError: true
2728

build-tools/automation/yaml-templates/stage-package-tests.yaml

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ stages:
5959
configuration: Debug
6060
testName: Mono.Android.NET_Tests-Debug
6161
project: tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj
62-
testResultsFiles: TestResult-Mono.Android.NET_Tests-Debug.xml
6362
artifactSource: bin/TestDebug/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.apk
6463
artifactFolder: $(DotNetTargetFramework)-Debug
6564

@@ -68,7 +67,6 @@ stages:
6867
configuration: $(XA.Build.Configuration)
6968
testName: Mono.Android.NET_Tests-$(XA.Build.Configuration)
7069
project: tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj
71-
testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration).xml
7270
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
7371
artifactFolder: $(DotNetTargetFramework)-$(XA.Build.Configuration)
7472

@@ -77,7 +75,6 @@ stages:
7775
configuration: $(XA.Build.Configuration)
7876
testName: Mono.Android.NET_Tests-NoAab
7977
project: tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj
80-
testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration)NoAab.xml
8178
extraBuildArgs: -p:TestsFlavor=NoAab -p:AndroidPackageFormat=apk
8279
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.apk
8380
artifactFolder: $(DotNetTargetFramework)-NoAab
@@ -87,7 +84,6 @@ stages:
8784
configuration: $(XA.Build.Configuration)
8885
testName: Mono.Android.NET_Tests-Interpreter
8986
project: tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj
90-
testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration)Interpreter.xml
9187
extraBuildArgs: -p:TestsFlavor=Interpreter -p:UseInterpreter=True -p:UseMonoRuntime=true
9288
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
9389
artifactFolder: $(DotNetTargetFramework)-Interpreter
@@ -158,7 +154,6 @@ stages:
158154
configuration: $(XA.Build.Configuration)
159155
testName: Mono.Android.NET_Tests-NoAot
160156
project: tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj
161-
testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration)NoAot.xml
162157
extraBuildArgs: -p:TestsFlavor=NoAot -p:RunAOTCompilation=false -p:UseMonoRuntime=true
163158
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
164159
artifactFolder: $(DotNetTargetFramework)-NoAot
@@ -168,7 +163,6 @@ stages:
168163
configuration: $(XA.Build.Configuration)
169164
testName: Mono.Android.NET_Tests-TrimModePartial
170165
project: tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj
171-
testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration)TrimModePartial.xml
172166
extraBuildArgs: -p:TestsFlavor=TrimModePartial -p:TrimMode=partial -p:UseMonoRuntime=true
173167
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
174168
artifactFolder: $(DotNetTargetFramework)-TrimModePartial
@@ -178,7 +172,6 @@ stages:
178172
configuration: $(XA.Build.Configuration)
179173
testName: Mono.Android.NET_Tests-AotLlvm
180174
project: tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj
181-
testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration)AotLlvm.xml
182175
extraBuildArgs: -p:TestsFlavor=AotLlvm -p:EnableLLVM=true -p:AndroidEnableProfiledAot=false -p:UseMonoRuntime=true
183176
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
184177
artifactFolder: $(DotNetTargetFramework)-AotLlvm
@@ -188,7 +181,6 @@ stages:
188181
configuration: $(XA.Build.Configuration)
189182
testName: Mono.Android.NET_Tests-IsAssignableFrom
190183
project: tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj
191-
testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration)IsAssignableFrom.xml
192184
extraBuildArgs: -p:TestsFlavor=IsAssignableFrom -p:IncludeCategories=Intune -p:_AndroidIsAssignableFromCheck=false -p:UseMonoRuntime=true
193185
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
194186
artifactFolder: $(DotNetTargetFramework)-IsAssignableFrom
@@ -198,7 +190,6 @@ stages:
198190
configuration: $(XA.Build.Configuration)
199191
testName: Mono.Android.NET_Tests-CoreCLR
200192
project: tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj
201-
testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration)CoreCLR.xml
202193
extraBuildArgs: -p:TestsFlavor=CoreCLR -p:UseMonoRuntime=false
203194
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
204195
artifactFolder: $(DotNetTargetFramework)-CoreCLR
@@ -218,7 +209,6 @@ stages:
218209
configuration: $(XA.Build.Configuration)
219210
testName: Mono.Android.NET_Tests-NativeAOT
220211
project: tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj
221-
testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration)NativeAOT.xml
222212
extraBuildArgs: -p:TestsFlavor=NativeAOT -p:PublishAot=true
223213
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
224214
artifactFolder: $(DotNetTargetFramework)-NativeAOT
@@ -228,7 +218,6 @@ stages:
228218
configuration: $(XA.Build.Configuration)
229219
testName: Xamarin.Android.JcwGen_Tests
230220
project: tests/CodeGen-Binding/Xamarin.Android.JcwGen-Tests/Xamarin.Android.JcwGen-Tests.csproj
231-
testResultsFiles: TestResult-Xamarin.Android.JcwGen_Tests-$(XA.Build.Configuration).xml
232221
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Xamarin.Android.JcwGen_Tests-Signed.apk
233222
artifactFolder: $(DotNetTargetFramework)-Default
234223

build-tools/installers/create-installers.targets

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,6 @@
9090
<_FrameworkFiles Include="$(FrameworkSrcDir)\$(BclFrameworkVersion)\RedistList\FrameworkList.xml" />
9191
<_FrameworkFiles Include="$(FrameworkSrcDir)\$(BclFrameworkVersion)\System.EnterpriseServices.dll" />
9292
<_FrameworkFiles Include="$(FrameworkSrcDir)\$(BclFrameworkVersion)\System.EnterpriseServices.pdb" />
93-
<_FrameworkFiles Include="$(FrameworkSrcDir)\$(BclFrameworkVersion)\Xamarin.Android.NUnitLite.dll" />
94-
<_FrameworkFiles Include="$(FrameworkSrcDir)\$(BclFrameworkVersion)\Xamarin.Android.NUnitLite.pdb" />
95-
<_FrameworkFilesWin Include="$(FrameworkSrcDir)\$(BclFrameworkVersion)\Xamarin.Android.NUnitLite.xml" />
9693
</ItemGroup>
9794
<ItemGroup>
9895
<_MSBuildFiles Include="$(MicrosoftAndroidSdkOutDir)android-support-multidex.jar" />
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<Project>
22
<!-- This file assumes Configuration.props has been imported -->
33
<ItemGroup>
4-
<PackageReference Include="NUnit" Version="3.13.3" />
4+
<PackageReference Include="NUnit" Version="4.3.2" />
55
<PackageReference Include="NUnit.ConsoleRunner" Version="$(NUnitConsoleVersion)" />
6-
<PackageReference Include="NUnit3TestAdapter" Version="4.4.2" />
6+
<PackageReference Include="NUnit3TestAdapter" Version="5.0.0" />
77
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.5.0" />
88
</ItemGroup>
99
</Project>

build-tools/xaprepare/xaprepare/ThirdPartyNotices/Xamarin.Android.NunitLite.cs

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

src-ThirdParty/NUnitLite/Api/ExpectedExceptionData.cs

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

0 commit comments

Comments
 (0)