Skip to content

Enable more tests to run on all 3 runtimes, part 12 - #10632

Merged
grendello merged 6 commits into
mainfrom
dev/grendel/test-runtimes-12
Dec 11, 2025
Merged

Enable more tests to run on all 3 runtimes, part 12#10632
grendello merged 6 commits into
mainfrom
dev/grendel/test-runtimes-12

Conversation

@grendello

Copy link
Copy Markdown
Contributor

No description provided.

@grendello
grendelloforce-pushed the dev/grendel/test-runtimes-12 branch from 1b1c798 to 32bd8e8CompareDecember 5, 2025 15:34
@grendello
grendello marked this pull request as ready for review December 8, 2025 09:59
@grendello
grendelloforce-pushed the dev/grendel/test-runtimes-12 branch from 769988d to 8c71aebCompareDecember 9, 2025 08:44
@grendello
grendelloforce-pushed the dev/grendel/test-runtimes-12 branch from 8c71aeb to e09ef40CompareDecember 9, 2025 19:42

@jonathanpeppersjonathanpeppers left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I reran the WearOS 1 tests, but I wonder if they are failing because the Android Wear emulator is 32-bit?

It's probably ok if they pass on rerun.

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This pull request extends runtime testing capabilities by enabling more tests to run across all three Android runtimes (MonoVM, CoreCLR, and NativeAOT). The changes are part 12 of a larger effort to ensure comprehensive runtime test coverage.

Key Changes:

  • Refactored test parameters to use [Values] AndroidRuntime instead of hardcoded runtime values, enabling tests to run with all available runtimes
  • Converted static test case arrays to dynamic test case generators that iterate through runtime enumerations
  • Added NativeAOT-specific handling for file paths and test assertions, with appropriate ignore conditions for currently unsupported scenarios

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

FileDescription
tests/MSBuildDeviceIntegration/Tests/DebuggingTest.csExtended ApplicationRunsWithoutDebugger, ClassLibraryMainLauncherRuns, CustomApplicationRunsWithDebuggerAndBreaks, and ApplicationRunsWithDebuggerAndBreaks tests to support all runtimes; converted static test case arrays to dynamic generators; added NativeAOT-specific ignore conditions with detailed TODO comments
tests/MSBuildDeviceIntegration/Tests/BundleToolTests.csUpdated fixture arguments to iterate through all runtime values using Enum.GetValues; added NativeAOT-specific file expectations for libUnnamedProject.so in bundle tests
tests/MSBuildDeviceIntegration/Tests/BundleToolNoAbiSplitTests.csConverted from individual [TestFixture] attributes to [TestFixtureSource] for dynamic runtime enumeration; added NativeAOT-specific handling for ApplicationConfig checks and environment file gathering; added test ignore for NativeAOT InvalidCastException
src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Utilities/EnvironmentHelper.csAdded runtime parameter to GatherEnvironmentFiles method with CoreCLR default for backward compatibility; implemented NativeAOT-specific path handling using MonoAndroidHelper.AbiToRid for RID-prefixed directories

Comment threadtests/MSBuildDeviceIntegration/Tests/DebuggingTest.cs
Comment threadtests/MSBuildDeviceIntegration/Tests/DebuggingTest.cs
@grendello
grendello merged commit b58d460 into mainDec 11, 2025
63 of 65 checks passed
@grendello
grendello deleted the dev/grendel/test-runtimes-12 branch December 11, 2025 12:58
@github-actionsgithub-actionsBot locked and limited conversation to collaborators Jan 11, 2026
Sign up for freeto subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@grendello@jonathanpeppers