Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 28 additions & 28 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -186,57 +186,57 @@
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>4b95fb1a9307265eb75f62d4937be50e6786e94e</Sha>
</Dependency>
<Dependency Name="System.ComponentModel.TypeConverter.TestData" Version="8.0.0-beta.26153.1">
<Dependency Name="System.ComponentModel.TypeConverter.TestData" Version="8.0.0-beta.26302.3">
<Uri>https://github.com/dotnet/runtime-assets</Uri>
<Sha>5d4912b6997bc8f15c9d75f0ec51cfd22295ef90</Sha>
<Sha>96ec5190831f0b214f15b3a7b6aab8b8b565d820</Sha>
</Dependency>
<Dependency Name="System.Data.Common.TestData" Version="8.0.0-beta.26153.1">
<Dependency Name="System.Data.Common.TestData" Version="8.0.0-beta.26302.3">
<Uri>https://github.com/dotnet/runtime-assets</Uri>
<Sha>5d4912b6997bc8f15c9d75f0ec51cfd22295ef90</Sha>
<Sha>96ec5190831f0b214f15b3a7b6aab8b8b565d820</Sha>
</Dependency>
<Dependency Name="System.Drawing.Common.TestData" Version="8.0.0-beta.26153.1">
<Dependency Name="System.Drawing.Common.TestData" Version="8.0.0-beta.26302.3">
<Uri>https://github.com/dotnet/runtime-assets</Uri>
<Sha>5d4912b6997bc8f15c9d75f0ec51cfd22295ef90</Sha>
<Sha>96ec5190831f0b214f15b3a7b6aab8b8b565d820</Sha>
</Dependency>
<Dependency Name="System.Formats.Tar.TestData" Version="8.0.0-beta.26153.1">
<Dependency Name="System.Formats.Tar.TestData" Version="8.0.0-beta.26302.3">
<Uri>https://github.com/dotnet/runtime-assets</Uri>
<Sha>5d4912b6997bc8f15c9d75f0ec51cfd22295ef90</Sha>
<Sha>96ec5190831f0b214f15b3a7b6aab8b8b565d820</Sha>
</Dependency>
<Dependency Name="System.IO.Compression.TestData" Version="8.0.0-beta.26153.1">
<Dependency Name="System.IO.Compression.TestData" Version="8.0.0-beta.26302.3">
<Uri>https://github.com/dotnet/runtime-assets</Uri>
<Sha>5d4912b6997bc8f15c9d75f0ec51cfd22295ef90</Sha>
<Sha>96ec5190831f0b214f15b3a7b6aab8b8b565d820</Sha>
</Dependency>
<Dependency Name="System.IO.Packaging.TestData" Version="8.0.0-beta.26153.1">
<Dependency Name="System.IO.Packaging.TestData" Version="8.0.0-beta.26302.3">
<Uri>https://github.com/dotnet/runtime-assets</Uri>
<Sha>5d4912b6997bc8f15c9d75f0ec51cfd22295ef90</Sha>
<Sha>96ec5190831f0b214f15b3a7b6aab8b8b565d820</Sha>
</Dependency>
<Dependency Name="System.Net.TestData" Version="8.0.0-beta.26153.1">
<Dependency Name="System.Net.TestData" Version="8.0.0-beta.26302.3">
<Uri>https://github.com/dotnet/runtime-assets</Uri>
<Sha>5d4912b6997bc8f15c9d75f0ec51cfd22295ef90</Sha>
<Sha>96ec5190831f0b214f15b3a7b6aab8b8b565d820</Sha>
</Dependency>
<Dependency Name="System.Private.Runtime.UnicodeData" Version="8.0.0-beta.26153.1">
<Dependency Name="System.Private.Runtime.UnicodeData" Version="8.0.0-beta.26302.3">
<Uri>https://github.com/dotnet/runtime-assets</Uri>
<Sha>5d4912b6997bc8f15c9d75f0ec51cfd22295ef90</Sha>
<Sha>96ec5190831f0b214f15b3a7b6aab8b8b565d820</Sha>
</Dependency>
<Dependency Name="System.Runtime.TimeZoneData" Version="8.0.0-beta.26153.1">
<Dependency Name="System.Runtime.TimeZoneData" Version="8.0.0-beta.26302.3">
<Uri>https://github.com/dotnet/runtime-assets</Uri>
<Sha>5d4912b6997bc8f15c9d75f0ec51cfd22295ef90</Sha>
<Sha>96ec5190831f0b214f15b3a7b6aab8b8b565d820</Sha>
</Dependency>
<Dependency Name="System.Security.Cryptography.X509Certificates.TestData" Version="8.0.0-beta.26153.1">
<Dependency Name="System.Security.Cryptography.X509Certificates.TestData" Version="8.0.0-beta.26302.3">
<Uri>https://github.com/dotnet/runtime-assets</Uri>
<Sha>5d4912b6997bc8f15c9d75f0ec51cfd22295ef90</Sha>
<Sha>96ec5190831f0b214f15b3a7b6aab8b8b565d820</Sha>
</Dependency>
<Dependency Name="System.Text.RegularExpressions.TestData" Version="8.0.0-beta.26153.1">
<Dependency Name="System.Text.RegularExpressions.TestData" Version="8.0.0-beta.26302.3">
<Uri>https://github.com/dotnet/runtime-assets</Uri>
<Sha>5d4912b6997bc8f15c9d75f0ec51cfd22295ef90</Sha>
<Sha>96ec5190831f0b214f15b3a7b6aab8b8b565d820</Sha>
</Dependency>
<Dependency Name="System.Windows.Extensions.TestData" Version="8.0.0-beta.26153.1">
<Dependency Name="System.Windows.Extensions.TestData" Version="8.0.0-beta.26302.3">
<Uri>https://github.com/dotnet/runtime-assets</Uri>
<Sha>5d4912b6997bc8f15c9d75f0ec51cfd22295ef90</Sha>
<Sha>96ec5190831f0b214f15b3a7b6aab8b8b565d820</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.CilStrip.Sources" Version="8.0.0-beta.26153.1">
<Dependency Name="Microsoft.DotNet.CilStrip.Sources" Version="8.0.0-beta.26302.3">
<Uri>https://github.com/dotnet/runtime-assets</Uri>
<Sha>5d4912b6997bc8f15c9d75f0ec51cfd22295ef90</Sha>
<Sha>96ec5190831f0b214f15b3a7b6aab8b8b565d820</Sha>
</Dependency>
<Dependency Name="runtime.linux-arm64.Microsoft.NETCore.Runtime.Mono.LLVM.Sdk" Version="16.0.5-alpha.1.25311.1" CoherentParentDependency="Microsoft.NET.Workload.Emscripten.Current.Manifest-8.0.100">
<Uri>https://github.com/dotnet/llvm-project</Uri>
Expand Down Expand Up @@ -359,9 +359,9 @@
<Uri>https://github.com/dotnet/hotreload-utils</Uri>
<Sha>d51568ac5594873815971cb9e3e7ee2d463a01ef</Sha>
</Dependency>
<Dependency Name="System.Runtime.Numerics.TestData" Version="8.0.0-beta.26153.1">
<Dependency Name="System.Runtime.Numerics.TestData" Version="8.0.0-beta.26302.3">
<Uri>https://github.com/dotnet/runtime-assets</Uri>
<Sha>5d4912b6997bc8f15c9d75f0ec51cfd22295ef90</Sha>
<Sha>96ec5190831f0b214f15b3a7b6aab8b8b565d820</Sha>
</Dependency>
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="4.8.0-7.23566.2">
<Uri>https://github.com/dotnet/roslyn</Uri>
Expand Down
28 changes: 14 additions & 14 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -154,20 +154,20 @@
<SystemValueTupleVersion>4.5.0</SystemValueTupleVersion>
<runtimenativeSystemIOPortsVersion>8.0.0-rc.1.23406.6</runtimenativeSystemIOPortsVersion>
<!-- Runtime-Assets dependencies -->
<SystemRuntimeNumericsTestDataVersion>8.0.0-beta.26153.1</SystemRuntimeNumericsTestDataVersion>
<SystemComponentModelTypeConverterTestDataVersion>8.0.0-beta.26153.1</SystemComponentModelTypeConverterTestDataVersion>
<SystemDataCommonTestDataVersion>8.0.0-beta.26153.1</SystemDataCommonTestDataVersion>
<SystemDrawingCommonTestDataVersion>8.0.0-beta.26153.1</SystemDrawingCommonTestDataVersion>
<SystemFormatsTarTestDataVersion>8.0.0-beta.26153.1</SystemFormatsTarTestDataVersion>
<SystemIOCompressionTestDataVersion>8.0.0-beta.26153.1</SystemIOCompressionTestDataVersion>
<SystemIOPackagingTestDataVersion>8.0.0-beta.26153.1</SystemIOPackagingTestDataVersion>
<SystemNetTestDataVersion>8.0.0-beta.26153.1</SystemNetTestDataVersion>
<SystemPrivateRuntimeUnicodeDataVersion>8.0.0-beta.26153.1</SystemPrivateRuntimeUnicodeDataVersion>
<SystemRuntimeTimeZoneDataVersion>8.0.0-beta.26153.1</SystemRuntimeTimeZoneDataVersion>
<SystemSecurityCryptographyX509CertificatesTestDataVersion>8.0.0-beta.26153.1</SystemSecurityCryptographyX509CertificatesTestDataVersion>
<SystemTextRegularExpressionsTestDataVersion>8.0.0-beta.26153.1</SystemTextRegularExpressionsTestDataVersion>
<SystemWindowsExtensionsTestDataVersion>8.0.0-beta.26153.1</SystemWindowsExtensionsTestDataVersion>
<MicrosoftDotNetCilStripSourcesVersion>8.0.0-beta.26153.1</MicrosoftDotNetCilStripSourcesVersion>
<SystemRuntimeNumericsTestDataVersion>8.0.0-beta.26302.3</SystemRuntimeNumericsTestDataVersion>
<SystemComponentModelTypeConverterTestDataVersion>8.0.0-beta.26302.3</SystemComponentModelTypeConverterTestDataVersion>
<SystemDataCommonTestDataVersion>8.0.0-beta.26302.3</SystemDataCommonTestDataVersion>
<SystemDrawingCommonTestDataVersion>8.0.0-beta.26302.3</SystemDrawingCommonTestDataVersion>
<SystemFormatsTarTestDataVersion>8.0.0-beta.26302.3</SystemFormatsTarTestDataVersion>
<SystemIOCompressionTestDataVersion>8.0.0-beta.26302.3</SystemIOCompressionTestDataVersion>
<SystemIOPackagingTestDataVersion>8.0.0-beta.26302.3</SystemIOPackagingTestDataVersion>
<SystemNetTestDataVersion>8.0.0-beta.26302.3</SystemNetTestDataVersion>
<SystemPrivateRuntimeUnicodeDataVersion>8.0.0-beta.26302.3</SystemPrivateRuntimeUnicodeDataVersion>
<SystemRuntimeTimeZoneDataVersion>8.0.0-beta.26302.3</SystemRuntimeTimeZoneDataVersion>
<SystemSecurityCryptographyX509CertificatesTestDataVersion>8.0.0-beta.26302.3</SystemSecurityCryptographyX509CertificatesTestDataVersion>
<SystemTextRegularExpressionsTestDataVersion>8.0.0-beta.26302.3</SystemTextRegularExpressionsTestDataVersion>
<SystemWindowsExtensionsTestDataVersion>8.0.0-beta.26302.3</SystemWindowsExtensionsTestDataVersion>
<MicrosoftDotNetCilStripSourcesVersion>8.0.0-beta.26302.3</MicrosoftDotNetCilStripSourcesVersion>
<!-- dotnet-optimization dependencies -->
<optimizationwindows_ntx64MIBCRuntimeVersion>1.0.0-prerelease.23566.3</optimizationwindows_ntx64MIBCRuntimeVersion>
<optimizationwindows_ntx86MIBCRuntimeVersion>1.0.0-prerelease.23566.3</optimizationwindows_ntx86MIBCRuntimeVersion>
Expand Down
10 changes: 5 additions & 5 deletions eng/pipelines/coreclr/templates/helix-queues-setup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:

