Skip to content

[release/9.0.1xx] [tests] Update max simulator OS version.#24887

Closed
rolfbjarne wants to merge 10 commits intorelease/9.0.1xxfrom
dev/rolf/backport-pr-24867-release/9.0.1xx-2026-03-12
Closed

[release/9.0.1xx] [tests] Update max simulator OS version.#24887
rolfbjarne wants to merge 10 commits intorelease/9.0.1xxfrom
dev/rolf/backport-pr-24867-release/9.0.1xx-2026-03-12

Conversation

@rolfbjarne
Copy link
Copy Markdown
Member

This fixes the following problem:

  • We default the max simulator version to the SDK version of an OS (currently 26.2)
  • However, iOS/tvOS 26.3 exists, and that's the simulator 'xcodebuild -downloadPlatform' installs with Xcode 26.3.
  • The max simulator version is what we use in xharness to decide which simulator to run tests in.
  • The result is that xharness will try to use/create a simulator for iOS 26.2, but that might not be possible (unless said simulator was already installed from before the current build), because it wasn't provisioned.

Backport of #24867.

rolfbjarne and others added 8 commits March 12, 2026 11:11
This fixes the following problem:

* We default the max simulator version to the SDK version of an OS (currently 26.2)
* However, iOS/tvOS 26.3 exists, and that's the simulator 'xcodebuild -downloadPlatform' installs with Xcode 26.3.
* The max simulator version is what we use in xharness to decide which simulator to run tests in.
* The result is that xharness will try to use/create a simulator for iOS 26.2, but that might not be possible (unless said simulator was already installed from before the current build), because it wasn't provisioned.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… iOS/tvOS 26.3

Replace xamvideotest.mp4 with a freshly-generated, well-formed H.264 Baseline
video. The old video (created in 2015 by Mainconcept encoder) had non-standard
dimensions (438x434, not multiples of 16) and produced codecBadDataErr (-8969)
on iOS/tvOS 26.4 simulators where the decoder is stricter.

The new video uses standard dimensions (320x240), H.264 Constrained Baseline
profile, and is generated with ffmpeg to ensure well-formed NAL units.

Also add WaitForAsynchronousFrames() after FinishDelayedFrames() in all async
decode tests. FinishDelayedFrames() directs the session to emit all delayed
frames, but WaitForAsynchronousFrames() is needed to block until all async
callbacks have completed before checking assertions.

Fixes #24844

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the repo for Xcode 26.3 by aligning simulator/test infrastructure and improving a few tests/bindings that depend on new runtime behavior and resources.

Changes:

  • Bump max iOS simulator version to 26.3 (while tvOS remains 26.2) and add Make.config logic to handle simulator/runtime version selection for Xcode 26.3.
  • Add/adjust tests and resources for VideoToolbox/AVFoundation decoding (including adding xamvideotest.mp4) and improve async decode completion checks.
  • Improve CGFont.CreateWithFontName interop and adjust CoreText tests to gracefully skip when the AppleColorEmoji font isn’t available.

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
tools/common/SdkVersions.cs Updates max iOS simulator version constant to 26.3.
Make.config Adds conditional logic to pick max simulator versions for Xcode 26.3 and fail fast when version assumptions change.
tests/common/TestRuntime.cs Extends Xcode 26.x version mapping (26.1–26.3) for platform version checks.
src/CoreGraphics/CGFont.cs Makes font creation return null on failure and switches to TransientCFString for CFString interop; updates XML docs.
tests/monotouch-test/CoreText/FontTest.cs Adds helper for AppleColorEmoji creation/skip and relaxes bounds assertion to accept multiple expected results.
tests/monotouch-test/VideoToolbox/VTDecompressionSessionTests.cs Waits for async decompression completion via WaitForAsynchronousFrames.
tests/monotouch-test/xamvideotest.mp4 Adds missing MP4 test asset used by multiple tests/projects.

You can also share your feedback on Copilot code review. Take the survey.

Comment thread src/CoreGraphics/CGFont.cs Outdated
Comment on lines 97 to 101
/// // Load font into byte array from a file.
/// //
/// byte [] myBuffer = File.ReadAllBytes ("demo.ttf");
/// CGFont font = CGFont.CreateFromProvider (new CGDataProvider (myBuffer, 0, myBuffer.Count));
///
/// var myBuffer = File.ReadAllBytes ("demo.ttf");
/// var font = CGFont.CreateFromProvider (new CGDataProvider (myBuffer, 0, myBuffer.Count));
/// ]]></code>
Copy link

Copilot AI Mar 12, 2026

Choose a reason for hiding this comment

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

The documentation example uses myBuffer.Count on a byte[], which relies on LINQ and is not the idiomatic/correct way to get the buffer length. Use myBuffer.Length in the example so it’s correct and self-contained.

Copilot uses AI. Check for mistakes.
//

using System;
using System.Linq;
Copy link

Copilot AI Mar 12, 2026

Choose a reason for hiding this comment

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

using System.Linq; appears to be unused in this file. The monotouch-test dotnet build treats warnings as errors, so this can fail the build (CS8019). Remove the unused using (or add the missing LINQ usage if intended).

Suggested change
using System.Linq;

Copilot uses AI. Check for mistakes.
@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.

@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.

1 similar comment
@vs-mobiletools-engineering-service2

This comment has been minimized.

