Open tlakollo opened 1 year ago
Tagging subscribers to this area: @agocke, @MichalStrehovsky, @jkotas See info in area-owners.md if you want to be subscribed.
Author: | tlakollo |
---|---|
Assignees: | - |
Labels: | `untriaged`, `area-NativeAOT-coreclr` |
Milestone: | - |
@vitek-karas is there something we need for 8.0 or can we move this to 9.0?
No - moved it to 9.0.
With https://github.com/dotnet/runtime/pull/82216 we started to share the test cases between ILLink and NativeAOT this allows us to delete duplicated code and keep tests consistent, given that a change in one of the tests will affect both codebases. Not all the ILLink tests apply to NativeAOT and that's why NativeAOT only enables a subset of them in its TestDatabase file, the test database file enables testing in a folder fashion, a folder is assigned to a feature being tested. But even in these features NativeAOT has not triaged/enabled all of the tests, and some of the tests inside a feature might not apply to NativeAOT. For these reasons we are disabling the test that have not been triaged inside a feature until they are triaged for:
Incomplete list of features which are still missing/tests:
Requires*
on attributesRequiresOnAttributeCtor.cs
,RequiresOnAttribute.cs
parts ofRequiresOnClass.cs
Requires*
on a virtual method (directly or indirectly) causes warnings in NativeAOT, but in trimmer we rely on hierarchy checks and only warn on the base method (not on the override when marked via DAM).ReflectionAccessFromCompilerGeneratedCode.cs
is completely disabled for NativeAOTRequiresOnStaticConstructors.cs
is completely disabled for NativeAOTRequiresOnVirtualsAndInterfaces.cs
is completely disabled for NativeAOTActivator.CreateInstance
doesn't parse the string argument and instead always producesIL2032
UnconditionalSuppressMessage
via XML is not supported in NativeAOTLocalDataFlow
tests - these test various aspects of local data flow which are slightly off between the two compilers. Also NativeAOT in debug mode (running just the JIT) will produce very different results because it would be effectively testing JIT's behavior. Probably not a goal to fix this.IReflectDataFlow
this test validates a lot ofKept
stuff, but NativeAOT seems to handle it very differently from ILLink. Probably needs some more investigation.