From d455ccaf3e0322ab93ab5ffb4c22f73fbf65efd8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 22 May 2026 01:38:45 +0000 Subject: [PATCH 1/4] Skip HostTests Moq tests on iossimulator (refs #128405) Castle.DynamicProxy throws IndexOutOfRangeException in BuildProxiedMethodBody on iossimulator-arm64 CoreCLR. All Moq-based HostTests fail with this error. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- .../tests/UnitTests/Internal/HostTests.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/libraries/Microsoft.Extensions.Hosting/tests/UnitTests/Internal/HostTests.cs b/src/libraries/Microsoft.Extensions.Hosting/tests/UnitTests/Internal/HostTests.cs index c345548c3a44c3..c79846bb250052 100644 --- a/src/libraries/Microsoft.Extensions.Hosting/tests/UnitTests/Internal/HostTests.cs +++ b/src/libraries/Microsoft.Extensions.Hosting/tests/UnitTests/Internal/HostTests.cs @@ -593,6 +593,7 @@ public async Task HostShutsDownWhenTokenTriggers() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public async Task HostStopAsyncCanBeCancelledEarly() { @@ -625,6 +626,7 @@ public async Task HostStopAsyncCanBeCancelledEarly() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public async Task HostStopAsyncUsesDefaultTimeoutIfGivenTokenDoesNotFire() { @@ -658,6 +660,7 @@ public async Task HostStopAsyncUsesDefaultTimeoutIfGivenTokenDoesNotFire() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public async Task WebHostStopAsyncUsesDefaultTimeoutIfNoTokenProvided() { @@ -1215,6 +1218,7 @@ public async Task Host_InvokesConfigureServicesMethodsOnlyOnce() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public void Dispose_DisposesAppConfigurationProviders() { @@ -1240,6 +1244,7 @@ public void Dispose_DisposesAppConfigurationProviders() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public void Dispose_DisposesHostConfigurationProviders() { @@ -1316,6 +1321,7 @@ public async Task HostCallsDisposeAsyncOnServiceProviderWhenDisposeAsyncCalled() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public async Task DisposeAsync_DisposesAppConfigurationProviders() { @@ -1341,6 +1347,7 @@ public async Task DisposeAsync_DisposesAppConfigurationProviders() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public async Task DisposeAsync_DisposesHostConfigurationProviders() { From c644d4e2960402dc967c334ccbd264eaf8e0b4ed Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 22 May 2026 01:38:50 +0000 Subject: [PATCH 2/4] ci: trigger checks From c7dba87e80f514a6d92509c7526441cccd5e1408 Mon Sep 17 00:00:00 2001 From: Petr Onderka Date: Fri, 22 May 2026 11:57:30 +0200 Subject: [PATCH 3/4] Narrow down ActiveIssue scope --- .../tests/UnitTests/Internal/HostTests.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/libraries/Microsoft.Extensions.Hosting/tests/UnitTests/Internal/HostTests.cs b/src/libraries/Microsoft.Extensions.Hosting/tests/UnitTests/Internal/HostTests.cs index c79846bb250052..70474e4509688d 100644 --- a/src/libraries/Microsoft.Extensions.Hosting/tests/UnitTests/Internal/HostTests.cs +++ b/src/libraries/Microsoft.Extensions.Hosting/tests/UnitTests/Internal/HostTests.cs @@ -593,7 +593,7 @@ public async Task HostShutsDownWhenTokenTriggers() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads - [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS, TestRuntimes.CoreCLR)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public async Task HostStopAsyncCanBeCancelledEarly() { @@ -626,7 +626,7 @@ public async Task HostStopAsyncCanBeCancelledEarly() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads - [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS, TestRuntimes.CoreCLR)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public async Task HostStopAsyncUsesDefaultTimeoutIfGivenTokenDoesNotFire() { @@ -660,7 +660,7 @@ public async Task HostStopAsyncUsesDefaultTimeoutIfGivenTokenDoesNotFire() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads - [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS, TestRuntimes.CoreCLR)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public async Task WebHostStopAsyncUsesDefaultTimeoutIfNoTokenProvided() { @@ -1218,7 +1218,7 @@ public async Task Host_InvokesConfigureServicesMethodsOnlyOnce() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads - [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS, TestRuntimes.CoreCLR)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public void Dispose_DisposesAppConfigurationProviders() { @@ -1244,7 +1244,7 @@ public void Dispose_DisposesAppConfigurationProviders() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads - [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS, TestRuntimes.CoreCLR)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public void Dispose_DisposesHostConfigurationProviders() { @@ -1321,7 +1321,7 @@ public async Task HostCallsDisposeAsyncOnServiceProviderWhenDisposeAsyncCalled() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads - [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS, TestRuntimes.CoreCLR)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public async Task DisposeAsync_DisposesAppConfigurationProviders() { @@ -1347,7 +1347,7 @@ public async Task DisposeAsync_DisposesAppConfigurationProviders() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads - [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS, TestRuntimes.CoreCLR)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public async Task DisposeAsync_DisposesHostConfigurationProviders() { From 1a6dd8525a4e00db4423f4c7b0b06aa909c32c97 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 22 May 2026 13:36:25 +0000 Subject: [PATCH 4/4] Update ActiveIssue to cover all Apple mobile platforms (iOS | tvOS | MacCatalyst) Co-authored-by: kotlarmilos <11523312+kotlarmilos@users.noreply.github.com> --- .../tests/UnitTests/Internal/HostTests.cs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/libraries/Microsoft.Extensions.Hosting/tests/UnitTests/Internal/HostTests.cs b/src/libraries/Microsoft.Extensions.Hosting/tests/UnitTests/Internal/HostTests.cs index 70474e4509688d..96a60b0d088c97 100644 --- a/src/libraries/Microsoft.Extensions.Hosting/tests/UnitTests/Internal/HostTests.cs +++ b/src/libraries/Microsoft.Extensions.Hosting/tests/UnitTests/Internal/HostTests.cs @@ -593,7 +593,7 @@ public async Task HostShutsDownWhenTokenTriggers() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads - [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS, TestRuntimes.CoreCLR)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS | TestPlatforms.tvOS | TestPlatforms.MacCatalyst, TestRuntimes.CoreCLR)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public async Task HostStopAsyncCanBeCancelledEarly() { @@ -626,7 +626,7 @@ public async Task HostStopAsyncCanBeCancelledEarly() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads - [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS, TestRuntimes.CoreCLR)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS | TestPlatforms.tvOS | TestPlatforms.MacCatalyst, TestRuntimes.CoreCLR)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public async Task HostStopAsyncUsesDefaultTimeoutIfGivenTokenDoesNotFire() { @@ -660,7 +660,7 @@ public async Task HostStopAsyncUsesDefaultTimeoutIfGivenTokenDoesNotFire() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads - [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS, TestRuntimes.CoreCLR)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS | TestPlatforms.tvOS | TestPlatforms.MacCatalyst, TestRuntimes.CoreCLR)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public async Task WebHostStopAsyncUsesDefaultTimeoutIfNoTokenProvided() { @@ -1218,7 +1218,7 @@ public async Task Host_InvokesConfigureServicesMethodsOnlyOnce() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads - [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS, TestRuntimes.CoreCLR)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS | TestPlatforms.tvOS | TestPlatforms.MacCatalyst, TestRuntimes.CoreCLR)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public void Dispose_DisposesAppConfigurationProviders() { @@ -1244,7 +1244,7 @@ public void Dispose_DisposesAppConfigurationProviders() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads - [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS, TestRuntimes.CoreCLR)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS | TestPlatforms.tvOS | TestPlatforms.MacCatalyst, TestRuntimes.CoreCLR)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public void Dispose_DisposesHostConfigurationProviders() { @@ -1321,7 +1321,7 @@ public async Task HostCallsDisposeAsyncOnServiceProviderWhenDisposeAsyncCalled() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads - [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS, TestRuntimes.CoreCLR)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS | TestPlatforms.tvOS | TestPlatforms.MacCatalyst, TestRuntimes.CoreCLR)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public async Task DisposeAsync_DisposesAppConfigurationProviders() { @@ -1347,7 +1347,7 @@ public async Task DisposeAsync_DisposesAppConfigurationProviders() } // Moq heavily utilizes RefEmit, which does not work on most aot workloads - [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS, TestRuntimes.CoreCLR)] + [ActiveIssue("https://github.com/dotnet/runtime/issues/128405", TestPlatforms.iOS | TestPlatforms.tvOS | TestPlatforms.MacCatalyst, TestRuntimes.CoreCLR)] [ConditionalFact(typeof(PlatformDetection), nameof(PlatformDetection.IsReflectionEmitSupported))] public async Task DisposeAsync_DisposesHostConfigurationProviders() {