# iOS Simulator/Mac Catalyst arm64
- ${{ if in(parameters.platform, 'maccatalyst_arm64', 'iossimulator_arm64') }}:
- OSX.14.Arm64.Open
- OSX.15.Arm64.Open

# iOS/tvOS Simulator x64 & MacCatalyst x64
- ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64', 'maccatalyst_x64') }}:
Expand Down Expand Up @@ -106,16 +106,16 @@ jobs:
# OSX arm64
- ${{ if eq(parameters.platform, 'osx_arm64') }}:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- OSX.14.ARM64.Open
- OSX.15.ARM64.Open
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- OSX.14.ARM64
- OSX.15.ARM64

# OSX x64
- ${{ if eq(parameters.platform, 'osx_x64') }}:
- ${{ if eq(variables['System.TeamProject'], 'public') }}:
- OSX.14.Amd64.Open
- OSX.15.Amd64.Open
- ${{ if eq(variables['System.TeamProject'], 'internal') }}:
- OSX.14.Amd64
- OSX.15.Amd64

# windows x64
- ${{ if eq(parameters.platform, 'windows_x64') }}:
Expand Down
73 changes: 38 additions & 35 deletions eng/pipelines/extra-platforms/runtime-extra-platforms-wasm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,20 +108,21 @@ jobs:
alwaysRun: ${{ parameters.isWasmOnlyBuild }}

