diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json index e7e8375b1ed16..bd60f2e67ceac 100644 --- a/.config/dotnet-tools.json +++ b/.config/dotnet-tools.json @@ -15,7 +15,7 @@ ] }, "microsoft.dotnet.xharness.cli": { - "version": "8.0.0-prerelease.23401.3", + "version": "8.0.0-prerelease.23407.2", "commands": [ "xharness" ] diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml index 47db2fc7ff225..9654ab90281b1 100644 --- a/eng/Version.Details.xml +++ b/eng/Version.Details.xml @@ -1,8 +1,8 @@ - + https://github.com/dotnet/icu - 9ce895ca3ea8d3978219abc9756a067fb90a2089 + 92124838d3f0efde3ac483a904691a611babb9a0 https://github.com/dotnet/msquic @@ -85,14 +85,14 @@ 02fe27cd6a9b001c8feb7938e6ef4b3799745759b - + https://github.com/dotnet/cecil - a6181f7751932da21fd2e22b2b26f44f913f2da7 + 2f4ef297939628143389ddeea569874ded0b1c1b - + https://github.com/dotnet/emsdk - 7a17b406530ad1d08895bcb1eeb8a64c62951da6 + 63b66faa8838f09a8bd3e19af9d4b35de1d5016f @@ -107,131 +107,131 @@ - + https://github.com/dotnet/arcade - 3addc5d978d01e864792d2c6bce0b50ec105f857 + bebd2de1988036b47ecefc7e72b66ce2f403e43d - + https://github.com/dotnet/xliff-tasks - d3553ca27fb1c128f302f52b73c0079e65d62ea8 + 493329204079519072f0241ed26f692bdee0d60c - + https://github.com/dotnet/arcade - 3addc5d978d01e864792d2c6bce0b50ec105f857 + bebd2de1988036b47ecefc7e72b66ce2f403e43d - + https://github.com/dotnet/arcade - 3addc5d978d01e864792d2c6bce0b50ec105f857 + bebd2de1988036b47ecefc7e72b66ce2f403e43d - + https://github.com/dotnet/arcade - 3addc5d978d01e864792d2c6bce0b50ec105f857 + bebd2de1988036b47ecefc7e72b66ce2f403e43d - + https://github.com/dotnet/arcade - 3addc5d978d01e864792d2c6bce0b50ec105f857 + bebd2de1988036b47ecefc7e72b66ce2f403e43d - + https://github.com/dotnet/arcade - 3addc5d978d01e864792d2c6bce0b50ec105f857 + bebd2de1988036b47ecefc7e72b66ce2f403e43d - + https://github.com/dotnet/arcade - 3addc5d978d01e864792d2c6bce0b50ec105f857 + bebd2de1988036b47ecefc7e72b66ce2f403e43d - + https://github.com/dotnet/arcade - 3addc5d978d01e864792d2c6bce0b50ec105f857 + bebd2de1988036b47ecefc7e72b66ce2f403e43d - + https://github.com/dotnet/arcade - 3addc5d978d01e864792d2c6bce0b50ec105f857 + bebd2de1988036b47ecefc7e72b66ce2f403e43d - + https://github.com/dotnet/arcade - 3addc5d978d01e864792d2c6bce0b50ec105f857 + bebd2de1988036b47ecefc7e72b66ce2f403e43d - + https://github.com/dotnet/arcade - 3addc5d978d01e864792d2c6bce0b50ec105f857 + bebd2de1988036b47ecefc7e72b66ce2f403e43d - + https://github.com/dotnet/arcade - 3addc5d978d01e864792d2c6bce0b50ec105f857 + bebd2de1988036b47ecefc7e72b66ce2f403e43d - + https://github.com/dotnet/arcade - 3addc5d978d01e864792d2c6bce0b50ec105f857 + bebd2de1988036b47ecefc7e72b66ce2f403e43d - + https://github.com/dotnet/arcade - 3addc5d978d01e864792d2c6bce0b50ec105f857 + bebd2de1988036b47ecefc7e72b66ce2f403e43d - + https://github.com/dotnet/arcade - 3addc5d978d01e864792d2c6bce0b50ec105f857 + bebd2de1988036b47ecefc7e72b66ce2f403e43d - + https://github.com/dotnet/arcade - 3addc5d978d01e864792d2c6bce0b50ec105f857 + bebd2de1988036b47ecefc7e72b66ce2f403e43d - + https://github.com/dotnet/arcade - 3addc5d978d01e864792d2c6bce0b50ec105f857 + bebd2de1988036b47ecefc7e72b66ce2f403e43d - + https://github.com/dotnet/runtime-assets - f3a59688fedc19844c670f4d46d7c21ef55cf1f8 + 48270e734aa881c737b80c4fe0459e68aaf08ad6 - + https://github.com/dotnet/runtime-assets - f3a59688fedc19844c670f4d46d7c21ef55cf1f8 + 48270e734aa881c737b80c4fe0459e68aaf08ad6 - + https://github.com/dotnet/runtime-assets - f3a59688fedc19844c670f4d46d7c21ef55cf1f8 + 48270e734aa881c737b80c4fe0459e68aaf08ad6 - + https://github.com/dotnet/runtime-assets - f3a59688fedc19844c670f4d46d7c21ef55cf1f8 + 48270e734aa881c737b80c4fe0459e68aaf08ad6 - + https://github.com/dotnet/runtime-assets - f3a59688fedc19844c670f4d46d7c21ef55cf1f8 + 48270e734aa881c737b80c4fe0459e68aaf08ad6 - + https://github.com/dotnet/runtime-assets - f3a59688fedc19844c670f4d46d7c21ef55cf1f8 + 48270e734aa881c737b80c4fe0459e68aaf08ad6 - + https://github.com/dotnet/runtime-assets - f3a59688fedc19844c670f4d46d7c21ef55cf1f8 + 48270e734aa881c737b80c4fe0459e68aaf08ad6 - + https://github.com/dotnet/runtime-assets - f3a59688fedc19844c670f4d46d7c21ef55cf1f8 + 48270e734aa881c737b80c4fe0459e68aaf08ad6 - + https://github.com/dotnet/runtime-assets - f3a59688fedc19844c670f4d46d7c21ef55cf1f8 + 48270e734aa881c737b80c4fe0459e68aaf08ad6 - + https://github.com/dotnet/runtime-assets - f3a59688fedc19844c670f4d46d7c21ef55cf1f8 + 48270e734aa881c737b80c4fe0459e68aaf08ad6 - + https://github.com/dotnet/runtime-assets - f3a59688fedc19844c670f4d46d7c21ef55cf1f8 + 48270e734aa881c737b80c4fe0459e68aaf08ad6 - + https://github.com/dotnet/runtime-assets - f3a59688fedc19844c670f4d46d7c21ef55cf1f8 + 48270e734aa881c737b80c4fe0459e68aaf08ad6 - + https://github.com/dotnet/runtime-assets - f3a59688fedc19844c670f4d46d7c21ef55cf1f8 + 48270e734aa881c737b80c4fe0459e68aaf08ad6 https://github.com/dotnet/llvm-project @@ -289,50 +289,50 @@ https://github.com/dotnet/llvm-project da8189885069c59206b903f1b73c240cd9326327 - + https://github.com/dotnet/runtime - 70b5e1522c1ca3841413b5841623c90c297cb177 + edbd5c769a19798b6955050baccf99e6797d3208 - + https://github.com/dotnet/runtime - 70b5e1522c1ca3841413b5841623c90c297cb177 + edbd5c769a19798b6955050baccf99e6797d3208 - + https://github.com/dotnet/runtime - 70b5e1522c1ca3841413b5841623c90c297cb177 + edbd5c769a19798b6955050baccf99e6797d3208 - + https://github.com/dotnet/runtime - 70b5e1522c1ca3841413b5841623c90c297cb177 + edbd5c769a19798b6955050baccf99e6797d3208 - + https://github.com/dotnet/runtime - 70b5e1522c1ca3841413b5841623c90c297cb177 + edbd5c769a19798b6955050baccf99e6797d3208 - + https://github.com/dotnet/runtime - 70b5e1522c1ca3841413b5841623c90c297cb177 + edbd5c769a19798b6955050baccf99e6797d3208 - + https://github.com/dotnet/runtime - 70b5e1522c1ca3841413b5841623c90c297cb177 + edbd5c769a19798b6955050baccf99e6797d3208 - + https://github.com/dotnet/xharness - 437aa378e900dbfd179b5552e71b81bc99e1e746 + 480b9159eb7e69b182a87581d5a336e97e0b6dae - + https://github.com/dotnet/xharness - 437aa378e900dbfd179b5552e71b81bc99e1e746 + 480b9159eb7e69b182a87581d5a336e97e0b6dae - + https://github.com/dotnet/xharness - 437aa378e900dbfd179b5552e71b81bc99e1e746 + 480b9159eb7e69b182a87581d5a336e97e0b6dae - + https://github.com/dotnet/arcade - 3addc5d978d01e864792d2c6bce0b50ec105f857 + bebd2de1988036b47ecefc7e72b66ce2f403e43d https://dev.azure.com/dnceng/internal/_git/dotnet-optimization @@ -350,13 +350,13 @@ https://dev.azure.com/dnceng/internal/_git/dotnet-optimization 068998a5d91f55a619d1d072ab3094dacd5d6a4f - + https://github.com/dotnet/hotreload-utils - 3f15c1f197fcdb70719b5e3ef0e328dbcd664a3f + 696312fd2a60671797b12311a4cf387d3cd14dd0 - + https://github.com/dotnet/runtime-assets - f3a59688fedc19844c670f4d46d7c21ef55cf1f8 + 48270e734aa881c737b80c4fe0459e68aaf08ad6 https://github.com/dotnet/roslyn diff --git a/eng/Versions.props b/eng/Versions.props index ae398a842c9f5..31f9e2c658e70 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -83,28 +83,28 @@ 8.0.100-preview.7.23329.3 - 8.0.0-beta.23402.2 - 8.0.0-beta.23402.2 - 8.0.0-beta.23402.2 - 8.0.0-beta.23402.2 - 8.0.0-beta.23402.2 - 2.5.1-beta.23402.2 - 8.0.0-beta.23402.2 - 8.0.0-beta.23402.2 - 8.0.0-beta.23402.2 - 8.0.0-beta.23402.2 - 8.0.0-beta.23402.2 - 8.0.0-beta.23402.2 - 8.0.0-beta.23402.2 - 8.0.0-beta.23402.2 - 8.0.0-beta.23402.2 + 8.0.0-beta.23409.5 + 8.0.0-beta.23409.5 + 8.0.0-beta.23409.5 + 8.0.0-beta.23409.5 + 8.0.0-beta.23409.5 + 2.5.1-beta.23409.5 + 8.0.0-beta.23409.5 + 8.0.0-beta.23409.5 + 8.0.0-beta.23409.5 + 8.0.0-beta.23409.5 + 8.0.0-beta.23409.5 + 8.0.0-beta.23409.5 + 8.0.0-beta.23409.5 + 8.0.0-beta.23409.5 + 8.0.0-beta.23409.5 6.0.0-preview.1.102 - 8.0.0-rc.1.23401.3 + 8.0.0-rc.1.23406.6 6.0.0 - 8.0.0-rc.1.23401.3 + 8.0.0-rc.1.23406.6 8.0.0-preview.7.23325.2 16.0.5-alpha.1.23401.4 16.0.5-alpha.1.23401.4 @@ -132,27 +132,27 @@ 5.0.0 5.0.0 7.0.0 - 8.0.0-rc.1.23401.3 + 8.0.0-rc.1.23406.6 6.0.0 7.0.0 4.5.4 4.5.0 - 8.0.0-rc.1.23401.3 + 8.0.0-rc.1.23406.6 - 8.0.0-beta.23401.1 - 8.0.0-beta.23401.1 - 8.0.0-beta.23401.1 - 8.0.0-beta.23401.1 - 8.0.0-beta.23401.1 - 8.0.0-beta.23401.1 - 8.0.0-beta.23401.1 - 8.0.0-beta.23401.1 - 8.0.0-beta.23401.1 - 8.0.0-beta.23401.1 - 8.0.0-beta.23401.1 - 8.0.0-beta.23401.1 - 8.0.0-beta.23401.1 - 8.0.0-beta.23401.1 + 8.0.0-beta.23408.1 + 8.0.0-beta.23408.1 + 8.0.0-beta.23408.1 + 8.0.0-beta.23408.1 + 8.0.0-beta.23408.1 + 8.0.0-beta.23408.1 + 8.0.0-beta.23408.1 + 8.0.0-beta.23408.1 + 8.0.0-beta.23408.1 + 8.0.0-beta.23408.1 + 8.0.0-beta.23408.1 + 8.0.0-beta.23408.1 + 8.0.0-beta.23408.1 + 8.0.0-beta.23408.1 1.0.0-prerelease.23362.5 1.0.0-prerelease.23362.5 @@ -179,10 +179,10 @@ 1.1.0 17.4.0-preview-20220707-01 - 8.0.0-prerelease.23401.3 - 8.0.0-prerelease.23401.3 - 8.0.0-prerelease.23401.3 - 8.0.0-alpha.0.23377.1 + 8.0.0-prerelease.23407.2 + 8.0.0-prerelease.23407.2 + 8.0.0-prerelease.23407.2 + 8.0.0-alpha.0.23407.2 2.4.2 1.0.0 2.4.5 @@ -209,13 +209,13 @@ 7.0.0-preview-20221010.1 - 8.0.0-rc.1.23401.3 + 8.0.0-rc.1.23406.6 - 0.11.4-alpha.23374.2 + 0.11.4-alpha.23407.2 - 8.0.0-rc.1.23401.3 + 8.0.0-rc.1.23406.6 - 8.0.0-rc.1.23381.1 + 8.0.0-rc.1.23407.2 2.1.7 8.0.0-alpha.1.23180.2 @@ -238,7 +238,7 @@ Note: when the name is updated, make sure to update dependency name in eng/pipelines/common/xplat-setup.yml like - DarcDependenciesChanged.Microsoft_NET_Workload_Emscripten_Current_Manifest-8_0_100_Transport --> - 8.0.0-rc.1.23402.3 + 8.0.0-rc.1.23409.6 $(MicrosoftNETWorkloadEmscriptenCurrentManifest80100TransportVersion) 1.1.87-gba258badda diff --git a/eng/common/loc/P22DotNetHtmlLocalization.lss b/eng/common/loc/P22DotNetHtmlLocalization.lss index 6661fed566e49..858a0b237c62c 100644 Binary files a/eng/common/loc/P22DotNetHtmlLocalization.lss and b/eng/common/loc/P22DotNetHtmlLocalization.lss differ diff --git a/eng/common/native/init-distro-rid.sh b/eng/common/native/init-distro-rid.sh new file mode 100644 index 0000000000000..aba9fe24028b0 --- /dev/null +++ b/eng/common/native/init-distro-rid.sh @@ -0,0 +1,132 @@ +#!/usr/bin/env bash + +# getNonPortableDistroRid +# +# Input: +# targetOs: (str) +# targetArch: (str) +# rootfsDir: (str) +# +# Return: +# non-portable rid +getNonPortableDistroRid() +{ + local targetOs="$1" + local targetArch="$2" + local rootfsDir="$3" + local nonPortableRid="" + + if [ "$targetOs" = "linux" ]; then + if [ -e "${rootfsDir}/etc/os-release" ]; then + source "${rootfsDir}/etc/os-release" + + if [[ "${ID}" == "rhel" || "${ID}" == "rocky" || "${ID}" == "alpine" ]]; then + # remove the last version digit + VERSION_ID="${VERSION_ID%.*}" + fi + + if [[ "${VERSION_ID:-}" =~ ^([[:digit:]]|\.)+$ ]]; then + nonPortableRid="${ID}.${VERSION_ID}-${targetArch}" + else + # Rolling release distros either do not set VERSION_ID, set it as blank or + # set it to non-version looking string (such as TEMPLATE_VERSION_ID on ArchLinux); + # so omit it here to be consistent with everything else. + nonPortableRid="${ID}-${targetArch}" + fi + + elif [ -e "${rootfsDir}/android_platform" ]; then + source "$rootfsDir"/android_platform + nonPortableRid="$RID" + fi + fi + + if [ "$targetOs" = "freebsd" ]; then + # $rootfsDir can be empty. freebsd-version is shell script and it should always work. + __freebsd_major_version=$($rootfsDir/bin/freebsd-version | { read v; echo "${v%%.*}"; }) + nonPortableRid="freebsd.$__freebsd_major_version-${targetArch}" + elif command -v getprop && getprop ro.product.system.model 2>&1 | grep -qi android; then + __android_sdk_version=$(getprop ro.build.version.sdk) + nonPortableRid="android.$__android_sdk_version-${targetArch}" + elif [ "$targetOs" = "illumos" ]; then + __uname_version=$(uname -v) + case "$__uname_version" in + omnios-*) + __omnios_major_version=$(echo "${__uname_version:8:2}") + nonPortableRid=omnios."$__omnios_major_version"-"$targetArch" + ;; + joyent_*) + __smartos_major_version=$(echo "${__uname_version:7:4}") + nonPortableRid=smartos."$__smartos_major_version"-"$targetArch" + ;; + illumos_*) + nonPortableRid=openindiana-"$targetArch" + ;; + esac + elif [ "$targetOs" = "solaris" ]; then + __uname_version=$(uname -v) + __solaris_major_version=$(echo "${__uname_version%.*}") + nonPortableRid=solaris."$__solaris_major_version"-"$targetArch" + elif [ "$targetOs" = "haiku" ]; then + __uname_release=$(uname -r) + nonPortableRid=haiku.r"$__uname_release"-"$targetArch" + fi + + echo "$(echo $nonPortableRid | tr '[:upper:]' '[:lower:]')" +} + +# initDistroRidGlobal +# +# Input: +# os: (str) +# arch: (str) +# isPortable: (int) +# rootfsDir?: (nullable:string) +# +# Return: +# None +# +# Notes: +# +# It is important to note that the function does not return anything, but it +# exports the following variables on success: +# +# __DistroRid : Non-portable rid of the target platform. +# __PortableTargetOS : OS-part of the portable rid that corresponds to the target platform. +# +initDistroRidGlobal() +{ + local targetOs="$1" + local targetArch="$2" + local isPortable="$3" + local rootfsDir="" + if [ "$#" -ge 4 ]; then + rootfsDir="$4" + fi + + if [ -n "${rootfsDir}" ]; then + # We may have a cross build. Check for the existence of the rootfsDir + if [ ! -e "${rootfsDir}" ]; then + echo "Error rootfsDir has been passed, but the location is not valid." + exit 1 + fi + fi + + __DistroRid=$(getNonPortableDistroRid "${targetOs}" "${targetArch}" "${rootfsDir}") + + if [ -z "${__PortableTargetOS:-}" ]; then + __PortableTargetOS="$targetOs" + + STRINGS="$(command -v strings || true)" + if [ -z "$STRINGS" ]; then + STRINGS="$(command -v llvm-strings || true)" + fi + + # Check for musl-based distros (e.g Alpine Linux, Void Linux). + if "${rootfsDir}/usr/bin/ldd" --version 2>&1 | grep -q musl || + ( [ -n "$STRINGS" ] && "$STRINGS" "${rootfsDir}/usr/bin/ldd" 2>&1 | grep -q musl ); then + __PortableTargetOS="linux-musl" + fi + fi + + export __DistroRid __PortableTargetOS +} diff --git a/eng/common/native/init-os-and-arch.sh b/eng/common/native/init-os-and-arch.sh new file mode 100644 index 0000000000000..e693617a6c2b6 --- /dev/null +++ b/eng/common/native/init-os-and-arch.sh @@ -0,0 +1,80 @@ +#!/usr/bin/env bash + +# Use uname to determine what the OS is. +OSName=$(uname -s | tr '[:upper:]' '[:lower:]') + +if command -v getprop && getprop ro.product.system.model 2>&1 | grep -qi android; then + OSName="android" +fi + +case "$OSName" in +freebsd|linux|netbsd|openbsd|sunos|android|haiku) + os="$OSName" ;; +darwin) + os=osx ;; +*) + echo "Unsupported OS $OSName detected!" + exit 1 ;; +esac + +# On Solaris, `uname -m` is discouraged, see https://docs.oracle.com/cd/E36784_01/html/E36870/uname-1.html +# and `uname -p` returns processor type (e.g. i386 on amd64). +# The appropriate tool to determine CPU is isainfo(1) https://docs.oracle.com/cd/E36784_01/html/E36870/isainfo-1.html. +if [ "$os" = "sunos" ]; then + if uname -o 2>&1 | grep -q illumos; then + os="illumos" + else + os="solaris" + fi + CPUName=$(isainfo -n) +else + # For the rest of the operating systems, use uname(1) to determine what the CPU is. + CPUName=$(uname -m) +fi + +case "$CPUName" in + arm64|aarch64) + arch=arm64 + ;; + + loongarch64) + arch=loongarch64 + ;; + + riscv64) + arch=riscv64 + ;; + + amd64|x86_64) + arch=x64 + ;; + + armv7l|armv8l) + if (NAME=""; . /etc/os-release; test "$NAME" = "Tizen"); then + arch=armel + else + arch=arm + fi + ;; + + armv6l) + arch=armv6 + ;; + + i[3-6]86) + echo "Unsupported CPU $CPUName detected, build might not succeed!" + arch=x86 + ;; + + s390x) + arch=s390x + ;; + + ppc64le) + arch=ppc64le + ;; + *) + echo "Unknown CPU $CPUName detected!" + exit 1 + ;; +esac diff --git a/eng/common/templates/steps/source-build.yml b/eng/common/templates/steps/source-build.yml index 1100521834a94..41bbb915736a6 100644 --- a/eng/common/templates/steps/source-build.yml +++ b/eng/common/templates/steps/source-build.yml @@ -118,3 +118,12 @@ steps: artifactName: BuildLogs_SourceBuild_${{ parameters.platform.name }}_Attempt$(System.JobAttempt) continueOnError: true condition: succeededOrFailed() + +# Manually inject component detection so that we can ignore the source build upstream cache, which contains +# a nupkg cache of input packages (a local feed). +# This path must match the upstream cache path in property 'CurrentRepoSourceBuiltNupkgCacheDir' +# in src\Microsoft.DotNet.Arcade.Sdk\tools\SourceBuild\SourceBuildArcade.targets +- task: ComponentGovernanceComponentDetection@0 + displayName: Component Detection (Exclude upstream cache) + inputs: + ignoreDirectories: '$(Build.SourcesDirectory)/artifacts/source-build/self/src/artifacts/obj/source-built-upstream-cache' diff --git a/global.json b/global.json index daa3917d5f285..1e8ca8ecb5683 100644 --- a/global.json +++ b/global.json @@ -1,18 +1,18 @@ { "sdk": { - "version": "8.0.100-preview.6.23330.14", + "version": "8.0.100-preview.7.23376.3", "allowPrerelease": true, "rollForward": "major" }, "tools": { - "dotnet": "8.0.100-preview.6.23330.14" + "dotnet": "8.0.100-preview.7.23376.3" }, "msbuild-sdks": { - "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.23402.2", - "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.23402.2", - "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.23402.2", + "Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.23409.5", + "Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.23409.5", + "Microsoft.DotNet.SharedFramework.Sdk": "8.0.0-beta.23409.5", "Microsoft.Build.NoTargets": "3.7.0", "Microsoft.Build.Traversal": "3.4.0", - "Microsoft.NET.Sdk.IL": "8.0.0-rc.1.23401.3" + "Microsoft.NET.Sdk.IL": "8.0.0-rc.1.23406.6" } } diff --git a/src/coreclr/tools/SuperFileCheck/SuperFileCheck.csproj b/src/coreclr/tools/SuperFileCheck/SuperFileCheck.csproj index b954034a29b22..a3cf4fe6be2fd 100644 --- a/src/coreclr/tools/SuperFileCheck/SuperFileCheck.csproj +++ b/src/coreclr/tools/SuperFileCheck/SuperFileCheck.csproj @@ -40,9 +40,19 @@ - - $(JITToolsVersion) - + + [$(JITToolsVersion)] + + + + + + + + diff --git a/src/libraries/System.Globalization.Calendars/tests/System/Globalization/CalendarTestBase.cs b/src/libraries/System.Globalization.Calendars/tests/System/Globalization/CalendarTestBase.cs index 563af14ef500e..061d07108e526 100644 --- a/src/libraries/System.Globalization.Calendars/tests/System/Globalization/CalendarTestBase.cs +++ b/src/libraries/System.Globalization.Calendars/tests/System/Globalization/CalendarTestBase.cs @@ -429,11 +429,8 @@ public void GetEra_Invalid_ThrowsArgumentOutOfRangeException() Calendar calendar = Calendar; Assert.All(DateTime_TestData(calendar), dt => { - // JapaneseCalendar throws on ICU, but not on NLS - if ((calendar is JapaneseCalendar && (PlatformDetection.IsNlsGlobalization || PlatformDetection.IsHybridGlobalizationOnOSX)) || - calendar is HebrewCalendar || - calendar is TaiwanLunisolarCalendar || - calendar is JapaneseLunisolarCalendar) + // JapaneseCalendar throws on ICU, but not on NLS or in HybridGlobalization on Browser + if ((calendar is JapaneseCalendar && (PlatformDetection.IsNlsGlobalization || PlatformDetection.IsHybridGlobalizationOnBrowser)) || calendar is HebrewCalendar || calendar is TaiwanLunisolarCalendar || calendar is JapaneseLunisolarCalendar) { calendar.GetEra(dt); }