Skip to content

Re-enable the MonoVM test variations#25908

Open
kotlarmilos wants to merge 3 commits into
net11.0from
dev/kotlarmilos/reenable-mono-test-variations
Open

Re-enable the MonoVM test variations#25908
kotlarmilos wants to merge 3 commits into
net11.0from
dev/kotlarmilos/reenable-mono-test-variations

Conversation

@kotlarmilos

@kotlarmilos kotlarmilos commented Jul 2, 2026

Copy link
Copy Markdown
Member

Re-enables MonoVM test coverage by setting DOTNET_MONOVM_SUPPORTED=1 in Make.config, so the MonoVM test variations run again and we keep signal that the test apps still build and run on Mono.

Re-enable MonoVM test coverage by setting DOTNET_MONOVM_SUPPORTED=1 so the
MonoVM test variations run again, keeping signal that the test apps still
build and run on Mono. The MonoVM variation also opts out of the NETSDK1242
check so the net11.0 Mono build proceeds.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@kotlarmilos kotlarmilos requested a review from rolfbjarne as a code owner July 2, 2026 10:23
Copilot AI review requested due to automatic review settings July 2, 2026 10:23

Copilot AI 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 PR restores MonoVM test-variation coverage by enabling the Mono runtime variations in the test harness configuration and ensuring the |monovm| MSBuild variation can build on net11.0 by bypassing the SDK’s unsupported-runtime check.

Changes:

  • Enable MonoVM test variations by setting DOTNET_MONOVM_SUPPORTED=1 in Make.config.
  • For the |monovm| test variation, set _DisableCheckForUnsupportedMonoMobileRuntime=true to opt out of NETSDK1242 and allow Mono builds to proceed on net11.0.
