-
Notifications
You must be signed in to change notification settings - Fork 5.3k
Remove support for running illink on runtime tests while testing #122315
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
Remove support for running illink on runtime tests while testing #122315
Conversation
We have not been running this mode for years. The test infra also dates back to before we had reflection analysis, so we aren't even testing the most complicated portion of the linker. This testing is better validated through our NativeAOT testing, which runs its trimming implementation, as well as our test legs that run the trimmer on the libraries tests.
|
Tagging subscribers to this area: @dotnet/runtime-infrastructure |
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.
Pull request overview
This PR removes support for running illink on runtime tests, a test mode that has not been actively used for years and predates reflection analysis features. The testing functionality is better covered by NativeAOT tests and library test legs that run the trimmer.
Key changes:
- Removed command-line argument handling for illink/link options from test runner scripts
- Removed MSBuild properties and test exclusions specific to illink testing
- Deleted 27 reflection configuration XML files (*.reflect.xml) that were only used for illink tests
- Simplified ilasm round-trip logic by removing DoLink checks
Reviewed changes
Copilot reviewed 33 out of 33 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/tests/run.sh | Removed --link=* argument handling and ILLINK/DoLink environment variable exports |
| src/tests/run.py | Removed /p:RunTestsViaIllink=true MSBuild parameter usage; cleaned up trailing whitespace |
| src/tests/run.cmd | Removed link argument handling and DoLink/ILLINK variable logic |
| src/tests/issues.targets | Removed test exclusions specific to ILLINK testing mode (superpmicollect and RVAInit tests) |
| src/tests/Loader/classloader/regressions/dev11_95728/dev11_95728.reflect.xml | Deleted illink reflection configuration file |
| src/tests/Loader/classloader/regressions/14610/TestObjectGetTypeVirtual.reflect.xml | Deleted illink reflection configuration file |
| src/tests/Loader/classloader/generics/Variance/IL/Unbox*.reflect.xml | Deleted 6 illink reflection configuration files for Unbox tests |
| src/tests/Loader/classloader/generics/Variance/IL/IsInst*.reflect.xml | Deleted 6 illink reflection configuration files for IsInst tests |
| src/tests/Loader/classloader/generics/Variance/IL/CastClass*.reflect.xml | Deleted 2 illink reflection configuration files for CastClass tests |
| src/tests/Loader/classloader/generics/Instantiation/Negative/abstract*.reflect.xml | Deleted 3 illink reflection configuration files for abstract tests |
| src/tests/Loader/classloader/MethodImpl/self_override*.reflect.xml | Deleted 3 illink reflection configuration files for self_override tests |
| src/tests/JIT/Regression/Dev11/External/dev11_13748/ReflectOnField.reflect.xml | Deleted illink reflection configuration file |
| src/tests/CoreMangLib/system/delegate/miscellaneous/ClosedStatic.reflect.xml | Deleted illink reflection configuration file |
| src/tests/Common/scripts/bringup_runtest.sh | Removed --link=* argument handling and ILLINK/DoLink environment variable exports |
| src/tests/Common/CLRTest.Jit.targets | Simplified ilasm round-trip script logic by removing DoLink conditions; cleaned up trailing whitespace |
| src/tests/Common/CLRTest.Execute.Batch.targets | Removed BatchLinkerTestLaunchCmds and BatchLinkerTestCleanupCmds script blocks and their usage |
| src/tests/Common/CLRTest.Execute.Bash.targets | Removed BashLinkerTestLaunchCmds and BashLinkerTestCleanupCmds script blocks and their usage |
| docs/workflow/ci/triaging-failures.md | Removed documentation section about DoLink environment variable for ILLink testing |
sbomer
left a comment
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.
Thank you!
We have not been running this mode for years. The test infra also dates back to before we had reflection analysis, so we aren't even testing the most complicated portion of the linker.
This testing is better validated through our NativeAOT testing, which runs its trimming implementation, as well as our test legs that run the trimmer on the libraries tests.