Skip to content

[tests] Stand up iOS arm runtime tests and enable tracing/eventpipe tests#79169

Merged
kotlarmilos merged 170 commits into
dotnet:mainfrom
mdh1418:ios_investigate_eventpipe_failures
Apr 18, 2023
Merged

[tests] Stand up iOS arm runtime tests and enable tracing/eventpipe tests#79169
kotlarmilos merged 170 commits into
dotnet:mainfrom
mdh1418:ios_investigate_eventpipe_failures

Conversation

@mdh1418

@mdh1418 mdh1418 commented Dec 2, 2022

Copy link
Copy Markdown
Member

Fixes #74891

On iOS, runtime tests were previously only stood up on x64 (Simulator) in #43954.
This PR looks to extend the runtime testing coverage to iOS devices and arm simulators by doing the following:

  • Provide AOT'd assemblies to the AppleAppBuilder in the runtime build flow following the conventions of library tests (previously no assemblies were provided to the AppleAppBuilder)
  • Default RunAOTCompilation and MonoForceInterpreter properties in the runtime build flow for iOS
  • Enable diagnostics_tracing for iOS runtime tests
  • Reenable runtime tracing/eventpipe tests on iOS not involving subprocesses
  • Tweak ProcessInfo and ProcessInfo2 tests to pass on iOS
  • Skip IpcTraceTest.EnsureCleanEnvironment as ProcessManager.GetProcessInfos is not supported on iOS
  • Align AppleAppBuilder parameter order with the order of definition in the task

Fixes: #81233

@ghost

ghost commented Dec 2, 2022

Copy link
Copy Markdown

Tagging subscribers to this area: @directhex
See info in area-owners.md if you want to be subscribed.

Issue Details

Fixes #74891

On iOS, runtime tests were previously only stood up on x64 (Simulator) in #43954.
This PR looks to extend the runtime testing coverage to iOS devices and arm simulators by doing the following:

  • Provide AOT'd assemblies to the AppleAppBuilder in the runtime build flow following the conventions of library tests (previously no assemblies were provided to the AppleAppBuilder)
  • Default RunAOTCompilation and MonoForceInterpreter properties in the runtime build flow for iOS
  • Enable diagnostics_tracing for iOS runtime tests
  • Reenable runtime tracing/eventpipe tests on iOS not involving subprocesses
  • Tweak ProcessInfo and ProcessInfo2 tests to pass on iOS
  • Skip IpcTraceTest.EnsureCleanEnvironment as ProcessManager.GetProcessInfos is not supported on iOS
  • Align AppleAppBuilder parameter order with the order of definition in the task
Author: mdh1418
Assignees: -
Labels:

area-Infrastructure-mono, runtime-mono

Milestone: -

@ghost ghost assigned mdh1418 Dec 2, 2022
Comment thread src/tests/build.proj Outdated

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a little confused here; what happens if we are running iOSSimulator and both RunAOTCompilation and MonoForceInterpreter are true? Does this change how iOSSimulator tests are run?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For iOSlike devices and arm based simulators, AOT is needed for the tests to build. (At least that was the case for library tests, which motivated this PR #76551) When setting RunAOTCompilation and MonoForceInterpreter to true, what will happen is AOT will be ran, and if anything goes wrong, interp will be the fallback instead of JIT (which is important because JIT does not work on iOSlike platforms).
I believe the RunAOTCompilation is necessary here for arm architectures, but we can exclude x64 if thats preferred.

@mdh1418

mdh1418 commented Dec 16, 2022

Copy link
Copy Markdown
Member Author

/azp run runtime-ioslike,runtime-ioslikesimulator

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

@mdh1418

mdh1418 commented Dec 19, 2022

Copy link
Copy Markdown
Member Author

/azp run runtime-ioslike,runtime-ioslikesimulator

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

@mdh1418

mdh1418 commented Dec 19, 2022

Copy link
Copy Markdown
Member Author

/azp run runtime-ioslike,runtime-ioslikesimulator

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

Comment thread eng/pipelines/extra-platforms/runtime-extra-platforms-ioslike.yml Outdated
@naricc

naricc commented Dec 19, 2022

Copy link
Copy Markdown
Contributor

/azp run runtime-ioslike,runtime-ioslikesimulator

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

@naricc

naricc commented Dec 20, 2022

Copy link
Copy Markdown
Contributor

/azp run runtime-ioslike

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@naricc

naricc commented Jan 6, 2023

Copy link
Copy Markdown
Contributor

/azp run runtime-ioslike,runtime-ioslikesimulator

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines failed to run 2 pipeline(s).

@naricc naricc requested a review from vargaz as a code owner January 6, 2023 20:53
@kotlarmilos

Copy link
Copy Markdown
Member

/azp run runtime-ioslike,runtime-ioslikesimulator

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

@kotlarmilos

Copy link
Copy Markdown
Member

The failure shouldn't be related. It has been tracked in dotnet/arcade#11683.

@mdh1418 mdh1418 left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a bunch of nits and Jeremy's suggestion for the test grouping, but looks good overall to me!

Would approve, but the approve button is greyed out for me because I was the original PR author

Comment thread src/tests/issues.targets Outdated
Comment thread eng/pipelines/libraries/helix-queues-setup.yml Outdated
Comment thread src/tests/Common/Coreclr.TestWrapper/MobileAppHandler.cs Outdated
Comment thread src/tests/Common/helixpublishwitharcade.proj Outdated
Comment thread src/tests/Common/helixpublishwitharcade.proj Outdated
Comment thread src/tests/issues.targets Outdated
Comment thread src/tests/issues.targets Outdated
Comment thread src/tests/issues.targets Outdated
Comment thread src/tests/issues.targets Outdated
Comment thread src/tests/issues.targets Outdated
Comment thread eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml Outdated
Comment thread src/tests/Common/CLRTest.Execute.Bash.targets
Comment thread src/tests/Common/Coreclr.TestWrapper/MobileAppHandler.cs Outdated

@steveisok steveisok left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

@kotlarmilos

Copy link
Copy Markdown
Member

/azp run runtime-ioslike,runtime-ioslikesimulator

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

@kotlarmilos

Copy link
Copy Markdown
Member

/azp run runtime-ioslikesimulator

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@mdh1418

mdh1418 commented Apr 17, 2023

Copy link
Copy Markdown
Member Author

/azp run runtime-ioslikesimulator

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 1 pipeline(s).

@kotlarmilos

Copy link
Copy Markdown
Member

/azp run runtime-ioslike,runtime-ioslikesimulator

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines successfully started running 2 pipeline(s).

@kotlarmilos

Copy link
Copy Markdown
Member

Failures shouldn't be related. The TCP failure is known issue dotnet/arcade#11683.

Comment thread eng/pipelines/extra-platforms/runtime-extra-platforms-ioslikesimulator.yml Outdated
@kotlarmilos

Copy link
Copy Markdown
Member

The failures are known #84979 and #84995.

@kotlarmilos kotlarmilos merged commit 790b14b into dotnet:main Apr 18, 2023
@ghost ghost locked as resolved and limited conversation to collaborators May 18, 2023
@mdh1418 mdh1418 deleted the ios_investigate_eventpipe_failures branch June 10, 2024 20:34
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Infrastructure-mono runtime-mono specific to the Mono runtime

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[MONO][TEST] Bring up iOS/arm64 and iOSSimulator arm64 Runtime tests in CI [Mono] Eventpipe Runtime Test Failures on iOS Simulator

7 participants