Skip to content

Move VS language-service logic tests to FSharp.Compiler.Service.Tests#20033

Draft
T-Gro wants to merge 3 commits into
mainfrom
tests/salsa-tests-logic
Draft

Move VS language-service logic tests to FSharp.Compiler.Service.Tests#20033
T-Gro wants to merge 3 commits into
mainfrom
tests/salsa-tests-logic

Conversation

@T-Gro

@T-Gro T-Gro commented Jul 5, 2026

Copy link
Copy Markdown
Member

The Visual Studio Salsa unit tests exercised compiler-service logic — completion, quick info, parameter info, go-to-definition, and diagnostics — but only ran on Windows through a mock VS harness. This ports that coverage to the cross-platform FSharp.Compiler.Service.Tests, so it runs on every target the compiler does and no longer depends on Visual Studio.

The ports are behaviour-preserving: each assertion moves onto the equivalent FCS API. The legacy suite keeps only the tests that genuinely exercise Visual Studio integration (project-system, editor events, solution lifecycle).

@github-actions

github-actions Bot commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

✅ No release notes required

@T-Gro T-Gro force-pushed the tests/salsa-tests-logic branch 2 times, most recently from 2a16593 to 2b223cb Compare July 5, 2026 22:49
T-Gro and others added 2 commits July 7, 2026 14:45
Port completion, quick info, parameter info, go-to-definition, and
diagnostics coverage from the Windows-only VS Salsa suite to the
cross-platform FSharp.Compiler.Service.Tests. The legacy suite keeps only
the tests that genuinely exercise Visual Studio integration.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…Info helper

- ScriptDiagnostics closure: use assumeDotNetFramework=false/useSdkRefs=true on coreclr so the script closure resolves FSharp.Core where no .NET Framework exists (Linux/Mac/Win-transparent).
- ScriptOptions SurfaceOrderOfHashes: guard #if !NETCOREAPP; it asserts desktop-GAC assemblies (System.Runtime.Remoting/System.Transactions) that cannot resolve on a Core-only host.
- Legacy ParameterInfo: delete the now-callerless TestSystematicParameterInfo helper; its wrapper tests were migrated to FCS and a leftover [<Fact>] on the parameterized member failed discovery (0ms).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@T-Gro T-Gro force-pushed the tests/salsa-tests-logic branch from 2b223cb to b434d50 Compare July 7, 2026 13:22
…the transparent compiler

The migrated legacy test only checked that the resolvable reference produced no squiggle; the whole-closure assertClosureNoDiagnostics over-translated it. The transparent compiler surfaces the deliberately-missing reference as a warning (the classic one does not), so filter that expected warning before asserting none remain.

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.

1 participant