Update to .NET SDK 7.0.100 and Runtime 7.0.0

This commit is contained in:
Omair Majid 2023-01-10 18:24:12 -05:00
parent 245126e9b7
commit d4a5e7b612
10 changed files with 47 additions and 499 deletions

1
.gitignore vendored
View File

@ -22,3 +22,4 @@
/dotnet-arm64-prebuilts-2022-10-12.tar.gz
/dotnet-ppc64le-prebuilts-2022-10-21.tar.gz
/dotnet-s390x-prebuilts-2022-10-12.tar.gz
/dotnet-v7.0.100.tar.gz

View File

@ -1,4 +1,4 @@
%bcond_without bootstrap
%bcond_with bootstrap
# LTO triggers a compilation error for a source level issue. Given that LTO should not
# change the validity of any given source and the nature of the error (undefined enum), I
@ -8,22 +8,21 @@
%global dotnetver 7.0
%global host_version 7.0.0-rc.2.22472.3
%global runtime_version 7.0.0-rc.2.22472.3
%global aspnetcore_runtime_version 7.0.0-rc.2.22476.2
%global sdk_version 7.0.100-rc.2.22511.1
%global host_version 7.0.0
%global runtime_version 7.0.0
%global aspnetcore_runtime_version %{runtime_version}
%global sdk_version 7.0.100
%global sdk_feature_band_version %(echo %{sdk_version} | cut -d '-' -f 1 | sed -e 's|[[:digit:]][[:digit:]]$|00|')
%global templates_version 7.0.0-rc.2.22476.2
%global templates_version %{runtime_version}
#%%global templates_version %%(echo %%{runtime_version} | awk 'BEGIN { FS="."; OFS="." } {print $1, $2, $3+1 }')
%global host_rpm_version 7.0.0
%global runtime_rpm_version 7.0.0
%global aspnetcore_runtime_rpm_version 7.0.0
%global sdk_rpm_version 7.0.100
%global host_rpm_version %{host_version}
%global runtime_rpm_version %{runtime_version}
%global aspnetcore_runtime_rpm_version %{aspnetcore_runtime_version}
%global sdk_rpm_version %{sdk_version}
# upstream can update releases without revving the SDK version so these don't always match
#%%global upstream_tag v%%{sdk_version}
%global upstream_tag v7.0.100-rc.2.22477.23
%global upstream_tag v%{sdk_version}
%if 0%{?fedora} || 0%{?rhel} < 8
%global use_bundled_libunwind 0
@ -54,7 +53,7 @@
Name: dotnet%{dotnetver}
Version: %{sdk_rpm_version}
Release: 0%{?dist}.1
Release: 1%{?dist}
Summary: .NET Runtime and SDK
License: 0BSD AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND APSL-2.0 AND BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause AND BSL-1.0 AND bzip2-1.0.6 AND CC0-1.0 AND CC-BY-3.0 AND CC-BY-4.0 AND CC-PDDC AND CNRI-Python AND EPL-1.0 AND GPL-2.0-only AND (GPL-2.0-only WITH GCC-exception-2.0) AND GPL-2.0-or-later AND GPL-3.0-only AND ICU AND ISC AND LGPL-2.1-only AND LGPL-2.1-or-later AND LicenseRef-Fedora-Public-Domain AND LicenseRef-ISO-8879 AND MIT AND MIT-Wu AND MS-PL AND MS-RL AND NCSA AND OFL-1.1 AND OpenSSL AND Unicode-DFS-2015 AND Unicode-DFS-2016 AND W3C-19980720 AND X11 AND Zlib
@ -79,29 +78,21 @@ Source0: dotnet-%{upstream_tag}.tar.gz
Source10: check-debug-symbols.py
Source11: dotnet.sh.in
# https://github.com/dotnet/runtime/pull/76916
Patch1: runtime-76916-mono-s390x-opcheckthis.patch
# https://github.com/microsoft/vstest/pull/4028
Patch2: vstest-4028-ppc64le.patch
# https://github.com/microsoft/vstest/pull/4066
Patch3: vstest-4066-s390x-ppc64le.patch
# https://github.com/dotnet/installer/pull/14631
Patch4: installer-14631-ppc64le.patch
# https://github.com/dotnet/installer/pull/14792
Patch5: installer-14792-mono.patch
Patch1: installer-14792-mono.patch
# https://github.com/dotnet/aspnetcore/pull/44583
Patch6: aspnetcore-44583-ppc64le-crossgen.patch
Patch2: aspnetcore-44583-ppc64le-crossgen.patch
# https://github.com/dotnet/runtime/pull/77269
Patch7: runtime-77269-mono-ppc64le-opcheckthis.patch
Patch3: runtime-77269-mono-ppc64le-opcheckthis.patch
# https://github.com/dotnet/runtime/pull/77270
Patch8: runtime-77270-ppc64le-fsharp-crash.patch
Patch4: runtime-77270-ppc64le-fsharp-crash.patch
# https://github.com/dotnet/runtime/pull/77308
Patch9: runtime-77308-ppc64le-delegate.patch
Patch5: runtime-77308-ppc64le-delegate.patch
# Disable apphost; there's no net6.0 apphost for ppc64le
Patch10: roslyn-analyzers-ppc64le-apphost.patch
Patch6: roslyn-analyzers-ppc64le-apphost.patch
# Fix ppc64le build with clang 15
# TODO upstream this
Patch11: runtime-mono-ppc64le-clang15.patch
Patch7: runtime-mono-ppc64le-clang15.patch
%if 0%{?fedora} || 0%{?rhel} >= 8
@ -648,6 +639,9 @@ export COMPlus_LTTng=0
%changelog
* Tue Jan 10 2022 Omair Majid <omajid@redhat.com> - 7.0.100-1
- Update to .NET SDK 7.0.100 and Runtime 7.0.0
* Thu Nov 10 2022 Omair Majid <omajid@redhat.com> - 7.0.100-0.1
- Update to .NET 7 RC 2

