Skip to content
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

CoreCLR runtime tests + Mono on the x64 iOS simulator #43954

Merged

Conversation

imhameed
Copy link
Contributor

@imhameed imhameed commented Oct 28, 2020

This creates another runtime-staging lane, named "Build iOSSimulator x64
Release AllSubsets_Mono_RuntimeTests", that will eventually run the runtime
test suite against Mono's non-LLVM JIT on the iOS simulator on amd64 hosts.
Failing tests are added to the exclusion lists in issues.targets.

The tests aren't set to run yet, because they currently take a very long time
to execute.

AppleAppBuilder no longer requires a MainLibraryFileName. If omitted, one
must be supplied when the app bundle is launched via an environment variable
named MONO_APPLE_APP_ENTRY_POINT_LIB_NAME. The generated apps also accept
another environment variable named MONO_APPLE_APP_ASSEMBLY_LOAD_PREFIX, which
is a hack used to allow assembly lookup to proceed in a nested app-relative
subdirectory before falling back to the root of the app bundle. This is
necessary because app bundles contain multiple individual test assemblies, and
these assemblies sometimes have dependencies with names that collide with the
dependencies of other test assemblies inside the bundle.

@imhameed imhameed added area-Infrastructure-mono runtime-mono specific to the Mono runtime labels Oct 28, 2020
@ghost
Copy link

ghost commented Oct 28, 2020

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

@imhameed imhameed force-pushed the llvm-aot-ios-x64-simulator-runtime-tests branch 2 times, most recently from 2687c27 to b5c7d62 Compare December 28, 2020 18:33
@imhameed imhameed force-pushed the llvm-aot-ios-x64-simulator-runtime-tests branch from b5c7d62 to 96384fa Compare January 5, 2021 15:33
@imhameed
Copy link
Contributor Author

imhameed commented Jan 6, 2021

Current status: can build apps containing entire runtime test categories. Can also read stdout from instrumented native app launcher code from xcrun simctl launch --console-pty. Need to figure out why the tests don't seem to actually run (despite the runtime superficially launching correctly).

@imhameed imhameed force-pushed the llvm-aot-ios-x64-simulator-runtime-tests branch from 8356078 to 35e1759 Compare January 7, 2021 23:16
@imhameed imhameed force-pushed the llvm-aot-ios-x64-simulator-runtime-tests branch from 35e1759 to 5701f04 Compare January 13, 2021 17:56
@imhameed
Copy link
Contributor Author

Haven't spent much time on this this week; have mostly been occupied with arm64 simd.

@imhameed imhameed force-pushed the llvm-aot-ios-x64-simulator-runtime-tests branch from 4fc4c19 to fd4d9c3 Compare January 29, 2021 05:29
@imhameed imhameed force-pushed the llvm-aot-ios-x64-simulator-runtime-tests branch 3 times, most recently from 36699c3 to 68709d8 Compare February 4, 2021 18:51
@imhameed
Copy link
Contributor Author

imhameed commented Feb 8, 2021

I got the tests running in the simulator. I also tried getting these running on-device, but that will require a bit more work, and won't be a part of this PR.

@SamMonoRT
Copy link
Member

No progress made in last few days, will pick up this work next week.

@SamMonoRT
Copy link
Member

@imhameed working on this item this week

@imhameed imhameed force-pushed the llvm-aot-ios-x64-simulator-runtime-tests branch from 7906f7c to 8cc0d0d Compare March 25, 2021 18:23
@imhameed imhameed force-pushed the llvm-aot-ios-x64-simulator-runtime-tests branch from 8cc0d0d to 27e49da Compare April 9, 2021 13:33
@imhameed
Copy link
Contributor Author

imhameed commented Apr 9, 2021

baseservices_mono.app/runningmono.dll passed locally:

XHarness command issued: apple run --app=baseservices_mono.app --output-directory=out --targets=ios-simulator-64 --mlaunch=/Library/Frameworks/Xamarin.iOS.framework/Versions/14.10.0.4/bin/mlaunch --set-env=MONO_APPLE_APP_ENTRY_POINT_LIB_NAME=runningmono.dll --expected-exit-code=100
info: Preparing run for ios-simulator-64
info: Getting app bundle information..
info: Starting application 'baseservices_mono' on ios-simulator-64
info: App run ended with 100
info: Application has finished with exit code: 100 (as expected)
XHarness exit code: 0

@imhameed imhameed force-pushed the llvm-aot-ios-x64-simulator-runtime-tests branch from b5d3a2e to f451eb0 Compare August 3, 2021 19:07
@imhameed
Copy link
Contributor Author

imhameed commented Aug 3, 2021

@fanyang-mono @premun I'm going to merge this PR. I've disabled sending the tests to Helix, so this PR won't result in increased use of the OSX.1015.Amd64.Open pool. Followup work (like using CustomCommands, or completing the transition to xharness apple just-run, or reducing the end-to-end runtime of a fully-enabled iOSSimulator runtime test lane) will build on the work done in this PR.

@imhameed imhameed merged commit da803ac into dotnet:main Aug 3, 2021
thaystg added a commit to thaystg/runtime that referenced this pull request Aug 4, 2021
…ger_proxy_attribute

* origin/main:
  disable token info in traces. (dotnet#56780)
  [debugger] Fix debugger.break behavior (dotnet#56788)
  [mono][wasm] Allow setting env variables with '=' characters in the test runner. (dotnet#56802)
  Ecma edit for `conv.ovf.<to type>.un`. (dotnet#56450)
  Mark HandleProcessCorruptedStateExceptionsAttribute as obsolete (dotnet#56664)
  Enable SxS install of previews on Mac OS (dotnet#56797)
  CoreCLR runtime tests + Mono on the x64 iOS simulator (dotnet#43954)
  [main] Update dependencies from mono/linker (dotnet#56593)
  STJ: Fix deserialization of UInt16 properties (dotnet#56793)
Copy link
Member

@akoeplinger akoeplinger left a comment

Choose a reason for hiding this comment

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

LGTM

imhameed added a commit that referenced this pull request Aug 4, 2021
Removes stray debug logging and removes a redundant branch.

See #43954 (comment) and #43954 (comment).
@ghost ghost locked as resolved and limited conversation to collaborators Sep 3, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Infrastructure-mono NO-MERGE The PR is not ready for merge yet (see discussion for detailed reasons) runtime-mono specific to the Mono runtime
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants