-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[release/6.0-maui] Exclude the managed code around libproc on iOS/tvOS #62235
[release/6.0-maui] Exclude the managed code around libproc on iOS/tvOS #62235
Conversation
Since libproc is a private Apple API, it is not available on iOS/tvOS and should be excluded (see dotnet#61265 (comment) and above for more details). This PR excludes $(CommonPath)Interop\OSX\Interop.libproc.cs on the iOS/tvOS as well as makes some methods in Process, ProcessManager, and ProcessThread classes calling that API throw PNSE so that for iOS/tvOS it's possible to re-use the respective *.UnknownUnix.cs parts.
This is a follow up PR for dotnet#61590. It includes: - additional UnsupportedOSPlatform annotations for some System.Diagnostics.Process APIs throwing PNSE on iOS/tvOS (they started doing so after excluding some managed logic around librpoc ) - fixing a bit ugly workaround for CS0649 (see https://github.com/dotnet/runtime/pull/61590/files#r749525127) - used a local pragma in the ThreadInfo class. - skipping the respective S.D.P. tests ( it will address [iOS/tvOS] System.Diagnostics.Tests.ProcessTests.TestGetProcesses fails on devices dotnet#60588 as well)
…stenerTests on iOS/tvOS (dotnet#61807) This marks System.Diagnostics.TextWriterTraceListenerTests.XmlWriterTraceListenerTests withSkipOnPlatform attribute for iOS/tvOS as those tests try to create a process info, which throws PNSE after S.D.Process API's around libproc have been excluded in dotnet#61590.
A few tests popped up as failures on the rolling build due to parts of System.Diagnostics.Process throwing PNSE. Disabled the functional tests from running on arm64 as mlaunch can't detect the return code.
…agnostics.Process (dotnet#61871)
Note regarding the This serves as a reminder for when your PR is modifying a ref *.cs file and adding/modifying public APIs, to please make sure the API implementation in the src *.cs file is documented with triple slash comments, so the PR reviewers can sign off that change. |
Tagging subscribers to this area: @dotnet/area-system-diagnostics-process Issue DetailsBackport of #61590, #61670, #61807, #61826, and #61871 to Customer ImpactA handful of System.Diagnostics.Process API's use libproc when targeting iOS & tvOS. This is a private API and will result in Apple rejecting apps that use it from publishing to the App Store. We will PNSE and add TestingManual testing RiskLow.
|
/azp run runtime-manual |
Azure Pipelines could not run because the pipeline triggers exclude this branch/path. |
Backport of #61590, #61670, #61807, #61826, and #61871 to
release/6.0-maui
./cc @MaximLipnin @steveisok
Customer Impact
A handful of System.Diagnostics.Process API's use libproc when targeting iOS & tvOS. This is a private API and will result in Apple rejecting apps that use it from publishing to the App Store.
We will PNSE and add
UnsupportedOSPlatform
to the API's that try to access the private API's and disable related tests.Testing
Manual testing
Risk
Low.