dotnet / runtime

.NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.
https://docs.microsoft.com/dotnet/core/
MIT License
15.36k stars 4.75k forks source link

[ios] Add support for multiple app bundles in the runtime pipeline for a test directory #89917

Open kotlarmilos opened 1 year ago

kotlarmilos commented 1 year ago

Description

The test infrastructure for apple mobile targets doesn't support multiple app bundles in a single test directory. In the case of Mono, a single app bundle is created, and test wrappers are generated to pass the main entry using an environment variable. However, with Native AOT, separate app bundles are required for each test project since the main entry point can't be passed as an environment variable.

Tasks

ghost commented 1 year ago

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

Issue Details
The test infrastructure for apple mobile targets doesn't support multiple app bundles in a single test directory. In the case of Mono, a single app bundle is created, and test wrappers are generated to pass the main entry using an environment variable. However, with Native AOT, separate app bundles are required for each test project since the main entry point can't be passed as an environment variable. Additionally, the runtime pipeline should be updated to do AOT compilation and app bundling in a single msbuild task in order to inherit project props from the project file.
Author: kotlarmilos
Assignees: -
Labels: `area-Codegen-AOT-mono`, `area-Infrastructure-mono`
Milestone: -
ghost commented 1 year ago

Tagging subscribers to 'os-ios': @steveisok, @akoeplinger, @kotlarmilos See info in area-owners.md if you want to be subscribed.

Issue Details
## Description The test infrastructure for apple mobile targets doesn't support multiple app bundles in a single test directory. In the case of Mono, a single app bundle is created, and test wrappers are generated to pass the main entry using an environment variable. However, with Native AOT, separate app bundles are required for each test project since the main entry point can't be passed as an environment variable. Additionally, the runtime pipeline should be updated to do AOT compilation and app bundling in a single msbuild task in order to inherit project props from the project file. ## Tasks - [ ] Avoid generating test wrappers for iOS tests - [ ] Update the runtime pipeline to discover tests using project files instead of test wrappers - [ ] Perform AOT compilation and app bundling on Helix
Author: kotlarmilos
Assignees: kotlarmilos
Labels: `area-Infrastructure-mono`, `os-ios`
Milestone: 9.0.0