Don't use shell=True on windows, typos

This commit is contained in:
Michael Panchenko
2025-06-29 15:35:56 +02:00
parent 0f205013c3
commit 548c7b0d2a
5 changed files with 20 additions and 7 deletions
@@ -516,7 +516,7 @@ class CSharpLanguageServer(SolidLanguageServer):
return cast(
InitializeParams,
{
"worspaceFolders": [{"uri": root_uri, "name": root_name}],
"workspaceFolders": [{"uri": root_uri, "name": root_name}],
"processId": os.getpid(),
"rootPath": self.repository_root_path,
"rootUri": root_uri,
@@ -6,6 +6,7 @@ import json
import logging
import os
import pathlib
import platform
import shutil
import subprocess
from time import sleep
@@ -70,8 +71,8 @@ class Intelephense(SolidLanguageServer):
# Windows doesn't support the 'user' parameter and doesn't have pwd module
if PlatformUtils.get_platform_id().value.startswith("win"):
subprocess.run(
dependency["command"],
shell=True,
dependency["command"].split(" "),
shell=False,
check=True,
cwd=intelephense_ls_dir,
stdout=subprocess.DEVNULL,
@@ -6,6 +6,7 @@ import json
import logging
import os
import pathlib
import platform
import shutil
import subprocess
import threading
@@ -103,8 +104,8 @@ class TypeScriptLanguageServer(SolidLanguageServer):
# Windows doesn't support the 'user' parameter and doesn't have pwd module
if PlatformUtils.get_platform_id().value.startswith("win"):
subprocess.run(
dependency["command"],
shell=True,
dependency["command"].split(" "),
shell=False,
check=True,
cwd=tsserver_ls_dir,
stdout=subprocess.DEVNULL,
+3 -1
View File
@@ -2,6 +2,7 @@ import asyncio
import json
import logging
import os
import platform
import subprocess
import threading
import time
@@ -148,6 +149,7 @@ class SolidLanguageServerHandler:
child_proc_env.update(self.process_launch_info.env)
log.info("Starting language server process via command: %s", self.process_launch_info.cmd)
is_windows = platform.system() == "Windows"
self.process = subprocess.Popen(
self.process_launch_info.cmd,
stdout=subprocess.PIPE,
@@ -156,7 +158,7 @@ class SolidLanguageServerHandler:
env=child_proc_env,
cwd=self.process_launch_info.cwd,
start_new_session=self.start_independent_lsp_process,
shell=True,
shell=not is_windows,
)
# Check if process terminated immediately
+10 -1
View File
@@ -32,7 +32,16 @@ def serena_config():
"""Create an in-memory configuration for tests with test repositories pre-registered."""
# Create test projects for all supported languages
test_projects = []
for language in [Language.PYTHON, Language.GO, Language.JAVA, Language.RUST, Language.TYPESCRIPT, Language.PHP, Language.CSHARP, Language.CLOJURE]:
for language in [
Language.PYTHON,
Language.GO,
Language.JAVA,
Language.RUST,
Language.TYPESCRIPT,
Language.PHP,
Language.CSHARP,
Language.CLOJURE,
]:
repo_path = get_repo_path(language)
if repo_path.exists():
project_name = f"test_repo_{language}"