Description
By enabling trimming when building libraries and functional tests for ios/tvos platforms, we would greatly speed up builds on CI, lower the costs and improve user experience. With trimming enabled the configuration is also closer to what an end user experiences when building ios/tvos applications.
However, as some tests assume trimming is not enabled (e.g.: System.Runtime.Tests
test suite has 11 failures on ios-arm64
device when trimming is enabled) we should investigate how to root required assemblies/tests to prevent these failures.
Related issues:
Disabled library tests:
Microsoft.Extensions.Configuration.Binder.Tests.TraceSwitchTest
Microsoft.Extensions.Configuration.Binder.Tests.TestGraphWithUnsupportedMember
System.Reflection.Metadata.Decoding.Tests.SimpleSignatureProviderCoverage
System.Reflection.Tests.GetModuleVersionId_KnownAssembly_ReturnsExpected
System.Runtime.Tests.ShimsHaveOnlyTypeForwards
Disabled runtime tests:
Loader/classloader/DefaultInterfaceMethods/reabstraction
JIT/Directed/coverage/importer/Desktop/badldsfld
JIT/Regression/JitBlue/Runtime_74635/Runtime_74635_1
JIT/Methodical/tailcall/compat_i4_u
JIT/Methodical/Boxing/boxunbox/tailcall
JIT/Methodical/Boxing/boxunbox/huge_filter
JIT/Methodical/refany/gcreport
JIT/Directed/Arrays/nintindexoutofrange
JIT/Directed/debugging/poisoning/poison
JIT/Regression/JitBlue/Runtime_34587/Runtime_34587
JIT/Regression/JitBlue/Runtime_64125/Runtime_64125
Follow-up tasks:
- Rerun the same state with trimming disabled, to discover trim-related issues (
/azp rerun ios-platforms-no-trimming
- Make disabled tests trim-compatible