From 07115c22a74dd5311f70434029791d5346e627c4 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 10 Mar 2026 19:35:58 +0200 Subject: task dac9b1e5: avoid LSP startup panic on StateDir failure --- cmd/hexai-lsp-server/main_test.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'cmd/hexai-lsp-server/main_test.go') 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) + } +} -- cgit v1.2.3