summaryrefslogtreecommitdiff
path: root/cmd/hexai-lsp-server/main_test.go
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-03-10 19:35:58 +0200
committerPaul Buetow <paul@buetow.org>2026-03-10 19:35:58 +0200
commit07115c22a74dd5311f70434029791d5346e627c4 (patch)
tree9d1b951d7f8486baf46679163d04fd11049fd034 /cmd/hexai-lsp-server/main_test.go
parentde5029e6d4a7efffcccfb08d98770b1c1c4f54fe (diff)
task dac9b1e5: avoid LSP startup panic on StateDir failure
Diffstat (limited to 'cmd/hexai-lsp-server/main_test.go')
-rw-r--r--cmd/hexai-lsp-server/main_test.go15
1 files changed, 15 insertions, 0 deletions
diff --git a/cmd/hexai-lsp-server/main_test.go b/cmd/hexai-lsp-server/main_test.go
index 5563e3d..9861f54 100644
--- a/cmd/hexai-lsp-server/main_test.go
+++ b/cmd/hexai-lsp-server/main_test.go
@@ -4,6 +4,7 @@ import (
"bytes"
"log"
"os"
+ "path/filepath"
"testing"
)
@@ -20,3 +21,17 @@ func TestMain_Version(t *testing.T) {
t.Fatalf("expected version log")
}
}
+
+func TestDefaultLogPathFallsBackToTempDirOnStateDirFailure(t *testing.T) {
+ stateHome := filepath.Join(t.TempDir(), "state-home-file")
+ if err := os.WriteFile(stateHome, []byte("not-a-directory"), 0o644); err != nil {
+ t.Fatalf("write state home marker: %v", err)
+ }
+ t.Setenv("XDG_STATE_HOME", stateHome)
+
+ got := defaultLogPath()
+ want := filepath.Join(os.TempDir(), "hexai-lsp-server.log")
+ if got != want {
+ t.Fatalf("expected temp-dir fallback %q, got %q", want, got)
+ }
+}