Skip to content

LspJournalCli: "all-the-things-indexing" journal fails on a clean tree (missing publishDiagnostics at step 21) #313

Description

Summary

The LSP journal test all-the-things-indexing (run via LspJournalCli) does not pass on a clean checkout of main. It was discovered incidentally while validating an unrelated change, and reproduces with no local modifications.

Environment

  • OS: Windows (Windows_NT)
  • .NET SDK: 10.0.301
  • Branch: main (clean working tree)

Repro

# clean checkout of main, no local changes
dotnet run --project src/LanguageServers/PowerPlatformLS/Tools/LspJournalCli -c Debug -- all-the-things-indexing

Observed

Step [21/69] open fails with a missing notification:

[21/69] open... FAIL
  missing_notification: notifications
    expected: textDocument/publishDiagnostics:{
  "diagnostics": [
    {
      "message": "Document was not compiled under the curr...

The server does not emit the expected textDocument/publishDiagnostics notification (with the "Document was not compiled under the current ..." diagnostic) that the journal recorded for that step.

Secondary observation (likely related)

Running the full suite (-- --all) aborts with an unhandled exception instead of a clean per-test report:

Unhandled exception: System.InvalidOperationException: Text hash mismatch for 'topics/Greeting.mcs.yml'.
  at ...DocumentTextPolicy.ExpandTextNode(...)
  at ...RunCommand.RunJournalAsync(...)
  at ...RunCommand.RunAllAsync(...)

During a run the journal CLI rewrites committed fixture files under Tools/LspJournalCli/TestAssets/fixtures/ (e.g. line-ending normalization: git status shows dozens of modified *.mcs.yml after a run). On Windows this appears to interact with CRLF↔LF normalization so that a later Text hash mismatch check throws and aborts the remaining journals. After a run, git checkout -- Tools/LspJournalCli/TestAssets/ is needed to restore the fixtures.

Impact

  • The journal suite cannot complete green on a clean Windows checkout.
  • A run leaves the working tree dirty (mutated fixtures), which is easy to commit accidentally.

Notes

These observations are independent of any feature work; they reproduce with zero local changes. Filing for maintainer triage — possibly a stale/platform-specific journal baseline for all-the-things-indexing, plus a fixture-mutation / line-ending sensitivity in LspJournalCli.

Metadata

Metadata

Labels

triageIssues has been looked at and assigned, but not yet resolved.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions