diff --git a/src/solidlsp/ls.py b/src/solidlsp/ls.py index 7fbd717d..0a982b05 100644 --- a/src/solidlsp/ls.py +++ b/src/solidlsp/ls.py @@ -1189,7 +1189,7 @@ class SolidLanguageServer(ABC): return match_path(relative_path, self.get_ignore_spec(), root_path=self.repository_root_path) @contextmanager - def start_server(self) -> Iterator["SolidLanguageServer"]: + def start_server_context(self) -> Iterator["SolidLanguageServer"]: self.start() yield self self.stop() diff --git a/test/conftest.py b/test/conftest.py index ab93ff5f..260b485c 100644 --- a/test/conftest.py +++ b/test/conftest.py @@ -103,22 +103,8 @@ def start_ls_context( language, repo_path, ignored_paths, trace_lsp_communication, ls_specific_settings, additional_workspace_folders, solidlsp_dir ) log.info(f"Starting language server for {language} {repo_path}") - ls.start() - try: - log.info(f"Language server started for {language} {repo_path}") + with ls.start_server_context(): yield ls - finally: - log.info(f"Stopping language server for {language} {repo_path}") - try: - ls.stop(shutdown_timeout=5) - except Exception as e: - log.warning(f"Warning: Error stopping language server: {e}") - # try to force cleanup - if hasattr(ls, "server") and hasattr(ls.server, "process"): - try: - ls.server.process.terminate() - except: - pass @contextmanager diff --git a/test/solidlsp/scala/test_scala_language_server.py b/test/solidlsp/scala/test_scala_language_server.py index 4e60209d..930010fb 100644 --- a/test/solidlsp/scala/test_scala_language_server.py +++ b/test/solidlsp/scala/test_scala_language_server.py @@ -22,7 +22,7 @@ def scala_ls(): solidlsp_settings = SolidLSPSettings() ls = ScalaLanguageServer(config, repo_root, solidlsp_settings) - with ls.start_server(): + with ls.start_server_context(): yield ls