[tests] Add app size test cases to compare managed-static and trimmable-static. - #26412
[tests] Add app size test cases to compare managed-static and trimmable-static.#26412rolfbjarne wants to merge 3 commits into
Conversation
…le-static. Make the registrar explicit in the app size tests, so managed-static and trimmable-static can be compared A/B for the CoreCLR configurations on every platform: * Pin `Registrar=managed-static` in the existing `CoreCLR_Interpreter` and `CoreCLR_R2R` test cases, so they keep measuring managed-static even if the default registrar changes. * Run the existing `CoreCLR_Interpreter_TrimmableStatic` test case on iOS, tvOS and Mac Catalyst too (it only ran on macOS). * Add a new `CoreCLR_R2R_TrimmableStatic` test case for all four platforms. The expected app size files still have to be generated. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5cb93db9-707d-4ab3-a9fa-3da0135fcead
There was a problem hiding this comment.
Pull request overview
This PR expands the app-size unit tests to enable an explicit A/B comparison between managed-static and trimmable-static registrars for CoreCLR configurations across Apple platforms, and records new expected-size baselines for the added cases.
Changes:
- Pin
Registrar=managed-staticfor the existingCoreCLR_InterpreterandCoreCLR_R2Rsize tests to keep them stable if defaults change. - Expand
CoreCLR_Interpreter_TrimmableStaticto run on iOS, tvOS, and Mac Catalyst (in addition to macOS). - Add a new
CoreCLR_R2R_TrimmableStatictest for iOS, tvOS, Mac Catalyst, and macOS, with new expected-size baselines.
Reviewed changes
Copilot reviewed 8 out of 14 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/dotnet/UnitTests/AppSizeTest.cs | Pins registrar for existing CoreCLR tests; broadens trimmable-static coverage and adds a new CoreCLR R2R trimmable-static test matrix. |
| tests/dotnet/UnitTests/expected/iOS-CoreCLR-Interpreter-TrimmableStatic-size.txt | New expected app-size baseline for iOS CoreCLR interpreter + trimmable-static. |
| tests/dotnet/UnitTests/expected/iOS-CoreCLR-R2R-TrimmableStatic-size.txt | New expected app-size baseline for iOS CoreCLR R2R + trimmable-static. |
| tests/dotnet/UnitTests/expected/TVOS-CoreCLR-Interpreter-TrimmableStatic-size.txt | New expected app-size baseline for tvOS CoreCLR interpreter + trimmable-static. |
| tests/dotnet/UnitTests/expected/TVOS-CoreCLR-R2R-TrimmableStatic-size.txt | New expected app-size baseline for tvOS CoreCLR R2R + trimmable-static. |
| tests/dotnet/UnitTests/expected/MacCatalyst-CoreCLR-Interpreter-TrimmableStatic-size.txt | New expected app-size baseline for Mac Catalyst CoreCLR interpreter + trimmable-static. |
| tests/dotnet/UnitTests/expected/MacCatalyst-CoreCLR-R2R-TrimmableStatic-size.txt | New expected app-size baseline for Mac Catalyst CoreCLR R2R + trimmable-static. |
| tests/dotnet/UnitTests/expected/MacOSX-CoreCLR-R2R-TrimmableStatic-size.txt | New expected app-size baseline for macOS CoreCLR R2R + trimmable-static. |
This comment has been minimized.
This comment has been minimized.
…itly. The CoreCLR baseline tests now pin `Registrar=managed-static`, but they were still named just `CoreCLR-Interpreter`/`CoreCLR-R2R`, which reads like "the default configuration" rather than "the managed-static configuration" - and it's about to stop being the default, since the trimmable-static registrar is becoming the default for CoreCLR on .NET 11+. Rename them to `CoreCLR-Interpreter-ManagedStatic`/`CoreCLR-R2R-ManagedStatic` (both the test methods and the expected files), so the registrar is obvious from the test output and each A/B pair reads symmetrically. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5cb93db9-707d-4ab3-a9fa-3da0135fcead
✅ API diff for current PR / commitNET (empty diffs)✅ API diff vs stableNET (empty diffs)ℹ️ Generator diffGenerator Diff: vsdrops (html) vsdrops (raw diff) gist (raw diff) - Please review changes) Pipeline on Agent |
🚀 [CI Build #82df775] Test results 🚀Test results✅ All tests passed on VSTS: test results. 🎉 All 256 tests passed 🎉 Tests counts✅ assembly-processing: All 1 tests passed. Html Report (VSDrops) Download macOS tests✅ Tests on macOS Sonoma (14): All 5 tests passed. Html Report (VSDrops) Download Linux Build VerificationPipeline on Agent |
Make the registrar explicit in the app size tests, so managed-static and trimmable-static can be compared A/B for the CoreCLR configurations on every platform:
Registrar=managed-staticin the existingCoreCLR_InterpreterandCoreCLR_R2Rtest cases, so they keep measuring managed-static even if the default registrar changes.CoreCLR_Interpreter_TrimmableStatictest case on iOS tvOS and Mac Catalyst too (it only ran on macOS).CoreCLR_R2R_TrimmableStatictest case for all four platforms.Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com
Copilot-Session: 5cb93db9-707d-4ab3-a9fa-3da0135fcead