# Wasi - run only smoke tests by default
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
platforms:
- wasi_wasm
- wasi_wasm_win
nameSuffix: '_Smoke'
extraBuildArgs: /p:EnableAggressiveTrimming=true /p:RunWasmSamples=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
shouldRunSmokeOnly: true
# ignore test failures for runtime-extra-platforms, but not when this
# is run as part of a wasm specific pipeline like runtime-wasm
shouldContinueOnError: ${{ not(parameters.isWasmOnlyBuild) }}
alwaysRun: ${{ variables.isRollingBuild }}
scenarios:
- WasmTestOnWasmtime
# Disabled: https://github.com/dotnet/runtime/issues/128772
# - template: /eng/pipelines/common/templates/wasm-library-tests.yml
# parameters:
# platforms:
# - wasi_wasm
# - wasi_wasm_win
# nameSuffix: '_Smoke'
# extraBuildArgs: /p:EnableAggressiveTrimming=true /p:RunWasmSamples=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
# shouldRunSmokeOnly: true
# # ignore test failures for runtime-extra-platforms, but not when this
# # is run as part of a wasm specific pipeline like runtime-wasm
# shouldContinueOnError: ${{ not(parameters.isWasmOnlyBuild) }}
# alwaysRun: ${{ variables.isRollingBuild }}
# scenarios:
# - WasmTestOnWasmtime

