Skip to content

Commit

Permalink
Disable LSP server restarts for unit tests
Browse files Browse the repository at this point in the history
  • Loading branch information
fhs committed Jun 18, 2023
1 parent 3e61d87 commit 737a43a
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 6 deletions.
6 changes: 3 additions & 3 deletions internal/lsp/acmelsp/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ func testGoModule(t *testing.T, server string, src string, f func(t *testing.T,
RootDirectory: dir,
DiagWriter: &mockDiagosticsWriter{ioutil.Discard},
Workspaces: nil,
})
}, false)
if err != nil {
t.Fatalf("startServer failed: %v", err)
}
Expand Down Expand Up @@ -297,7 +297,7 @@ func main() {
RootDirectory: dir,
DiagWriter: &chanDiagosticsWriter{ch},
Workspaces: nil,
})
}, false)
if err != nil {
t.Fatalf("startServer failed: %v", err)
}
Expand Down Expand Up @@ -366,7 +366,7 @@ func testPython(t *testing.T, src string, f func(t *testing.T, c *Client, uri pr
RootDirectory: dir,
DiagWriter: &mockDiagosticsWriter{ioutil.Discard},
Workspaces: nil,
})
}, false)
if err != nil {
t.Fatalf("startServer failed: %v", err)
}
Expand Down
10 changes: 7 additions & 3 deletions internal/lsp/acmelsp/exec.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func (s *Server) Close() {
}
}

func execServer(cs *config.Server, cfg *ClientConfig) (*Server, error) {
func execServer(cs *config.Server, cfg *ClientConfig, restartOnExit bool) (*Server, error) {
args := cs.Command

stderr := os.Stderr
Expand Down Expand Up @@ -69,11 +69,15 @@ func execServer(cs *config.Server, cfg *ClientConfig) (*Server, error) {
go func() {
for {
err := cmd.Wait()
log.Printf("language server %v exited: %v; restarting...", args[0], err)
log.Printf("language server %v exited: %v", args[0], err)

// TODO(fhs): cancel using context?
srv.conn.Close()
if !restartOnExit {
break
}

log.Printf("restarting language server %v after exit", args[0])
cmd, p1, err = startCommand()
if err != nil {
log.Printf("%v", err)
Expand Down Expand Up @@ -138,7 +142,7 @@ func (info *ServerInfo) start(cfg *ClientConfig) (*Server, error) {
}
info.srv = srv
} else {
srv, err := execServer(info.Server, cfg)
srv, err := execServer(info.Server, cfg, true)
if err != nil {
return nil, err
}
Expand Down

0 comments on commit 737a43a

Please sign in to comment.