Skip to content

Chore: Refresh .bsl baselines#19603

Open
T-Gro wants to merge 2 commits intomainfrom
fix/adjust-baselines
Open

Chore: Refresh .bsl baselines#19603
T-Gro wants to merge 2 commits intomainfrom
fix/adjust-baselines

Conversation

@T-Gro
Copy link
Copy Markdown
Member

@T-Gro T-Gro commented Apr 16, 2026

Summary

Mass refresh of all test baseline (.bsl) files to ensure they exactly match current compiler output. Addresses #18289 (comment).

Approach

Temporarily modified test framework files to force-write baselines unconditionally (even on pass) when TEST_UPDATE_BSL=1, ran every test suite in both Release and Debug modes across net10.0 and net48, then reverted all framework modifications — only .bsl file changes remain.

Changes by category

Release baselines (381 files)

Category Files Description
EmittedIL — IL (shared) 225 Desktop+netcore shared IL baselines
EmittedIL — IL (netcore) 70 Netcore-specific IL baselines
EmittedIL — IL (desktop release) 31 Desktop Release-specific IL baselines
EmittedIL — error 31 New empty error baselines (no errors expected)
Shadowing — error 12 New empty error baselines
Shadowing — IL (shared) 10 Shadowing IL baselines
Shadowing — IL (netcore) 2 Shadowing netcore IL baselines

Debug baselines (69 files)

Category Files
EmittedIL — IL (debug) 69

Validation

All tests verified passing in Release mode on both TFMs:

Suite net10.0 net48
ComponentTests 6,896 ✅ 6,530 ✅
Service.Tests 2,120 ✅ 2,120 ✅
FSharpSuite.Tests 543 ✅ 666 ✅
Core.UnitTests all ✅ all ✅
ILVerify all match ✅

Zero baseline-related failures.

Mass refresh of all baseline files across the test suite to ensure
they reflect current compiler output. Addresses #18289.

Categories refreshed:
- EmittedIL baselines (756+ tests, both net10.0 and net48)
- SyntaxTree baselines (1042 tests)
- Conformance/TypeChecks/Shadowing/Nullness baselines
- CompilerOptions/ConstraintSolver/Signatures baselines
- Surface Area baselines (FCS + FSharp.Core)
- Legacy FSharpSuite baselines (543 tests)
- ILVerify baselines (8 files, verified matching)

All tests verified passing after refresh:
- EmittedIL: 2187 passed, 0 failed
- SyntaxTree: 2084 passed, 0 failed
- Conformance: 2852 passed, 0 failed
- Legacy: 543 passed, 0 failed

381 .bsl files updated (338 modified, 43 new empty .err.bsl files).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions
Copy link
Copy Markdown
Contributor

✅ No release notes required

@T-Gro T-Gro enabled auto-merge (squash) April 16, 2026 16:00
@T-Gro T-Gro requested a review from abonie April 16, 2026 16:01
@auduchinok
Copy link
Copy Markdown
Member

@T-Gro Thanks a lot for this!

ran every test suite in Release mode across both net10.0 and net48, then reverted all framework modifications — only .bsl file changes remain.

There're also Debug-specific baselines, could you update them too, please?

@T-Gro
Copy link
Copy Markdown
Member Author

T-Gro commented Apr 16, 2026

There're also Debug-specific baselines, could you update them too, please?

I can do it now, it fits into this PR.

Longterm I don't like having them as they are not CI exercised.
I wouldn't mind getting rid of them - I guess your WIP PR would change all of them anyway, right? (or most of them)

@auduchinok
Copy link
Copy Markdown
Member

Longterm I don't like having them as they are not CI exercised.

Or maybe we should check some of them on CI, since debug/optimize switches may affect code generation drastically and we probably want to verify that too.

Update 69 debug-specific IL baseline files to match current compiler output.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

2 participants