-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
[iOS][tvOS] Fix building runtime tests on iOS-like platforms #91542
Merged
simonrozsival
merged 4 commits into
dotnet:main
from
simonrozsival:disable-trimming-for-xunit-wrapper-generator
Sep 7, 2023
Merged
Changes from 1 commit
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given that
PublishTrimmed
behavior is really only defined for applications, would it instead make sense to modifyruntime/src/tests/Directory.Build.props
Line 210 in 9eb0266
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That seems like a better way of solving the problem. I'm not very familiar with this part of the build process though so I'm not sure what the implications of that would be. cc @mdh1418
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The property
PublishTrimmed
set by default for the runtime tests may improve AOT compilation time by excluding unnecessary assemblies. However, according to the comment below it is not intended behavior.If we want to set the
PublishTrimmed
on per-project basis and avoid additional complexity in theMergedRunner
, we can remove these props without side effects. I don't expect significant performance changes as AOT Interp mode is used, which compiles the corelib only.runtime/src/tests/Directory.Build.props
Lines 208 to 212 in 9eb0266
Other option is to set these props for executables only, as @vitek-karas suggested.
Note: The
XUnitWrapperGenerator
project may become obsolete soon, as Xunit wrappers are not used for the Mono runtime tests targeting apple mobile platforms due to parallel AOT compilation on Helix. We plan to do the same for the Native AOT runtime tests.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That comment was meant in the context of the SDK - as in "The scenario SDK should focus on is when the property is set on per-project basis". Runtime repo is all kinds of special, so I would not necessarily apply it here.
That said - it should be set only for applications - it makes little sense for libraries.
For libraries you should instead set
IsTrimmable=true
but it has the same limitations (won't work onnetstandard2.0
and you will get a similar error there as well).There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@simonrozsival You may change the property group condition below to include
Condition="'$(TargetsAppleMobile)' == 'true' and '$([System.String]::Copy($(OutputType)).ToLower())' == 'exe'"
.runtime/src/tests/Directory.Build.props
Line 208 in 9eb0266
I am not sure if there is a cleaner way for
OutputType=Exe
.