# Hybrid Globalization tests
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
Expand Down Expand Up @@ -186,14 +187,15 @@ jobs:
- browser_wasm_win
extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)

- template: /eng/pipelines/common/templates/simple-wasm-build-tests.yml
parameters:
platforms:
- wasi_wasm
- wasi_wasm_win
extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }}
# Disabled: https://github.com/dotnet/runtime/issues/128772
# - template: /eng/pipelines/common/templates/simple-wasm-build-tests.yml
# parameters:
# platforms:
# - wasi_wasm
# - wasi_wasm_win
# extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
# isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
# isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }}

- template: /eng/pipelines/common/templates/wasm-runtime-tests.yml
parameters:
Expand All @@ -209,16 +211,17 @@ jobs:
#runProfile: 'v8'
#onlySanityCheck: true

- ${{ if and(ne(parameters.isRollingBuild, true), ne(parameters.excludeOptional, true)) }}:
- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
platforms:
- wasi_wasm
- wasi_wasm_win
extraBuildArgs: /p:EnableAggressiveTrimming=true /p:RunWasmSamples=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
# always run for wasm only pipelines
alwaysRun: ${{ parameters.isWasmOnlyBuild }}
isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }}
scenarios:
- normal
# Disabled: https://github.com/dotnet/runtime/issues/128772
# - ${{ if and(ne(parameters.isRollingBuild, true), ne(parameters.excludeOptional, true)) }}:
# - template: /eng/pipelines/common/templates/wasm-library-tests.yml
# parameters:
# platforms:
# - wasi_wasm
# - wasi_wasm_win
# extraBuildArgs: /p:EnableAggressiveTrimming=true /p:RunWasmSamples=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
# # always run for wasm only pipelines
# alwaysRun: ${{ parameters.isWasmOnlyBuild }}
# isExtraPlatformsBuild: ${{ parameters.isExtraPlatformsBuild }}
# isWasmOnlyBuild: ${{ parameters.isWasmOnlyBuild }}
# scenarios:
# - normal
6 changes: 3 additions & 3 deletions eng/pipelines/libraries/helix-queues-setup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -75,11 +75,11 @@ jobs:

# OSX arm64
- ${{ if eq(parameters.platform, 'osx_arm64') }}:
- OSX.14.ARM64.Open
- OSX.15.ARM64.Open

# OSX x64
- ${{ if eq(parameters.platform, 'osx_x64') }}:
- OSX.14.Amd64.Open
- OSX.15.Amd64.Open

# Android
- ${{ if in(parameters.platform, 'android_x86', 'android_x64', 'linux_bionic_x64') }}:
Expand All @@ -89,7 +89,7 @@ jobs:

# iOS Simulator/Mac Catalyst arm64
- ${{ if in(parameters.platform, 'maccatalyst_arm64', 'iossimulator_arm64') }}:
- OSX.14.Arm64.Open
- OSX.15.Arm64.Open

# iOS/tvOS Simulator x64 & MacCatalyst x64
- ${{ if in(parameters.platform, 'iossimulator_x64', 'tvossimulator_x64', 'maccatalyst_x64') }}:
Expand Down
43 changes: 22 additions & 21 deletions eng/pipelines/runtime.yml
Original file line number Diff line number Diff line change
Expand Up @@ -550,27 +550,28 @@ extends:
- WasmTestOnBrowser

# WASI/WASM

- template: /eng/pipelines/common/templates/wasm-library-tests.yml
parameters:
platforms:
- wasi_wasm
- wasi_wasm_win
nameSuffix: '_Smoke'
extraBuildArgs: /p:EnableAggressiveTrimming=true /p:RunWasmSamples=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
shouldContinueOnError: true
shouldRunSmokeOnly: true
alwaysRun: ${{ variables.isRollingBuild }}
scenarios:
- normal

- template: /eng/pipelines/common/templates/simple-wasm-build-tests.yml
parameters:
platforms:
- wasi_wasm
- wasi_wasm_win
extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
alwaysRun: ${{ variables.isRollingBuild }}
# Disabled: https://github.com/dotnet/runtime/issues/128772

# - template: /eng/pipelines/common/templates/wasm-library-tests.yml
# parameters:
# platforms:
# - wasi_wasm
# - wasi_wasm_win
# nameSuffix: '_Smoke'
# extraBuildArgs: /p:EnableAggressiveTrimming=true /p:RunWasmSamples=true /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
# shouldContinueOnError: true
# shouldRunSmokeOnly: true
# alwaysRun: ${{ variables.isRollingBuild }}
# scenarios:
# - normal