Show a summary per file
File Description
tests/common/test-variations.csproj Adds an opt-out MSBuild property so the `
Make.config Turns MonoVM test-variation support back on via DOTNET_MONOVM_SUPPORTED=1, re-enabling MonoVM-related variations in the harness.

Copilot's findings

  • Files reviewed: 2/2 changed files
  • Comments generated: 0

@kotlarmilos kotlarmilos requested a review from vitek-karas July 2, 2026 10:30
@kotlarmilos kotlarmilos self-assigned this Jul 2, 2026
@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@rolfbjarne rolfbjarne self-assigned this Jul 2, 2026
@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

🔥 [CI Build #87e866e] Test results 🔥

Test results

❌ Tests failed on VSTS: test results

0 tests crashed, 8 tests failed, 251 tests passed.

Failures

❌ dotnettests tests (iOS)

1 tests failed, 0 tests passed.

Failed tests

  • DotNet tests: Failed (Execution failed with exit code 1)
    • Xamarin.Tests.BundleStructureTest.Build_Mono(iOS,"ios-arm64",All...: 'dotnet build' failed with exit code 1
      Full command: /Users/cloudtest/vss/_work/1/s/macios/builds/downloads/dotnet-sdk-11.0.100-...
    • Xamarin.Tests.BundleStructureTest.Build_Mono(iOS,"ios-arm64",All...: 'dotnet build' failed with exit code 1
      Full command: /Users/cloudtest/vss/_work/1/s/macios/builds/downloads/dotnet-sdk-11.0.100-...
    • Xamarin.Tests.BundleStructureTest.Build_Mono(iOS,"iossimulator-x...: 'dotnet build' failed with exit code 1
      Full command: /Users/cloudtest/vss/_work/1/s/macios/builds/downloads/dotnet-sdk-11.0.100-...
    • ... and 22 more

Html Report (VSDrops) Download

❌ dotnettests tests (MacCatalyst)

1 tests failed, 0 tests passed.

Failed tests

  • DotNet tests: Failed (Execution failed with exit code 1)
    • Xamarin.Tests.BundleStructureTest.Build_Mono(MacCatalyst,"maccat...: 'dotnet build' failed with exit code 1
      Full command: /Users/cloudtest/vss/_work/1/s/macios/builds/downloads/dotnet-sdk-11.0.100-...
    • Xamarin.Tests.BundleStructureTest.Build_Mono(MacCatalyst,"maccat...: 'dotnet build' failed with exit code 1
      Full command: /Users/cloudtest/vss/_work/1/s/macios/builds/downloads/dotnet-sdk-11.0.100-...
    • Xamarin.Tests.BundleStructureTest.Build_Mono(MacCatalyst,"maccat...: 'dotnet build' failed with exit code 1
      Full command: /Users/cloudtest/vss/_work/1/s/macios/builds/downloads/dotnet-sdk-11.0.100-...
    • ... and 13 more

Html Report (VSDrops) Download

❌ dotnettests tests (tvOS)

1 tests failed, 0 tests passed.

Failed tests

  • DotNet tests: Failed (Execution failed with exit code 1)
    • Xamarin.Tests.BundleStructureTest.Build_Mono(TVOS,"tvos-arm64",A...: 'dotnet build' failed with exit code 1
      Full command: /Users/cloudtest/vss/_work/1/s/macios/builds/downloads/dotnet-sdk-11.0.100-...
    • Xamarin.Tests.BundleStructureTest.Build_Mono(TVOS,"tvos-arm64",A...: 'dotnet build' failed with exit code 1
      Full command: /Users/cloudtest/vss/_work/1/s/macios/builds/downloads/dotnet-sdk-11.0.100-...
    • Xamarin.Tests.DotNetProjectTest.DedupDisabledTest(TVOS,"tvossimu...: 'dotnet build' failed with exit code 1
      Full command: /Users/cloudtest/vss/_work/1/s/macios/builds/downloads/dotnet-sdk-11.0.100-...
    • ... and 9 more

Html Report (VSDrops) Download

❌ monotouch tests (iOS)

1 tests failed, 23 tests passed.

Failed tests

  • monotouch-test/iOS - simulator/Release (CoreCLR, x64): Crashed

Html Report (VSDrops) Download

❌ monotouch tests (tvOS)

1 tests failed, 23 tests passed.

Failed tests

  • monotouch-test/tvOS - simulator/Release (CoreCLR, x64): Crashed

Html Report (VSDrops) Download

❌ windows tests

2 tests failed, 1 tests passed.

Failed tests

  • Remote .NET tests/Xamarin.Tests.WindowsTest.BundleStructureWithRemoteMac_Mono(iOS,"ios-arm64",All,"Debug"): Failed: 'dotnet build' failed with exit code 1

  • Remote .NET tests/Xamarin.Tests.WindowsTest.RemoteTest(iOS,"ios-arm64","Debug",True): Failed: 'dotnet build' failed with exit code 1

  • Remote .NET tests/Xamarin.Tests.IncrementalBuildTest.CodeChangeSkipsTargetsOnRemoteWindows_Mono(iOS,"iossimulator-arm64",False): Failed: 'dotnet build' failed with exit code 1

  • Remote .NET tests/Xamarin.Tests.IncrementalBuildTest.CodeChangeSkipsTargetsOnRemoteWindows_Mono(iOS,"iossimulator-arm64",True): Failed: 'dotnet build' failed with exit code 1

  • Local .NET tests/Xamarin.Tests.DotNetProjectTest.IsNotMacBuild_Mono(MacCatalyst,"maccatalyst-arm64;maccatalyst-x64",False): Failed: 'dotnet build' failed with exit code 1

  • Local .NET tests/Xamarin.Tests.DotNetProjectTest.IsNotMacBuild_Mono(iOS,"ios-arm64",True,null,"Release"): Failed: 'dotnet build' failed with exit code 1

  • Local .NET tests/Xamarin.Tests.DotNetProjectTest.IsNotMacBuild_Mono(iOS,"ios-arm64",True,"UseInterpreter=true"): Failed: 'dotnet build' failed with exit code 1

  • Local .NET tests/Xamarin.Tests.DotNetProjectTest.IsNotMacBuild_Mono(iOS,"iossimulator-x64",False): Failed: 'dotnet build' failed with exit code 1

  • Local .NET tests/Xamarin.Tests.DotNetProjectTest.IsNotMacBuild_Mono(iOS,"ios-arm64",True): Failed: 'dotnet build' failed with exit code 1

Html Report (VSDrops) Download

❌ Tests on macOS Tahoe (26) tests

1 tests failed, 4 tests passed.

Failed tests

  • macOS/osx-x64 monotouch-test: Failed (exit code 132)
    • No test failure details available. Output tail:
      • Xamarin.Mac.Tests.AppleScriptTests
      • [PASS] AppleScript_BasicTest
      • Xamarin.Mac.Tests.AppleScriptTests : 70.7032 ms
      • Xamarin.Mac.Tests.AudioUnitTests
      • [PASS] AudioObjectPropertyScope4CCTest
      • [PASS] AudioObjectPropertySelector4CCTest
      • [PASS] GetCurrentDevice_Test
      • Xamarin.Mac.Tests.AudioUnitTests : 7.1596 ms
      • Xamarin.Mac.Tests.AUGraphTests
      • Execution completed with exit code 132

Html Report (VSDrops) Download

Successes

✅ assembly-processing: All 1 tests passed. Html Report (VSDrops) Download
✅ cecil: All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (macOS): All 1 tests passed. Html Report (VSDrops) Download
✅ dotnettests (Multiple platforms): All 1 tests passed. Html Report (VSDrops) Download
✅ framework: All 2 tests passed. Html Report (VSDrops) Download
✅ fsharp: All 4 tests passed. Html Report (VSDrops) Download
✅ generator: All 5 tests passed. Html Report (VSDrops) Download
✅ interdependent-binding-projects: All 4 tests passed. Html Report (VSDrops) Download
✅ introspection: All 7 tests passed. Html Report (VSDrops) Download
✅ linker (iOS): All 31 tests passed. Html Report (VSDrops) Download
✅ linker (MacCatalyst): All 31 tests passed. Html Report (VSDrops) Download
✅ linker (macOS): All 21 tests passed. Html Report (VSDrops) Download
✅ linker (tvOS): All 31 tests passed. Html Report (VSDrops) Download
✅ monotouch (MacCatalyst): All 24 tests passed. Html Report (VSDrops) Download
✅ monotouch (macOS): All 18 tests passed. Html Report (VSDrops) Download
✅ msbuild: All 2 tests passed. Html Report (VSDrops) Download
✅ sharpie: All 1 tests passed. Html Report (VSDrops) Download
✅ xcframework: All 4 tests passed. Html Report (VSDrops) Download
✅ xtro: All 1 tests passed. Html Report (VSDrops) Download

macOS tests

✅ Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download
✅ Tests on macOS Sequoia (15): All 5 tests passed. Html Report (VSDrops) Download

Linux Build Verification

Linux build succeeded

Pipeline on Agent
Hash: 87e866e1f850b65aa7cc66fa914e766a132ddfa7 [PR build]

The MonoVM test suite is gated on DOTNET_MONOVM_SUPPORTED. When it is
enabled, the Mono unit-test builds set UseMonoRuntime=true but did not
pass _DisableCheckForUnsupportedMonoMobileRuntime, so the net11.0 Mono
builds failed the NETSDK1242 check. Inject the opt-out centrally whenever
a Mono build runs.

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

This comment has been minimized.

@vs-mobiletools-engineering-service2

This comment has been minimized.

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ [PR Build #75bedbf] Build passed (Build macOS tests) ✅

Pipeline on Agent
Hash: 75bedbfcbd3fd7ee00cc7016d36f8e145304155e [PR build]

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ [PR Build #75bedbf] Build passed (Detect API changes) ✅

Pipeline on Agent
Hash: 75bedbfcbd3fd7ee00cc7016d36f8e145304155e [PR build]

@vs-mobiletools-engineering-service2

Copy link
Copy Markdown
Collaborator

✅ API diff for current PR / commit

NET (empty diffs)

✅ API diff vs stable

NET (empty diffs)

ℹ️ Generator diff

Generator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes)

Pipeline on Agent
Hash: 75bedbfcbd3fd7ee00cc7016d36f8e145304155e [PR build]

The DotNetWatch test builds via 'dotnet watch', which reads UseMonoRuntime
from an environment variable rather than going through DotNet.AssertBuild.
Add the _DisableCheckForUnsupportedMonoMobileRuntime opt-out to the same
environment so the Mono variation builds succeed.

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

Copy link
Copy Markdown
Collaborator

✅ [PR Build #872b341] Build passed (Build packages) ✅

Pipeline on Agent
Hash: 872b3412909e61f0ac264e7da87db9b4d4b45e74 [PR build]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants