summaryrefslogtreecommitdiff
path: root/internal/lsp/document_handlers_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-16 04:33:36 +0200
committerPaul Buetow <paul@buetow.org>2026-03-16 04:33:36 +0200
commit95b0a9962861b2aef4a3e9538dd38608aca4bcfc (patch)
tree534a8c0f2bff31e612a9b12ff4d911bbead61c0c /internal/lsp/document_handlers_test.go
parentf55a1e88ea5948582d0e5a33efea0c5d806e1f4b (diff)
Document lock ordering, fix test data races, correct stateMu guard
- Add doc comments clarifying Server.mu and completionState.stateMu are independent (no ordering constraint). - Fix test using wrong lock (s.mu instead of stateMu) for lastLLMCall. - Replace time.Sleep polling in 7 tests with s.inflight.Wait() to eliminate data races under -race. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/lsp/document_handlers_test.go')
-rw-r--r--internal/lsp/document_handlers_test.go5
1 files changed, 2 insertions, 3 deletions
diff --git a/internal/lsp/document_handlers_test.go b/internal/lsp/document_handlers_test.go
index 1fdd0da..efe6e30 100644
--- a/internal/lsp/document_handlers_test.go
+++ b/internal/lsp/document_handlers_test.go
@@ -6,7 +6,6 @@ import (
"io"
"log"
"testing"
- "time"
)
func TestDidOpenChangeClose_UpdateDocs(t *testing.T) {
@@ -67,8 +66,8 @@ func TestDeferShowDocument_WritesLater(t *testing.T) {
uri := "file:///x.go"
out.Reset()
s.deferShowDocument(uri, Range{Start: Position{Line: 0}, End: Position{Line: 0}})
- // wait >120ms per implementation
- time.Sleep(160 * time.Millisecond)
+ // Wait for the background goroutine to finish.
+ s.inflight.Wait()
req := captureRequest(t, &out)
if req.Method != "window/showDocument" {
t.Fatalf("expected showDocument, got %s", req.Method)