# - template: /eng/pipelines/common/templates/simple-wasm-build-tests.yml
# parameters:
# platforms:
# - wasi_wasm
# - wasi_wasm_win
# extraBuildArgs: /p:AotHostArchitecture=x64 /p:AotHostOS=$(_hostedOS)
# alwaysRun: ${{ variables.isRollingBuild }}

#
# Android devices
Expand Down
19 changes: 13 additions & 6 deletions src/coreclr/jit/optimizer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -7150,14 +7150,21 @@ void Compiler::optRecordLoopMemoryDependence(GenTree* tree, BasicBlock* block, V
updateLoopNum = updateParentLoopNum;
}

// If the update block is not the header of a loop containing
// block, we can also ignore the update.
// If the memory definition is part of an ancestor loop of `loopNum` then
// `tree` depends on memory defined in that ancestor loop. Walk up the parent
// chain of `updateLoopNum` looking for such an ancestor. Otherwise ignore
// the update.
//
if (!optLoopContains(updateLoopNum, loopNum))
while ((updateLoopNum != BasicBlock::NOT_IN_LOOP) && !optLoopContains(updateLoopNum, loopNum))
{
JITDUMP(" ==> Not updating loop memory dependence of [%06u]/" FMT_LP ", memory " FMT_VN "/" FMT_LP
" is not defined in an enclosing loop\n",
dspTreeID(tree), loopNum, memoryVN, updateLoopNum);
updateLoopNum = optLoopTable[updateLoopNum].lpParent;
}

if (updateLoopNum == BasicBlock::NOT_IN_LOOP)
{
JITDUMP(" ==> Not updating loop memory dependence of [%06u]/" FMT_LP ", memory " FMT_VN
" is not dependent on an ancestor loop\n",
dspTreeID(tree), loopNum, memoryVN);
return;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,21 +10,24 @@ public class NumberFormatInfoNumberGroupSizes
{
public static IEnumerable<object[]> NumberGroupSizes_TestData()
{
yield return new object[] { NumberFormatInfo.InvariantInfo, new int[] { 3 } };
yield return new object[] { CultureInfo.GetCultureInfo("en-US").NumberFormat, new int[] { 3 } };
yield return new object[] { "Invariant", NumberFormatInfo.InvariantInfo, new int[] { 3 }, null };
yield return new object[] { "en-US", CultureInfo.GetCultureInfo("en-US").NumberFormat, new int[] { 3 }, null };

// Culture does not exist on Windows 7 and in Browser's ICU
if (!PlatformDetection.IsWindows7 && PlatformDetection.IsNotBrowser)
{
yield return new object[] { CultureInfo.GetCultureInfo("ur-IN").NumberFormat, NumberFormatInfoData.UrINNumberGroupSizes() };
yield return new object[] { "ur-IN", CultureInfo.GetCultureInfo("ur-IN").NumberFormat, NumberFormatInfoData.UrINNumberGroupSizes(), new int[] { 3, 2 } };
}
}

[Theory]
[MemberData(nameof(NumberGroupSizes_TestData))]
public void NumberGroupSizes_Get_ReturnsExpected(NumberFormatInfo format, int[] expected)
public void NumberGroupSizes_Get_ReturnsExpected(string cultureName, NumberFormatInfo format, int[] expected1, int[] expected2)
{
Assert.Equal(expected, format.NumberGroupSizes);
int[] actual = format.NumberGroupSizes;
Assert.True(expected1.AsSpan().SequenceEqual(actual) || (expected2 is not null && expected2.AsSpan().SequenceEqual(actual)),
$"Expected: [{string.Join(", ", expected1)}] or [{(expected2 is null ? "<null>" : string.Join(", ", expected2))}], Actual: [{string.Join(", ", actual)}]"
+ $"{Environment.NewLine}Culture: {cultureName}");
}

[Theory]
Expand Down
Loading
Loading