mirror of
https://github.com/tiennm99/serena.git
synced 2026-10-13 20:15:20 +00:00
More logging in tests
This commit is contained in:
1 parent
1c6af8cfea
commit
d2cd006007
2 files changed
+30
-2
No files matched your search
+7
-1
@@ -1,11 +1,15 @@
|
||||
import logging
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
from sensai.util.logging import LOG_DEFAULT_FORMAT, configure
|
||||
|
||||
from multilspy.language_server import SyncLanguageServer
|
||||
from multilspy.multilspy_config import Language, MultilspyConfig
|
||||
from multilspy.multilspy_logger import MultilspyLogger
|
||||
|
||||
configure(level=logging.DEBUG)
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def resources_dir() -> Path:
|
||||
@@ -24,7 +28,9 @@ def get_repo_path(language: Language) -> Path:
|
||||
|
||||
def create_ls(language: Language, repo_path: str):
|
||||
config = MultilspyConfig(code_language=language)
|
||||
logger = MultilspyLogger()
|
||||
logger = MultilspyLogger(log_level=logging.DEBUG)
|
||||
logger.logger.setLevel(logging.DEBUG)
|
||||
logger.logger.handlers[0].setFormatter(logging.Formatter(LOG_DEFAULT_FORMAT))
|
||||
return SyncLanguageServer.create(config, logger, repo_path)
|
||||
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import logging
|
||||
import os
|
||||
import shutil
|
||||
import tempfile
|
||||
import time
|
||||
from abc import abstractmethod
|
||||
from collections.abc import Iterator
|
||||
from contextlib import contextmanager
|
||||
@@ -16,6 +18,8 @@ from test.conftest import create_ls, get_repo_path
|
||||
|
||||
pytestmark = pytest.mark.snapshot
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class EditingTest:
|
||||
def __init__(self, language: Language, rel_path: str):
|
||||
@@ -35,14 +39,32 @@ class EditingTest:
|
||||
self.repo_path = temp_dir / self.original_repo_path.name
|
||||
language_server = None # Initialize language_server
|
||||
try:
|
||||
print(f"Copying repo from {self.original_repo_path} to {self.repo_path}")
|
||||
shutil.copytree(self.original_repo_path, self.repo_path)
|
||||
# prevent deadlock on Windows due to file locks caused by antivirus or some other external software
|
||||
# wait for a long time here
|
||||
if os.name == "nt":
|
||||
time.sleep(1)
|
||||
log.info(f"Creating language server for {self.language} {self.rel_path}")
|
||||
language_server = create_ls(self.language, str(self.repo_path))
|
||||
log.info(f"Starting language server for {self.language} {self.rel_path}")
|
||||
language_server.start()
|
||||
log.info(f"Language server started for {self.language} {self.rel_path}")
|
||||
yield SymbolManager(lang_server=language_server)
|
||||
finally:
|
||||
if language_server is not None and language_server.is_running():
|
||||
log.info(f"Stopping language server for {self.language} {self.rel_path}")
|
||||
language_server.stop()
|
||||
shutil.rmtree(temp_dir)
|
||||
# attempt at trigger of garbage collection
|
||||
language_server = None
|
||||
log.info(f"Language server stopped for {self.language} {self.rel_path}")
|
||||
|
||||
# prevent deadlock on Windows due to lingering file locks
|
||||
if os.name == "nt":
|
||||
time.sleep(1)
|
||||
log.info(f"Removing temp directory {temp_dir}")
|
||||
shutil.rmtree(temp_dir, ignore_errors=True)
|
||||
log.info(f"Temp directory {temp_dir} removed")
|
||||
|
||||
def _read_file(self, rel_path: str) -> str:
|
||||
"""Read the content of a file in the test repository."""
|
||||
|
||||
Reference in new issue
Block a user