Enable more tests to run on all 3 runtimes, part 2#10580
Merged
jonathanpeppers merged 47 commits intomainfrom Nov 20, 2025
Merged
Enable more tests to run on all 3 runtimes, part 2#10580jonathanpeppers merged 47 commits intomainfrom
jonathanpeppers merged 47 commits intomainfrom
Conversation
a02f56e to
8d64c27
Compare
Contributor
Author
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
There was a problem hiding this comment.
Pull Request Overview
This PR extends test coverage by enabling numerous build tests to run on all three Android runtimes: MonoVM, CoreCLR, and NativeAOT. This is part 2 of enabling broader runtime test coverage.
Key changes:
- Added runtime parameterization to 30+ test methods in BuildTest2.cs
- Introduced
IgnoreUnsupportedConfigurationhelper to skip invalid runtime/configuration combinations - Added new overloads of
SetRuntimeto properly configure NativeAOT for application projects - Added baseline
.apkdescfiles for NativeAOT test validation
Reviewed Changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| BuildReleaseArm64XFormsDotNet.NativeAOT.apkdesc | New baseline file for NativeAOT XForms release builds on ARM64 |
| BuildReleaseArm64XFormsDotNet.MonoVM.apkdesc | Updated baseline with new assembly sizes for MonoVM |
| BuildReleaseArm64SimpleDotNet.NativeAOT.apkdesc | New baseline file for NativeAOT simple app release builds on ARM64 |
| BuildReleaseArm64SimpleDotNet.MonoVM.apkdesc | Updated baseline with new assembly sizes for MonoVM |
| ProjectExtensions.cs | Added SetRuntime overloads to properly handle NativeAOT for application projects; refactored runtime configuration logic |
| BaseTest.cs | Added IgnoreUnsupportedConfiguration helper to skip invalid test configurations based on runtime constraints |
| BuildTest2.cs | Parameterized 30+ tests to run on all runtimes; added runtime-specific assertions and skip logic; consolidated test data generation; fixed typo "receieve" → "receive" |
...Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Utilities/ProjectExtensions.cs
Show resolved
Hide resolved
Contributor
Author
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
Author
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
Author
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
ce920dc to
588750a
Compare
Contributor
Author
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
Author
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
Contributor
Author
|
/azp run |
|
Azure Pipelines successfully started running 1 pipeline(s). |
…nes for NativeAOT
NativeAOT broken because it doesn't properly quote arguments when calling `clang`
Irrelevant for NativeAOT
Irrelevant for NativeAOT
588750a to
bb3c75d
Compare
jonathanpeppers
approved these changes
Nov 20, 2025
Member
jonathanpeppers
left a comment
There was a problem hiding this comment.
The one failure we can ignore, dotnet/maui fails to build with:
Could not find ".NET Core SDK" with version = 10.0.101-servicing.25562.108
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
This pull request updates APK descriptor files for Xamarin.Android test resources, reflecting changes in file sizes for various native libraries and resources. It also adds a new APK descriptor for a NativeAOT build. The changes are primarily to keep test resources in sync with the latest build outputs.
Key changes:
Addition of NativeAOT APK descriptor:
BuildReleaseArm64SimpleDotNet.NativeAOT.apkdesccontaining the file list and sizes for a NativeAOT build, supporting new test scenarios.MonoVM APK descriptor updates (file size adjustments):
BuildReleaseArm64SimpleDotNet.MonoVM.apkdescandBuildReleaseArm64XFormsDotNet.MonoVM.apkdescto reflect minor changes in the sizes of native libraries (e.g.,lib_Java.Interop.dll.so,lib_Mono.Android.dll.so,libmonodroid.so, etc.), ensuring the descriptors accurately match the current build outputs.