View File

@ -1,98 +0,0 @@
From 564e481e39511d214d0d26dd902022decd0d93ea Mon Sep 17 00:00:00 2001
From: Swapnali911 <Swapnali.Pawar1@ibm.com>
Date: Fri, 30 Sep 2022 05:07:55 -0400
Subject: [PATCH] Adding ppc64le arch for source build
---
Directory.Build.props | 1 +
src/SourceBuild/tarball/content/Directory.Build.props | 1 +
src/redist/targets/Crossgen.targets | 4 ++--
src/redist/targets/GenerateBundledVersions.targets | 9 ++++++---
4 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/Directory.Build.props b/Directory.Build.props
index 61cc6ff6746..860785575f7 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -19,6 +19,7 @@
<BuildArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())</BuildArchitecture>
<Platform Condition="'$(Platform)' == '' AND '$(BuildArchitecture)' == 'arm64'">$(BuildArchitecture)</Platform>
<Platform Condition="'$(Platform)' == '' AND '$(BuildArchitecture)' == 's390x'">$(BuildArchitecture)</Platform>
+ <Platform Condition="'$(Platform)' == '' AND '$(BuildArchitecture)' == 'ppc64le'">$(BuildArchitecture)</Platform>
<Platform Condition="'$(Platform)' == ''">x64</Platform>
<UseStableVersions Condition="'$(UseStableVersions)' == ''">false</UseStableVersions>
diff --git a/src/installer/Directory.Build.props b/src/installer/Directory.Build.props
index 15c9d27b734..b87eeccca0d 100644
--- a/src/installer/Directory.Build.props
+++ b/src/installer/Directory.Build.props
@@ -11,6 +11,7 @@
<BuildArchitecture>$([System.Runtime.InteropServices.RuntimeInformation]::ProcessArchitecture.ToString().ToLowerInvariant())</BuildArchitecture>
<Architecture Condition="'$(Architecture)' == '' AND '$(BuildArchitecture)' == 'arm64'">$(BuildArchitecture)</Architecture>
<Architecture Condition="'$(Architecture)' == '' AND '$(BuildArchitecture)' == 's390x'">$(BuildArchitecture)</Architecture>
+ <Architecture Condition="'$(Architecture)' == '' AND '$(BuildArchitecture)' == 'ppc64le'">$(BuildArchitecture)</Architecture>
<Architecture Condition="'$(Architecture)' == ''">x64</Architecture>
</PropertyGroup>
<PropertyGroup Condition="'$(PgoInstrument)' == 'true'">
diff --git a/src/installer/src/redist/targets/Crossgen.targets b/src/installer/src/redist/targets/Crossgen.targets
index c7a7642e4eb..da7d186a152 100644
--- a/src/installer/src/redist/targets/Crossgen.targets
+++ b/src/installer/src/redist/targets/Crossgen.targets
@@ -1,7 +1,7 @@
<Project>
- <!-- Crossgen is currently not supported on the s390x architecture. -->
+ <!-- Crossgen is currently not supported on the s390x, ppc64le architecture as using mono instead of CoreCLR. -->
<Target Name="CrossgenLayout"
- Condition="'$(DISABLE_CROSSGEN)' == '' AND '$(Architecture)' != 's390x'"
+ Condition="'$(DISABLE_CROSSGEN)' == '' AND '$(Architecture)' != 's390x' AND '$(Architecture)' != 'ppc64le'"
DependsOnTargets="SetSdkBrandingInfo">
<PropertyGroup>
diff --git a/src/installer/src/redist/targets/GenerateBundledVersions.targets b/src/installer/src/redist/targets/GenerateBundledVersions.targets
index d1bee676355..58d1abfa720 100644
--- a/src/installer/src/redist/targets/GenerateBundledVersions.targets
+++ b/src/installer/src/redist/targets/GenerateBundledVersions.targets
@@ -168,6 +168,7 @@
linux-bionic-arm64;
linux-bionic-x64;
linux-bionic-x86;
+ linux-ppc64le;
"/>
<Net70RuntimePackRids Include="
@@ -176,6 +177,7 @@
linux-bionic-arm64;
linux-bionic-x64;
linux-bionic-x86;
+ linux-ppc64le;
" />
<NetCoreAppHostRids Include="
@@ -254,7 +256,8 @@
<AspNetCore31RuntimePackRids Include="@(AspNetCore30RuntimePackRids)" />
<AspNetCore50RuntimePackRids Include="@(AspNetCore31RuntimePackRids);linux-musl-arm;win-arm64" />
- <AspNetCoreRuntimePackRids Include="@(AspNetCore50RuntimePackRids);osx-arm64;linux-s390x" />
+ <AspNetCore60RuntimePackRids Include="@(AspNetCore50RuntimePackRids);osx-arm64;linux-s390x" />
+ <AspNetCore70RuntimePackRids Include="@(AspNetCore60RuntimePackRids);linux-ppc64le" />
<WindowsDesktop30RuntimePackRids Include="win-x64;win-x86" />
<WindowsDesktop31RuntimePackRids Include="@(WindowsDesktop30RuntimePackRids)" />
@@ -444,7 +447,7 @@ Copyright (c) .NET Foundation. All rights reserved.
TargetingPackName="Microsoft.AspNetCore.App.Ref"
TargetingPackVersion="$(MicrosoftAspNetCoreAppRefPackageVersion)"
RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**"
- RuntimePackRuntimeIdentifiers="@(AspNetCoreRuntimePackRids, '%3B')"
+ RuntimePackRuntimeIdentifiers="@(AspNetCore70RuntimePackRids, '%3B')"
RuntimePackExcludedRuntimeIdentifiers="android"
/>
@@ -569,7 +572,7 @@ Copyright (c) .NET Foundation. All rights reserved.
TargetingPackName="Microsoft.AspNetCore.App.Ref"
TargetingPackVersion="$(_AspNet60TargetingPackVersion)"
RuntimePackNamePatterns="Microsoft.AspNetCore.App.Runtime.**RID**"
- RuntimePackRuntimeIdentifiers="@(AspNetCoreRuntimePackRids, '%3B')"
+ RuntimePackRuntimeIdentifiers="@(AspNetCore60RuntimePackRids, '%3B')"
/>
<KnownFrameworkReference Include="Microsoft.Windows.SDK.NET.Ref"

View File

@ -102,9 +102,9 @@ index c197d8afd..55c1c1d22 100644
--- a/src/runtime/eng/SourceBuild.props
+++ b/src/runtime/eng/SourceBuild.props
@@ -41,6 +41,7 @@
<InnerBuildArgs>$(InnerBuildArgs) /p:BuildDebPackage=false</InnerBuildArgs>
<InnerBuildArgs>$(InnerBuildArgs) /p:EnableNgenOptimization=false</InnerBuildArgs>
<InnerBuildArgs>$(InnerBuildArgs) /p:EnablePackageValidation=false</InnerBuildArgs>
<InnerBuildArgs>$(InnerBuildArgs) /p:DisableSourceLink=false</InnerBuildArgs>
+ <InnerBuildArgs Condition="'$(SourceBuildUseMonoRuntime)' == 'true'">$(InnerBuildArgs) /p:PrimaryRuntimeFlavor=Mono /p:RuntimeFlavor=Mono</InnerBuildArgs>
</PropertyGroup>
</Target>
@ -138,8 +138,8 @@ index a347c736df5..426cb6aa96d 100644
--- a/src/sdk/src/Tasks/Common/Resources/Strings.resx
+++ b/src/sdk/src/Tasks/Common/Resources/Strings.resx
@@ -875,4 +875,8 @@ You may need to build the project on another operating system or architecture, o
<value>NETSDK1191: A runtime identifier for the property '{0}' couldn't be inferred. Specify a rid explicitly.</value>
<comment>{StrBegin="NETSDK1191: "}</comment>
<value>NETSDK1192: Targeting .NET 7.0 or higher in Visual Studio 2022 17.3 is not supported.</value>
<comment>{StrBegin="NETSDK1192: "}</comment>
</data>
+ <data name="AotNotSupported" xml:space="preserve">
+ <value>NETSDK1193: The SDK does not support Ahead of time compilation. Set the PublishAot property to false.</value>