rolfbjarne and others added 2 commits March 12, 2026 19:58
Co-authored-by: Copilot <175728472+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

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 enabled auto-merge (squash) March 16, 2026 11:23
@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ [PR Build #323e53c] Build passed (Detect API changes) ✅

Pipeline on Agent
Hash: 323e53c1aba7389cbb97ce114fd42eb62e184079 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ [CI Build #323e53c] Build passed (Build packages) ✅

Pipeline on Agent
Hash: 323e53c1aba7389cbb97ce114fd42eb62e184079 [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: 323e53c1aba7389cbb97ce114fd42eb62e184079 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

✅ [CI Build #323e53c] Build passed (Build macOS tests) ✅

Pipeline on Agent
Hash: 323e53c1aba7389cbb97ce114fd42eb62e184079 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

💻 [CI Build #323e53c] Tests on macOS X64 - Mac Sonoma (14) passed 💻

All tests on macOS X64 - Mac Sonoma (14) passed.

Pipeline on Agent
Hash: 323e53c1aba7389cbb97ce114fd42eb62e184079 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

💻 [CI Build #323e53c] Tests on macOS M1 - Mac Monterey (12) passed 💻

All tests on macOS M1 - Mac Monterey (12) passed.

Pipeline on Agent
Hash: 323e53c1aba7389cbb97ce114fd42eb62e184079 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

💻 [CI Build #323e53c] Tests on macOS arm64 - Mac Sequoia (15) passed 💻

All tests on macOS arm64 - Mac Sequoia (15) passed.

Pipeline on Agent
Hash: 323e53c1aba7389cbb97ce114fd42eb62e184079 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

💻 [CI Build #323e53c] Tests on macOS M1 - Mac Ventura (13) passed 💻

All tests on macOS M1 - Mac Ventura (13) passed.

Pipeline on Agent
Hash: 323e53c1aba7389cbb97ce114fd42eb62e184079 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

💻 [CI Build #323e53c] Tests on macOS arm64 - Mac Tahoe (26) passed 💻

All tests on macOS arm64 - Mac Tahoe (26) passed.

Pipeline on Agent
Hash: 323e53c1aba7389cbb97ce114fd42eb62e184079 [PR build]

@vs-mobiletools-engineering-service2
Copy link
Copy Markdown
Collaborator

🔥 [CI Build #323e53c] Test results 🔥

Test results

❌ Tests failed on VSTS: test results

19 tests crashed, 0 tests failed, 3 tests passed.

Failures

❌ cecil tests

🔥 Failed catastrophically on VSTS: test results - cecil (no summary found).

Html Report (VSDrops) Download

❌ dotnettests tests (iOS)

🔥 Failed catastrophically on VSTS: test results - dotnettests_ios (no summary found).

Html Report (VSDrops) Download

❌ dotnettests tests (MacCatalyst)

🔥 Failed catastrophically on VSTS: test results - dotnettests_maccatalyst (no summary found).

Html Report (VSDrops) Download

❌ dotnettests tests (macOS)

🔥 Failed catastrophically on VSTS: test results - dotnettests_macos (no summary found).

Html Report (VSDrops) Download

❌ dotnettests tests (Multiple platforms)

🔥 Failed catastrophically on VSTS: test results - dotnettests_multiple (no summary found).

Html Report (VSDrops) Download

❌ dotnettests tests (tvOS)

🔥 Failed catastrophically on VSTS: test results - dotnettests_tvos (no summary found).

Html Report (VSDrops) Download

❌ framework tests

🔥 Failed catastrophically on VSTS: test results - framework (no summary found).

Html Report (VSDrops) Download

❌ fsharp tests

🔥 Failed catastrophically on VSTS: test results - fsharp (no summary found).

Html Report (VSDrops) Download

❌ generator tests

🔥 Failed catastrophically on VSTS: test results - generator (no summary found).

Html Report (VSDrops) Download

❌ interdependent-binding-projects tests

🔥 Failed catastrophically on VSTS: test results - interdependent-binding-projects (no summary found).

Html Report (VSDrops) Download

❌ introspection tests

🔥 Failed catastrophically on VSTS: test results - introspection (no summary found).

Html Report (VSDrops) Download

❌ linker tests

🔥 Failed catastrophically on VSTS: test results - linker (no summary found).

Html Report (VSDrops) Download

❌ monotouch tests (iOS)

🔥 Failed catastrophically on VSTS: test results - monotouch_ios (no summary found).

Html Report (VSDrops) Download

❌ monotouch tests (MacCatalyst)

🔥 Failed catastrophically on VSTS: test results - monotouch_maccatalyst (no summary found).

Html Report (VSDrops) Download

❌ monotouch tests (macOS)

🔥 Failed catastrophically on VSTS: test results - monotouch_macos (no summary found).

Html Report (VSDrops) Download

❌ monotouch tests (tvOS)

🔥 Failed catastrophically on VSTS: test results - monotouch_tvos (no summary found).

Html Report (VSDrops) Download

❌ msbuild tests

🔥 Failed catastrophically on VSTS: test results - msbuild (no summary found).

Html Report (VSDrops) Download

❌ xcframework tests

🔥 Failed catastrophically on VSTS: test results - xcframework (no summary found).

Html Report (VSDrops) Download

❌ xtro tests

🔥 Failed catastrophically on VSTS: test results - xtro (no summary found).

Html Report (VSDrops) Download

Successes

✅ windows: All 3 tests passed. Html Report (VSDrops) Download

Pipeline on Agent
Hash: 323e53c1aba7389cbb97ce114fd42eb62e184079 [PR build]

@rolfbjarne
Copy link
Copy Markdown
Member Author

Incorporated into #24895.

@rolfbjarne rolfbjarne closed this Mar 17, 2026
auto-merge was automatically disabled March 17, 2026 13:04

Pull request was closed

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants