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

ILLink+NativeAOT testing integration #70395

Closed
4 of 6 tasks
Tracked by #79316
tlakollo opened this issue Jun 7, 2022 · 3 comments
Closed
4 of 6 tasks
Tracked by #79316

ILLink+NativeAOT testing integration #70395

tlakollo opened this issue Jun 7, 2022 · 3 comments

Comments

@tlakollo
Copy link
Contributor

tlakollo commented Jun 7, 2022

In order to verify that the NativeAOT compiler is behaving correctly, we have opted for reusing the dotnet/linker unit testing infrastructure in NativeAOT. Relevant changes are that dotnet/linker testing infrastructure is written in NUnit while dotnet/runtime repository uses XUnit. Also, dotnet/linker invested heavily in having some commonality with analyzer warning display, these could make some tests fail just for differences in the way the origin/message is represented. Therefore changes in the NativeAOT product might be necessary.
They are two large sets of changes that will account for testing integration with NativeAOT, one is the part of the infrastructure that verifies warning generation, and the second part is the one that verifies that members are kept.

The following is a list of things that need to be done to complete the NativeAOT testing integration

  • Port the Mono.Linker.Tests* files into NativeAOT, account for the translation NUnit->XUnit and special use of .editorconfig file to be able to port the files without significant changes. This enables the warning verification portion. Add basic testing infrastructure in NativeAOT (port from dotnet/linker) #70408
  • Add some simple test cases to the testing infrastructure and add running the Mono.Linker.Tests project into clr.toolstests subset (currently only runs for rolling build) Add basic testing infrastructure in NativeAOT (port from dotnet/linker) #70408
  • Run clr.toolstests subset every time there is a change in NativeAOT
  • All tests that are related to warning generation are ported and passing
  • Enable being able to check for Kept items in the testing infrastructure
  • All test that verify members being Kept are ported and passing

List of issues for NativeAOT related to testing integration:

@ghost ghost added the untriaged New issue has not been triaged by the area owner label Jun 7, 2022
@tlakollo tlakollo removed the untriaged New issue has not been triaged by the area owner label Jun 7, 2022
@teo-tsirpanis teo-tsirpanis added this to the 7.0.0 milestone Jun 8, 2022
@agocke agocke added this to AppModel Jun 14, 2022
@MichalStrehovsky MichalStrehovsky modified the milestones: 7.0.0, 8.0.0 Aug 12, 2022
@MichalStrehovsky MichalStrehovsky moved this to High Priority in AppModel Aug 12, 2022
@sbomer sbomer mentioned this issue Aug 12, 2022
6 tasks
@agocke agocke changed the title NativeAOT testing integration ILLink+NativeAOT testing integration Dec 6, 2022
@MichalStrehovsky
Copy link
Member

@vitek-karas do you think we can close this?

There's also a couple issues linked from the list that are still open but might have been fixed?

@agocke
Copy link
Member

agocke commented Jun 21, 2023

I'm closing this as completed. There are a few remaining issues, but the vast majority of tests are running successfully.

@agocke agocke closed this as completed Jun 21, 2023
@vitek-karas
Copy link
Member

Sorry - I went though all the linked bugs and close them all since we have all of that working already.

@ghost ghost locked as resolved and limited conversation to collaborators Jul 22, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Archived in project
Development

No branches or pull requests

5 participants