View File

@ -2,6 +2,12 @@
# Usage:
# ./rename-tarball original-name.tar.gz new-name.tar.gz
#
# The generated new-name.tar.gz will always have a single main
# directory (named new-name to match the tarball name) in the archive.
# If the original tarball had multiple files in the main directory of
# the archive, all those files will be moved to under the new main
# directory.
set -euo pipefail
IFS=$'\n\t'
@ -41,11 +47,21 @@ new_name=${new_name/.tar.gz}
echo "Original: ${original_name}.tar.gz"
echo "New name: ${new_name}.tar.gz"
rm -rf "temp-${new_name}"
mkdir "temp-${new_name}"
pushd "temp-${new_name}"
pushd "temp-${new_name}" > /dev/null
tar xf "${original_path}"
mv -- * "${new_name}"
tar czf ../"${new_name}.tar.gz" "${new_name}"
# `find` always shows the current directory as one of the entries in
# the output. A total of 2 entries means there is only one main
# directory in the extracted archive, and we can just move it to the
# expected location.
if [[ $(find . -maxdepth 1 | wc -l) == 2 ]]; then
mv -- ./* ../"${new_name}"
else
mkdir -p ../"${new_name}"
mv -- ./* ../"${new_name}"
fi
popd > /dev/null
tar czf "${new_name}.tar.gz" "${new_name}"
rm -rf "${new_name}"
popd
rmdir "temp-${new_name}"

View File

@ -1,8 +1,5 @@
---
inspections:
# We ship an empty dotnet package that installs the latest SDK, but
# also a newer SDK when we have that
emptyrpm: off
# We patch upstream a lot, no need to reject patches
patches: off
badfuncs:

View File

@ -1,28 +0,0 @@
From 7b46eae144e3a6a430155e824fc33e3f38fab427 Mon Sep 17 00:00:00 2001
From: Ulrich Weigand <ulrich.weigand@de.ibm.com>
Date: Wed, 12 Oct 2022 09:53:09 +0200
Subject: [PATCH] [mono][s390x] Fix wrong implementation of OP_CHECK_THIS
* Only access a single byte in memory for OP_CHECK_THIS
* Remove unnecessary ltgr instruction
* Fixes https://github.com/dotnet/runtime/issues/76915
---
src/mono/mono/mini/mini-s390x.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/runtime/src/mono/mono/mini/mini-s390x.c b/src/runtime/src/mono/mono/mini/mini-s390x.c
index 7c7a936ed9701..26e6ba1d32a3b 100644
--- a/src/runtime/src/mono/mono/mini/mini-s390x.c
+++ b/src/runtime/src/mono/mono/mini/mini-s390x.c
@@ -3594,8 +3594,7 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
break;
case OP_CHECK_THIS: {
/* ensure ins->sreg1 is not NULL */
- s390_lg (code, s390_r0, 0, ins->sreg1, 0);
- s390_ltgr (code, s390_r0, s390_r0);
+ s390_llgc (code, s390_r0, 0, ins->sreg1, 0);
}
break;
case OP_ARGLIST: {

View File

@ -1,4 +1 @@
SHA512 (dotnet-v7.0.100-rc.2.22477.23-x64-bootstrap.tar.xz) = 36edac79cd36fc62dc0c39875c8c9dcd6e1f7fd96f4abdcea29dcdead6773b252c60aebbfb4f9baf6e05abffdc088a1fd3d73c48fa03b8e1f156996cd19f4c2e
SHA512 (dotnet-arm64-prebuilts-2022-10-12.tar.gz) = 00f2202d7e2831f4f5da9fa02238b35d5ad340efd8ecd7c8d5c69206236f3de374772275c629de0f16ded93b2368e4b357927173ff7046cef145a966ea6e5c0d
SHA512 (dotnet-ppc64le-prebuilts-2022-10-21.tar.gz) = cc4c91a43cd6abedf3acc548e9ea4b6917e6afdfe2e43d595166ce78e3efb9c05345c45f10e4f4909d6383e6f8f2e825b260ec643991eaf04a469b55b9782066
SHA512 (dotnet-s390x-prebuilts-2022-10-12.tar.gz) = e19a989cafcf7e9a7be3381202653e9f9b9954b81ff2babcef494b5d06b8babf1996b74bd1f08dee90c6feffcf5130becbf7bfb59457d5b6926a6cf5d0e4a504
SHA512 (dotnet-v7.0.100.tar.gz) = 48cc5141c5c41b65bb0ae8b43a8f86b5213b24dcc0b968d6fac71bf2450b1d00abf61ec2869deb4f54d072c403b84091ba5e6f573ea75ef04bbf23b01545a30f

View File

@ -1,294 +0,0 @@
From 96591cb1ac589021b9f31854a13f8fe3dd565f25 Mon Sep 17 00:00:00 2001
From: Sapana Khemkar <Sapana.Khemkar@ibm.com>
Date: Tue, 27 Sep 2022 13:08:43 +0530
Subject: [PATCH 1/4] add support for ppc64le processor architecture
---
src/Microsoft.TestPlatform.ObjectModel/Architecture.cs | 3 ++-
.../Interfaces/System/PlatformArchitecture.cs | 1 +
.../netcore/System/PlatformEnvironment.cs | 1 +
.../netcore/System/ProcessHelper.cs | 1 +
.../Hosting/DefaultTestHostManager.cs | 1 +
src/vstest.console/TestPlatformHelpers/TestRequestManager.cs | 2 ++
.../Processors/PlatformArgumentProcessorTests.cs | 4 ++--
7 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs b/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs
index 6c9b9bcde5..7879358840 100644
--- a/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs
@@ -11,5 +11,6 @@ public enum Architecture
ARM,
AnyCPU,
ARM64,
- S390x
+ S390x,
+ PPC64le
}
diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs
index b1d477c7d3..aa81ca0ffc 100644
--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs
@@ -13,4 +13,5 @@ public enum PlatformArchitecture
ARM,
ARM64,
S390x,
+ PPC64le,
}
diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs
index 10d4a61570..14d1234ef6 100644
--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs
@@ -28,6 +28,7 @@ public PlatformArchitecture Architecture
// preview 6 or later, so use the numerical value for now.
// case System.Runtime.InteropServices.Architecture.S390x:
(Architecture)5 => PlatformArchitecture.S390x,
+ (Architecture)6 => PlatformArchitecture.PPC64le,
_ => throw new NotSupportedException(),
};
}
diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs
index 6cf4b0f91b..d1e31bb0f6 100644
--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs
@@ -41,6 +41,7 @@ public PlatformArchitecture GetCurrentProcessArchitecture()
// preview 6 or later, so use the numerical value for now.
// case System.Runtime.InteropServices.Architecture.S390x:
(Architecture)5 => PlatformArchitecture.S390x,
+ (Architecture)6 => PlatformArchitecture.PPC64le,
_ => throw new NotSupportedException(),
};
}
diff --git a/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs b/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs
index 2eca302b43..54fa36e344 100644
--- a/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs
@@ -274,6 +274,7 @@ private static string GetTestHostName(Architecture architecture, Framework targe
PlatformArchitecture.ARM => Architecture.ARM,
PlatformArchitecture.ARM64 => Architecture.ARM64,
PlatformArchitecture.S390x => Architecture.S390x,
+ PlatformArchitecture.PPC64le => Architecture.PPC64le,
_ => throw new NotSupportedException(),
};
diff --git a/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs b/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs
index 642e36bb9e..c7a0f93927 100644
--- a/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs
+++ b/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs
@@ -841,6 +841,8 @@ static Architecture TranslateToArchitecture(PlatformArchitecture targetArchitect
return Architecture.ARM64;
case PlatformArchitecture.S390x:
return Architecture.S390x;
+ case PlatformArchitecture.PPC64le:
+ return Architecture.PPC64le;
default:
EqtTrace.Error($"TestRequestManager.TranslateToArchitecture: Unhandled architecture '{targetArchitecture}'.");
break;
diff --git a/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs b/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs
index 207e4590fd..472688248d 100644
--- a/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs
+++ b/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs
@@ -85,7 +85,7 @@ public void InitializeShouldThrowIfArgumentIsNotAnArchitecture()
{
ExceptionUtilities.ThrowsException<CommandLineException>(
() => _executor.Initialize("foo"),
- "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x.",
+ "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, PPC64le.",
"foo");
}
@@ -94,7 +94,7 @@ public void InitializeShouldThrowIfArgumentIsNotASupportedArchitecture()
{
ExceptionUtilities.ThrowsException<CommandLineException>(
() => _executor.Initialize("AnyCPU"),
- "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x.",
+ "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, PPC64le.",
"AnyCPU");
}
From 750b193e964a446dad5fc5927b745861eb19a9a9 Mon Sep 17 00:00:00 2001
From: Sapana Khemkar <Sapana.Khemkar@ibm.com>
Date: Wed, 28 Sep 2022 11:06:08 +0530
Subject: [PATCH 2/4] change enum name from PPC64le to Ppc64le to match with
System.Runtime.InteropServices.Architecture enum name
---
src/Microsoft.TestPlatform.ObjectModel/Architecture.cs | 2 +-
.../Interfaces/System/PlatformArchitecture.cs | 2 +-
.../netcore/System/PlatformEnvironment.cs | 2 +-
.../netcore/System/ProcessHelper.cs | 2 +-
.../Hosting/DefaultTestHostManager.cs | 2 +-
src/vstest.console/TestPlatformHelpers/TestRequestManager.cs | 4 ++--
.../Processors/PlatformArgumentProcessorTests.cs | 4 ++--
7 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs b/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs
index 7879358840..f3d59e7ae4 100644
--- a/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.ObjectModel/Architecture.cs
@@ -12,5 +12,5 @@ public enum Architecture
AnyCPU,
ARM64,
S390x,
- PPC64le
+ Ppc64le
}
diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs
index aa81ca0ffc..907ec721dd 100644
--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/Interfaces/System/PlatformArchitecture.cs
@@ -13,5 +13,5 @@ public enum PlatformArchitecture
ARM,
ARM64,
S390x,
- PPC64le,
+ Ppc64le,
}
diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs
index 14d1234ef6..f2163db898 100644
--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/PlatformEnvironment.cs
@@ -28,7 +28,7 @@ public PlatformArchitecture Architecture
// preview 6 or later, so use the numerical value for now.
// case System.Runtime.InteropServices.Architecture.S390x:
(Architecture)5 => PlatformArchitecture.S390x,
- (Architecture)6 => PlatformArchitecture.PPC64le,
+ (Architecture)8 => PlatformArchitecture.Ppc64le,
_ => throw new NotSupportedException(),
};
}
diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs
index d1e31bb0f6..d2d048e355 100644
--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/netcore/System/ProcessHelper.cs
@@ -41,7 +41,7 @@ public PlatformArchitecture GetCurrentProcessArchitecture()
// preview 6 or later, so use the numerical value for now.
// case System.Runtime.InteropServices.Architecture.S390x:
(Architecture)5 => PlatformArchitecture.S390x,
- (Architecture)6 => PlatformArchitecture.PPC64le,
+ (Architecture)8 => PlatformArchitecture.Ppc64le,
_ => throw new NotSupportedException(),
};
}
diff --git a/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs b/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs
index 54fa36e344..02001d23ab 100644
--- a/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DefaultTestHostManager.cs
@@ -274,7 +274,7 @@ private static string GetTestHostName(Architecture architecture, Framework targe
PlatformArchitecture.ARM => Architecture.ARM,
PlatformArchitecture.ARM64 => Architecture.ARM64,
PlatformArchitecture.S390x => Architecture.S390x,
- PlatformArchitecture.PPC64le => Architecture.PPC64le,
+ PlatformArchitecture.Ppc64le => Architecture.Ppc64le,
_ => throw new NotSupportedException(),
};
diff --git a/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs b/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs
index c7a0f93927..25cca0ca07 100644
--- a/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs
+++ b/src/vstest/src/vstest.console/TestPlatformHelpers/TestRequestManager.cs
@@ -841,8 +841,8 @@ static Architecture TranslateToArchitecture(PlatformArchitecture targetArchitect
return Architecture.ARM64;
case PlatformArchitecture.S390x:
return Architecture.S390x;
- case PlatformArchitecture.PPC64le:
- return Architecture.PPC64le;
+ case PlatformArchitecture.Ppc64le:
+ return Architecture.Ppc64le;
default:
EqtTrace.Error($"TestRequestManager.TranslateToArchitecture: Unhandled architecture '{targetArchitecture}'.");
break;
diff --git a/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs b/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs
index 472688248d..f33166ae6c 100644
--- a/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs
+++ b/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs
@@ -85,7 +85,7 @@ public void InitializeShouldThrowIfArgumentIsNotAnArchitecture()
{
ExceptionUtilities.ThrowsException<CommandLineException>(
() => _executor.Initialize("foo"),
- "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, PPC64le.",
+ "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, ppc64le.",
"foo");
}
@@ -94,7 +94,7 @@ public void InitializeShouldThrowIfArgumentIsNotASupportedArchitecture()
{
ExceptionUtilities.ThrowsException<CommandLineException>(
() => _executor.Initialize("AnyCPU"),
- "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, PPC64le.",
+ "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, ppc64le.",
"AnyCPU");
}
From 4d97db82c39caf0aa6ca7bd3f47f1c3714aa6f2c Mon Sep 17 00:00:00 2001
From: Sapana Khemkar <Sapana.Khemkar@ibm.com>
Date: Wed, 28 Sep 2022 17:58:27 +0530
Subject: [PATCH 3/4] add defination of enum
Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.Ppc64le
and Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.Ppc64le in
Microsoft.TestPlatform.ObjectModel and
/Microsoft.TestPlatform.PlatformAbstractions PublicAPI.Shipped.txt file.
---
.../PublicAPI/PublicAPI.Shipped.txt | 1 +
.../PublicAPI/PublicAPI.Shipped.txt | 1 +
2 files changed, 2 insertions(+)
diff --git a/src/vstest/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt b/src/vstest/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt
index 9df7e09b00..5d69e70774 100644
--- a/src/vstest/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt
+++ b/src/vstest/src/Microsoft.TestPlatform.ObjectModel/PublicAPI/PublicAPI.Shipped.txt
@@ -113,6 +113,7 @@ Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.ARM = 3 -> Microsof
Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.ARM64 = 5 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture
Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.Default = 0 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture
Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.S390x = 6 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture
+Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.Ppc64le = 7 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture
Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.X64 = 2 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture
Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture.X86 = 1 -> Microsoft.VisualStudio.TestPlatform.ObjectModel.Architecture
Microsoft.VisualStudio.TestPlatform.ObjectModel.AttachmentSet
diff --git a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/PublicAPI.Shipped.txt b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/PublicAPI.Shipped.txt
index 696ed76517..8f0f763f94 100644
--- a/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/PublicAPI.Shipped.txt
+++ b/src/vstest/src/Microsoft.TestPlatform.PlatformAbstractions/PublicAPI/PublicAPI.Shipped.txt
@@ -67,6 +67,7 @@ Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture
Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.ARM = 2 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture
Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.ARM64 = 3 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture
Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.S390x = 4 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture
+Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.Ppc64le = 5 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture
Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.X64 = 1 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture
Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture.X86 = 0 -> Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformArchitecture
Microsoft.VisualStudio.TestPlatform.PlatformAbstractions.PlatformAssemblyExtensions
From 389b923569be952cfa6875af209e70d9490bfd73 Mon Sep 17 00:00:00 2001
From: Sapana Khemkar <Sapana.Khemkar@ibm.com>
Date: Wed, 28 Sep 2022 19:45:55 +0530
Subject: [PATCH 4/4] corrected typo in ppc64le arch name
---
.../Processors/PlatformArgumentProcessorTests.cs | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs b/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs
index f33166ae6c..b452b48408 100644
--- a/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs
+++ b/src/vstest/test/vstest.console.UnitTests/Processors/PlatformArgumentProcessorTests.cs
@@ -85,7 +85,7 @@ public void InitializeShouldThrowIfArgumentIsNotAnArchitecture()
{
ExceptionUtilities.ThrowsException<CommandLineException>(
() => _executor.Initialize("foo"),
- "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, ppc64le.",
+ "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, Ppc64le.",
"foo");
}
@@ -94,7 +94,7 @@ public void InitializeShouldThrowIfArgumentIsNotASupportedArchitecture()
{
ExceptionUtilities.ThrowsException<CommandLineException>(
() => _executor.Initialize("AnyCPU"),
- "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, ppc64le.",
+ "Invalid platform type: {0}. Valid platform types are X86, X64, ARM, ARM64, S390x, Ppc64le.",
"AnyCPU");
}

View File

@ -1,37 +0,0 @@
From 7ea33be2e1949d9c63ff58b59deb5b1a84105aae Mon Sep 17 00:00:00 2001
From: Giridhar Trivedi <giridhar.trivedi@ibm.com>
Date: Wed, 12 Oct 2022 14:14:40 +0200
Subject: [PATCH] Fix Invalid target architecture 'S390x' error
In commit 3ae5c4aef823 ("Add support for s390x processor architecture")
support for S390x architecture was provided for .NET6. This is broken
in .NET7. Add missing case statements to fix this for S390x and also
Power architectures.
---
.../Hosting/DotnetTestHostManager.cs | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs b/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs
index b4fa53776f..deadfcb684 100644
--- a/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs
+++ b/src/vstest/src/Microsoft.TestPlatform.TestHostProvider/Hosting/DotnetTestHostManager.cs
@@ -536,6 +536,10 @@ PlatformArchitecture TranslateToPlatformArchitecture(Architecture targetArchitec
return PlatformArchitecture.ARM;
case Architecture.ARM64:
return PlatformArchitecture.ARM64;
+ case Architecture.S390x:
+ return PlatformArchitecture.S390x;
+ case Architecture.Ppc64le:
+ return PlatformArchitecture.Ppc64le;
case Architecture.AnyCPU:
case Architecture.Default:
default:
@@ -552,6 +556,8 @@ static bool IsSameArchitecture(Architecture targetArchitecture, PlatformArchitec
Architecture.X64 => platformAchitecture == PlatformArchitecture.X64,
Architecture.ARM => platformAchitecture == PlatformArchitecture.ARM,
Architecture.ARM64 => platformAchitecture == PlatformArchitecture.ARM64,
+ Architecture.S390x => platformAchitecture == PlatformArchitecture.S390x,
+ Architecture.Ppc64le => platformAchitecture == PlatformArchitecture.Ppc64le,
_ => throw new TestPlatformException($"Invalid target architecture '{targetArchitecture}'"),
};