diff options
| author | Paul Buetow <paul@buetow.org> | 2026-03-16 04:33:36 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-03-16 04:33:36 +0200 |
| commit | 95b0a9962861b2aef4a3e9538dd38608aca4bcfc (patch) | |
| tree | 534a8c0f2bff31e612a9b12ff4d911bbead61c0c /internal/lsp/chat_prompt_test.go | |
| parent | f55a1e88ea5948582d0e5a33efea0c5d806e1f4b (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/chat_prompt_test.go')
| -rw-r--r-- | internal/lsp/chat_prompt_test.go | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/internal/lsp/chat_prompt_test.go b/internal/lsp/chat_prompt_test.go index 1f7b266..3a1146f 100644 --- a/internal/lsp/chat_prompt_test.go +++ b/internal/lsp/chat_prompt_test.go @@ -3,7 +3,6 @@ package lsp import ( "bytes" "testing" - "time" ) func TestDetectAndHandleChat_UsesConfiguredSystemPrompt(t *testing.T) { @@ -20,10 +19,8 @@ func TestDetectAndHandleChat_UsesConfiguredSystemPrompt(t *testing.T) { // Line that should trigger chat: ends with '>' and previous char in prefixes s.setDocument(uri, "help?>\n") s.detectAndHandleChat(uri) - // Wait briefly for async goroutine to call Chat - for i := 0; i < 20 && len(cap.msgs) == 0; i++ { - time.Sleep(10 * time.Millisecond) - } + // Wait for the background chat goroutine to finish. + s.inflight.Wait() if len(cap.msgs) == 0 { t.Fatalf("expected Chat to be called") } |
