mirror of https://github.com/dotnet/runtime
Merge b79ef8e839
into 02596ba8d9
This commit is contained in:
commit
97fbbfd80b
|
@ -23,154 +23,154 @@ jobs:
|
|||
shouldContinueOnError: ${{ parameters.shouldContinueOnError }}
|
||||
helixQueues:
|
||||
|
||||
# Linux arm
|
||||
- ${{ if eq(parameters.platform, 'linux_arm') }}:
|
||||
- ${{ if or(eq(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
|
||||
- (Debian.13.Arm32.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-13-helix-arm32v7
|
||||
|
||||
# Linux arm64
|
||||
- ${{ if eq(parameters.platform, 'linux_arm64') }}:
|
||||
- ${{ if or(eq(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
|
||||
- (Ubuntu.2510.ArmArch.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-25.10-helix-arm64v8
|
||||
- ${{ if or(ne(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
|
||||
- (AzureLinux.3.0.ArmArch.Open)Ubuntu.2204.ArmArch.open@mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-helix-arm64v8
|
||||
|
||||
# Linux musl x64
|
||||
- ${{ if eq(parameters.platform, 'linux_musl_x64') }}:
|
||||
- ${{ if or(eq(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
|
||||
- (Alpine.edge.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-edge-helix-amd64
|
||||
- ${{ if or(ne(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
|
||||
- (Alpine.322.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-helix-amd64
|
||||
|
||||
# Linux musl arm64
|
||||
- ${{ if eq(parameters.platform, 'linux_musl_arm64') }}:
|
||||
- ${{ if or(eq(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
|
||||
- (Alpine.322.Arm64.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-helix-arm64v8
|
||||
|
||||
# Linux x64
|
||||
- ${{ if eq(parameters.platform, 'linux_x64') }}:
|
||||
- ${{ if or(eq(parameters.jobParameters.interpreter, 'true'), eq(parameters.jobParameters.isSingleFile, true)) }}:
|
||||
# Limiting interp runs as we don't need as much coverage.
|
||||
- (Debian.13.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-13-helix-amd64
|
||||
|
||||
- ${{ else }}:
|
||||
- ${{ if eq(parameters.jobParameters.runtimeFlavor, 'mono') }}:
|
||||
# Mono path - test minimal scenario
|
||||
- Ubuntu.2204.Amd64.Open
|
||||
- ${{ else }}:
|
||||
# CoreCLR path
|
||||
- ${{ if and(eq(parameters.jobParameters.isExtraPlatformsBuild, true), ne(parameters.jobParameters.testScope, 'outerloop'))}}:
|
||||
# extra-platforms CoreCLR (inner loop only)
|
||||
- (Debian.13.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-13-helix-amd64
|
||||
- (Fedora.42.Amd64.Open)AzureLinux.3.Amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-42-helix-amd64
|
||||
- (openSUSE.15.6.Amd64.Open)AzureLinux.3.Amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:opensuse-15.6-helix-amd64
|
||||
- (Ubuntu.2510.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-25.10-helix-amd64
|
||||
|
||||
- ${{ if eq(parameters.jobParameters.testScope, 'outerloop') }}:
|
||||
# outerloop only CoreCLR
|
||||
- AzureLinux.3.Amd64.Open
|
||||
|
||||
- ${{ if or(ne(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true))}}:
|
||||
# inner and outer loop CoreCLR (general set)
|
||||
- Ubuntu.2204.Amd64.Open
|
||||
- (AzureLinux.3.0.Amd64.Open)AzureLinux.3.Amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-helix-amd64
|
||||
- (Centos.10.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream-10-helix-amd64
|
||||
|
||||
# OSX arm64
|
||||
- ${{ if eq(parameters.platform, 'osx_arm64') }}:
|
||||
- osx.13.arm64.open
|
||||
|
||||
## Linux arm
|
||||
#- ${{ if eq(parameters.platform, 'linux_arm') }}:
|
||||
# - ${{ if or(eq(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
|
||||
# - (Debian.13.Arm32.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-13-helix-arm32v7
|
||||
#
|
||||
## Linux arm64
|
||||
#- ${{ if eq(parameters.platform, 'linux_arm64') }}:
|
||||
# - ${{ if or(eq(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
|
||||
# - (Ubuntu.2510.ArmArch.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-25.10-helix-arm64v8
|
||||
# - ${{ if or(ne(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
|
||||
# - (AzureLinux.3.0.ArmArch.Open)Ubuntu.2204.ArmArch.open@mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-helix-arm64v8
|
||||
#
|
||||
## Linux musl x64
|
||||
#- ${{ if eq(parameters.platform, 'linux_musl_x64') }}:
|
||||
# - ${{ if or(eq(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
|
||||
# - (Alpine.edge.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-edge-helix-amd64
|
||||
# - ${{ if or(ne(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
|
||||
# - (Alpine.322.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-helix-amd64
|
||||
#
|
||||
## Linux musl arm64
|
||||
#- ${{ if eq(parameters.platform, 'linux_musl_arm64') }}:
|
||||
# - ${{ if or(eq(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
|
||||
# - (Alpine.322.Arm64.Open)Ubuntu.2204.ArmArch.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:alpine-3.22-helix-arm64v8
|
||||
#
|
||||
## Linux x64
|
||||
#- ${{ if eq(parameters.platform, 'linux_x64') }}:
|
||||
# - ${{ if or(eq(parameters.jobParameters.interpreter, 'true'), eq(parameters.jobParameters.isSingleFile, true)) }}:
|
||||
# # Limiting interp runs as we don't need as much coverage.
|
||||
# - (Debian.13.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-13-helix-amd64
|
||||
#
|
||||
# - ${{ else }}:
|
||||
# - ${{ if eq(parameters.jobParameters.runtimeFlavor, 'mono') }}:
|
||||
# # Mono path - test minimal scenario
|
||||
# - Ubuntu.2204.Amd64.Open
|
||||
# - ${{ else }}:
|
||||
# # CoreCLR path
|
||||
# - ${{ if and(eq(parameters.jobParameters.isExtraPlatformsBuild, true), ne(parameters.jobParameters.testScope, 'outerloop'))}}:
|
||||
# # extra-platforms CoreCLR (inner loop only)
|
||||
# - (Debian.13.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:debian-13-helix-amd64
|
||||
# - (Fedora.42.Amd64.Open)AzureLinux.3.Amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:fedora-42-helix-amd64
|
||||
# - (openSUSE.15.6.Amd64.Open)AzureLinux.3.Amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:opensuse-15.6-helix-amd64
|
||||
# - (Ubuntu.2510.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-25.10-helix-amd64
|
||||
#
|
||||
# - ${{ if eq(parameters.jobParameters.testScope, 'outerloop') }}:
|
||||
# # outerloop only CoreCLR
|
||||
# - AzureLinux.3.Amd64.Open
|
||||
#
|
||||
# - ${{ if or(ne(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true))}}:
|
||||
# # inner and outer loop CoreCLR (general set)
|
||||
# - Ubuntu.2204.Amd64.Open
|
||||
# - (AzureLinux.3.0.Amd64.Open)AzureLinux.3.Amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:azurelinux-3.0-helix-amd64
|
||||
# - (Centos.10.Amd64.Open)AzureLinux.3.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:centos-stream-10-helix-amd64
|
||||
#
|
||||
## OSX arm64
|
||||
#- ${{ if eq(parameters.platform, 'osx_arm64') }}:
|
||||
# - osx.13.arm64.open
|
||||
#
|
||||
# OSX x64
|
||||
- ${{ if eq(parameters.platform, 'osx_x64') }}:
|
||||
- OSX.1200.Amd64.Open
|
||||
|
||||
# Android
|
||||
- ${{ if in(parameters.platform, 'android_x86', 'android_x64', 'linux_bionic_x64') }}:
|
||||
- Ubuntu.2204.Amd64.Android.29.Open
|
||||
- ${{ if in(parameters.platform, 'android_arm', 'android_arm64', 'linux_bionic_arm', 'linux_bionic_arm64') }}:
|
||||
- Windows.11.Amd64.Android.Open
|
||||
|
||||
# iOS Simulator/Mac Catalyst arm64
|
||||
- ${{ if in(parameters.platform, 'maccatalyst_arm64', 'iossimulator_arm64') }}:
|
||||
- OSX.14.Arm64.Open
|
||||
|
||||
# iOS/tvOS Simulator x64 & MacCatalyst x64
|
||||
- ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64', 'maccatalyst_x64') }}:
|
||||
- OSX.15.Amd64.Open
|
||||
|
||||
# iOS devices
|
||||
- ${{ if in(parameters.platform, 'ios_arm64') }}:
|
||||
- OSX.13.Amd64.Iphone.Open
|
||||
|
||||
# tvOS devices
|
||||
- ${{ if in(parameters.platform, 'tvos_arm64') }}:
|
||||
- OSX.13.Amd64.AppleTV.Open
|
||||
|
||||
# windows x64
|
||||
- ${{ if eq(parameters.platform, 'windows_x64') }}:
|
||||
# netcoreapp
|
||||
- ${{ if notIn(parameters.jobParameters.framework, 'net481') }}:
|
||||
# libraries on mono outerloop
|
||||
- ${{ if and(eq(parameters.jobParameters.testScope, 'outerloop'), eq(parameters.jobParameters.runtimeFlavor, 'mono')) }}:
|
||||
- Windows.Amd64.Server2022.Open
|
||||
- Windows.Server2025.Amd64.Open
|
||||
# libraries on coreclr (outerloop and innerloop), or libraries on mono innerloop
|
||||
- ${{ if or(ne(parameters.jobParameters.testScope, 'outerloop'), ne(parameters.jobParameters.runtimeFlavor, 'mono')) }}:
|
||||
- ${{ if or(eq(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
|
||||
- Windows.Amd64.Server2022.Open
|
||||
- Windows.Server2025.Amd64.Open
|
||||
- ${{ if ne(parameters.jobParameters.testScope, 'outerloop') }}:
|
||||
- (Windows.10.Amd64.ServerRS5.Open)windows.10.amd64.serverrs5.open@mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-ltsc2019-helix-amd64
|
||||
- ${{ if or(ne(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
|
||||
- Windows.Amd64.Server2022.Open
|
||||
- Windows.Server2025.Amd64.Open
|
||||
- Windows.11.Amd64.Client.Open
|
||||
- ${{ if eq(parameters.jobParameters.testScope, 'outerloop') }}:
|
||||
- (Windows.10.Amd64.ServerRS5.Open)windows.10.amd64.serverrs5.open@mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-ltsc2019-helix-amd64
|
||||
- ${{ if ne(parameters.jobParameters.runtimeFlavor, 'mono') }}:
|
||||
- (Windows.Nano.1809.Amd64.Open)windows.10.amd64.serverrs5.open@mcr.microsoft.com/dotnet-buildtools/prereqs:nanoserver-1809-helix-amd64
|
||||
|
||||
# .NETFramework
|
||||
- ${{ if eq(parameters.jobParameters.framework, 'net481') }}:
|
||||
- Windows.11.Amd64.Client.Open
|
||||
|
||||
|
||||
# windows x86
|
||||
- ${{ if eq(parameters.platform, 'windows_x86') }}:
|
||||
# netcoreapp
|
||||
- ${{ if notIn(parameters.jobParameters.framework, 'net481') }}:
|
||||
# mono outerloop
|
||||
- ${{ if and(eq(parameters.jobParameters.testScope, 'outerloop'), eq(parameters.jobParameters.runtimeFlavor, 'mono')) }}:
|
||||
- Windows.11.Amd64.Client.Open
|
||||
# libraries on coreclr (outerloop and innerloop), or libraries on mono innerloop
|
||||
- ${{ if or(ne(parameters.jobParameters.testScope, 'outerloop'), ne(parameters.jobParameters.runtimeFlavor, 'mono')) }}:
|
||||
- Windows.Server2025.Amd64.Open
|
||||
- ${{ if or(eq(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
|
||||
- Windows.11.Amd64.Client.Open
|
||||
|
||||
# .NETFramework
|
||||
- ${{ if eq(parameters.jobParameters.framework, 'net481') }}:
|
||||
- Windows.10.Amd64.Client.Open
|
||||
|
||||
# windows arm64
|
||||
- ${{ if eq(parameters.platform, 'windows_arm64') }}:
|
||||
- Windows.11.Arm64.Open
|
||||
|
||||
# WASI
|
||||
- ${{ if eq(parameters.platform, 'wasi_wasm') }}:
|
||||
- (Ubuntu.2204.Amd64)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-webassembly
|
||||
|
||||
# Browser WebAssembly
|
||||
- ${{ if eq(parameters.platform, 'browser_wasm') }}:
|
||||
- (Ubuntu.2204.Amd64)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-webassembly
|
||||
|
||||
# Browser WebAssembly Firefox
|
||||
- ${{ if eq(parameters.platform, 'browser_wasm_firefox') }}:
|
||||
- (Ubuntu.2204.Amd64)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-webassembly
|
||||
|
||||
# Browser WebAssembly windows
|
||||
- ${{ if in(parameters.platform, 'browser_wasm_win', 'wasi_wasm_win') }}:
|
||||
- (Windows.Amd64.Server2022.Open)windows.amd64.server2022.open@mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-ltsc2022-helix-webassembly
|
||||
- (Windows.Server2025.Amd64.Open)windows.server2025.amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-ltsc2025-helix-webassembly-amd64
|
||||
#
|
||||
## Android
|
||||
#- ${{ if in(parameters.platform, 'android_x86', 'android_x64', 'linux_bionic_x64') }}:
|
||||
# - Ubuntu.2204.Amd64.Android.29.Open
|
||||
#- ${{ if in(parameters.platform, 'android_arm', 'android_arm64', 'linux_bionic_arm', 'linux_bionic_arm64') }}:
|
||||
# - Windows.11.Amd64.Android.Open
|
||||
#
|
||||
## iOS Simulator/Mac Catalyst arm64
|
||||
#- ${{ if in(parameters.platform, 'maccatalyst_arm64', 'iossimulator_arm64') }}:
|
||||
# - OSX.14.Arm64.Open
|
||||
#
|
||||
## iOS/tvOS Simulator x64 & MacCatalyst x64
|
||||
#- ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64', 'maccatalyst_x64') }}:
|
||||
# - OSX.15.Amd64.Open
|
||||
#
|
||||
## iOS devices
|
||||
#- ${{ if in(parameters.platform, 'ios_arm64') }}:
|
||||
# - OSX.13.Amd64.Iphone.Open
|
||||
#
|
||||
## tvOS devices
|
||||
#- ${{ if in(parameters.platform, 'tvos_arm64') }}:
|
||||
# - OSX.13.Amd64.AppleTV.Open
|
||||
#
|
||||
## windows x64
|
||||
#- ${{ if eq(parameters.platform, 'windows_x64') }}:
|
||||
# # netcoreapp
|
||||
# - ${{ if notIn(parameters.jobParameters.framework, 'net481') }}:
|
||||
# # libraries on mono outerloop
|
||||
# - ${{ if and(eq(parameters.jobParameters.testScope, 'outerloop'), eq(parameters.jobParameters.runtimeFlavor, 'mono')) }}:
|
||||
# - Windows.Amd64.Server2022.Open
|
||||
# - Windows.Server2025.Amd64.Open
|
||||
# # libraries on coreclr (outerloop and innerloop), or libraries on mono innerloop
|
||||
# - ${{ if or(ne(parameters.jobParameters.testScope, 'outerloop'), ne(parameters.jobParameters.runtimeFlavor, 'mono')) }}:
|
||||
# - ${{ if or(eq(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
|
||||
# - Windows.Amd64.Server2022.Open
|
||||
# - Windows.Server2025.Amd64.Open
|
||||
# - ${{ if ne(parameters.jobParameters.testScope, 'outerloop') }}:
|
||||
# - (Windows.10.Amd64.ServerRS5.Open)windows.10.amd64.serverrs5.open@mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-ltsc2019-helix-amd64
|
||||
# - ${{ if or(ne(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
|
||||
# - Windows.Amd64.Server2022.Open
|
||||
# - Windows.Server2025.Amd64.Open
|
||||
# - Windows.11.Amd64.Client.Open
|
||||
# - ${{ if eq(parameters.jobParameters.testScope, 'outerloop') }}:
|
||||
# - (Windows.10.Amd64.ServerRS5.Open)windows.10.amd64.serverrs5.open@mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-ltsc2019-helix-amd64
|
||||
# - ${{ if ne(parameters.jobParameters.runtimeFlavor, 'mono') }}:
|
||||
# - (Windows.Nano.1809.Amd64.Open)windows.10.amd64.serverrs5.open@mcr.microsoft.com/dotnet-buildtools/prereqs:nanoserver-1809-helix-amd64
|
||||
#
|
||||
# # .NETFramework
|
||||
# - ${{ if eq(parameters.jobParameters.framework, 'net481') }}:
|
||||
# - Windows.11.Amd64.Client.Open
|
||||
#
|
||||
#
|
||||
## windows x86
|
||||
#- ${{ if eq(parameters.platform, 'windows_x86') }}:
|
||||
# # netcoreapp
|
||||
# - ${{ if notIn(parameters.jobParameters.framework, 'net481') }}:
|
||||
# # mono outerloop
|
||||
# - ${{ if and(eq(parameters.jobParameters.testScope, 'outerloop'), eq(parameters.jobParameters.runtimeFlavor, 'mono')) }}:
|
||||
# - Windows.11.Amd64.Client.Open
|
||||
# # libraries on coreclr (outerloop and innerloop), or libraries on mono innerloop
|
||||
# - ${{ if or(ne(parameters.jobParameters.testScope, 'outerloop'), ne(parameters.jobParameters.runtimeFlavor, 'mono')) }}:
|
||||
# - Windows.Server2025.Amd64.Open
|
||||
# - ${{ if or(eq(parameters.jobParameters.isExtraPlatformsBuild, true), eq(parameters.jobParameters.includeAllPlatforms, true)) }}:
|
||||
# - Windows.11.Amd64.Client.Open
|
||||
#
|
||||
# # .NETFramework
|
||||
# - ${{ if eq(parameters.jobParameters.framework, 'net481') }}:
|
||||
# - Windows.10.Amd64.Client.Open
|
||||
#
|
||||
## windows arm64
|
||||
#- ${{ if eq(parameters.platform, 'windows_arm64') }}:
|
||||
# - Windows.11.Arm64.Open
|
||||
#
|
||||
## WASI
|
||||
#- ${{ if eq(parameters.platform, 'wasi_wasm') }}:
|
||||
# - (Ubuntu.2204.Amd64)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-webassembly
|
||||
#
|
||||
## Browser WebAssembly
|
||||
#- ${{ if eq(parameters.platform, 'browser_wasm') }}:
|
||||
# - (Ubuntu.2204.Amd64)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-webassembly
|
||||
#
|
||||
## Browser WebAssembly Firefox
|
||||
#- ${{ if eq(parameters.platform, 'browser_wasm_firefox') }}:
|
||||
# - (Ubuntu.2204.Amd64)Ubuntu.2204.Amd64.Open@mcr.microsoft.com/dotnet-buildtools/prereqs:ubuntu-22.04-helix-webassembly
|
||||
#
|
||||
## Browser WebAssembly windows
|
||||
#- ${{ if in(parameters.platform, 'browser_wasm_win', 'wasi_wasm_win') }}:
|
||||
# - (Windows.Amd64.Server2022.Open)windows.amd64.server2022.open@mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-ltsc2022-helix-webassembly
|
||||
# - (Windows.Server2025.Amd64.Open)windows.server2025.amd64.open@mcr.microsoft.com/dotnet-buildtools/prereqs:windowsservercore-ltsc2025-helix-webassembly-amd64
|
||||
|
||||
${{ insert }}: ${{ parameters.jobParameters }}
|
||||
|
|
|
@ -343,41 +343,56 @@ namespace System.Net.Quic.Tests
|
|||
[Fact]
|
||||
public async Task CertificateCallbackThrowPropagates()
|
||||
{
|
||||
using CancellationTokenSource cts = new CancellationTokenSource(PassingTestTimeout);
|
||||
bool validationResult = false;
|
||||
|
||||
var listenerOptions = new QuicListenerOptions()
|
||||
using var _ = new TestEventListener(Console.Out, "Private.InternalDiagnostics.System.Net.Quic");
|
||||
if (PlatformDetection.IsOSX)
|
||||
{
|
||||
ListenEndPoint = new IPEndPoint(IsIPv6Available ? IPAddress.IPv6Loopback : IPAddress.Loopback, 0),
|
||||
ApplicationProtocols = new List<SslApplicationProtocol>() { ApplicationProtocol },
|
||||
ConnectionOptionsCallback = (_, _, _) => ValueTask.FromResult(CreateQuicServerOptions())
|
||||
};
|
||||
await using QuicListener listener = await CreateQuicListener(listenerOptions);
|
||||
|
||||
QuicClientConnectionOptions clientOptions = CreateQuicClientOptions(listener.LocalEndPoint);
|
||||
clientOptions.ClientAuthenticationOptions.RemoteCertificateValidationCallback = (sender, cert, chain, errors) =>
|
||||
{
|
||||
Assert.Equal(ServerCertificate, cert);
|
||||
if (validationResult)
|
||||
for (int i = 0; i < 100; ++i)
|
||||
{
|
||||
return validationResult;
|
||||
Console.WriteLine($"Running {i} iteration");
|
||||
using CancellationTokenSource cts = new CancellationTokenSource(PassingTestTimeout);
|
||||
bool validationResult = false;
|
||||
|
||||
var listenerOptions = new QuicListenerOptions()
|
||||
{
|
||||
ListenEndPoint = new IPEndPoint(IsIPv6Available ? IPAddress.IPv6Loopback : IPAddress.Loopback, 0),
|
||||
ApplicationProtocols = new List<SslApplicationProtocol>() { ApplicationProtocol },
|
||||
ConnectionOptionsCallback = (_, _, _) => ValueTask.FromResult(CreateQuicServerOptions())
|
||||
};
|
||||
await using QuicListener listener = await CreateQuicListener(listenerOptions);
|
||||
|
||||
QuicClientConnectionOptions clientOptions = CreateQuicClientOptions(listener.LocalEndPoint);
|
||||
clientOptions.ClientAuthenticationOptions.RemoteCertificateValidationCallback = (sender, cert, chain, errors) =>
|
||||
{
|
||||
Console.WriteLine($"{i} in callback");
|
||||
Assert.Equal(ServerCertificate, cert);
|
||||
if (validationResult)
|
||||
{
|
||||
Console.WriteLine($"{i} in callback - {validationResult}");
|
||||
return validationResult;
|
||||
}
|
||||
|
||||
Console.WriteLine($"{i} in callback - {nameof(ArithmeticException)}");
|
||||
throw new ArithmeticException("foobar");
|
||||
};
|
||||
clientOptions.ClientAuthenticationOptions.TargetHost = "foobar1";
|
||||
|
||||
Console.WriteLine($"{i} before first connect");
|
||||
Exception exception = await AssertThrowsQuicExceptionAsync(QuicError.CallbackError, async () => await CreateQuicConnection(clientOptions));
|
||||
Console.WriteLine($"{i} after first connect");
|
||||
Assert.True(exception.InnerException is ArithmeticException);
|
||||
Console.WriteLine($"{i} before first accept");
|
||||
await Assert.ThrowsAsync<AuthenticationException>(async () => await listener.AcceptConnectionAsync());
|
||||
Console.WriteLine($"{i} after first accept");
|
||||
|
||||
// Make sure the listener is still usable and there is no lingering bad connection
|
||||
validationResult = true;
|
||||
(QuicConnection clientConnection, QuicConnection serverConnection) = await CreateConnectedQuicConnection(listener);
|
||||
await PingPong(clientConnection, serverConnection);
|
||||
await clientConnection.DisposeAsync();
|
||||
await serverConnection.DisposeAsync();
|
||||
Console.WriteLine($"Finished {i} iteration");
|
||||
}
|
||||
|
||||
throw new ArithmeticException("foobar");
|
||||
};
|
||||
|
||||
clientOptions.ClientAuthenticationOptions.TargetHost = "foobar1";
|
||||
|
||||
Exception exception = await AssertThrowsQuicExceptionAsync(QuicError.CallbackError, async () => await CreateQuicConnection(clientOptions));
|
||||
Assert.True(exception.InnerException is ArithmeticException);
|
||||
await Assert.ThrowsAsync<AuthenticationException>(async () => await listener.AcceptConnectionAsync());
|
||||
|
||||
// Make sure the listener is still usable and there is no lingering bad connection
|
||||
validationResult = true;
|
||||
(QuicConnection clientConnection, QuicConnection serverConnection) = await CreateConnectedQuicConnection(listener);
|
||||
await PingPong(clientConnection, serverConnection);
|
||||
await clientConnection.DisposeAsync();
|
||||
await serverConnection.DisposeAsync();
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
|
Loading…
Reference in New Issue