Skip to content

Conversation

@jkoritzinsky
Copy link
Member

Fixes #121594

Also remove usage of Newtonsoft.Json and use System.Text.Json instead.

@jkoritzinsky jkoritzinsky added test-enhancement Improvements of test source code area-Tools-ILVerification Issues related to ilverify tool and IL verification in general labels Dec 1, 2025
@dotnet-policy-service
Copy link
Contributor

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

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR migrates ILVerify tests from the test execution framework to run as managed tests similar to ILCompiler.TypeSystem tests. The main changes include replacing Newtonsoft.Json with System.Text.Json using source generators and restructuring the test project organization.

Key changes:

  • Migrated from test framework execution to standard xUnit managed tests
  • Replaced Newtonsoft.Json with System.Text.Json and source generation for better performance and AOT compatibility
  • Converted IL test projects from legacy format to modern SDK-style projects

Reviewed changes

Copilot reviewed 60 out of 90 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/tests/ilverify/ILVerificationTests.csproj Removed old test project file (now obsolete)
src/coreclr/tools/ILVerification.Tests/ILVerification.Tests.csproj New managed test project with proper SDK structure
src/coreclr/tools/ILVerification.Tests/TestDataLoader.cs Migrated from Newtonsoft.Json to System.Text.Json; changed return types to object[] for xUnit compatibility
src/coreclr/tools/ILVerification.Tests/JsonContext.cs New source-generated JSON serialization context for AOT compatibility
src/coreclr/tools/ILVerification.Tests/ILMethodTester.cs New test class for IL method verification tests
src/coreclr/tools/ILVerification.Tests/ILTypeVerificationTester.cs New test class for type verification tests
src/coreclr/tools/ILVerification.Tests/ILTests/*.ilproj Converted all IL test projects to modern SDK-style format
src/coreclr/tools/ILVerification.Tests/ILTests/*.il Added IL test source files in new location
src/coreclr/tools/ILVerification.Tests/ILTests/Directory.Build.props Build properties for IL test projects
eng/Subsets.props Added new test project to build system

Copy link
Member

@jakobbotsch jakobbotsch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jkoritzinsky
Copy link
Member Author

I will update the README.

@jkoritzinsky jkoritzinsky enabled auto-merge (squash) December 4, 2025 23:14
@jkotas
Copy link
Member

jkotas commented Dec 5, 2025

Where do these test run after this change in CI? If it is optional leg, should we verify that it is passing?

@jkoritzinsky
Copy link
Member Author

They'll run in the CLR_Tools_Tests job in the runtime pipeline.

Here's where they ran on this PR run: https://dev.azure.com/dnceng-public/public/_build/results?buildId=1220914&view=logs&j=bc555b48-a433-5520-02cb-885a268ad262&t=ac67efe8-e930-5071-5878-22316a6283a4&l=4626

@jkotas
Copy link
Member

jkotas commented Dec 5, 2025

/ba-g Filled #122228 on the new unrelated failures

@jkoritzinsky jkoritzinsky merged commit 495fca5 into dotnet:main Dec 5, 2025
146 of 155 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Jan 5, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-Tools-ILVerification Issues related to ilverify tool and IL verification in general test-enhancement Improvements of test source code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

ILVerify tests do not seem to be running as part of outerloop

3 participants