blob: b31d11e0affce1cce64decee6722295333dba484 [file]
import ast
from pathlib import Path
SERVER_PY = Path(__file__).resolve().parents[2] / 'server.py'
def test_no_create_subprocess_shell_in_start_vue():
"""Verify create_subprocess_shell is not used in start_vue_dev_server."""
content = SERVER_PY.read_text(encoding='utf-8')
tree = ast.parse(content, filename=str(SERVER_PY))
func_node = None
for node in ast.walk(tree):
if isinstance(node, (ast.FunctionDef, ast.AsyncFunctionDef)) and node.name == 'start_vue_dev_server':
func_node = node
break
assert func_node is not None, "start_vue_dev_server function not found in server.py"
func_content = ast.get_source_segment(content, func_node)
assert func_content is not None, "Could not extract source for start_vue_dev_server"
assert 'create_subprocess_shell' not in func_content
assert 'create_subprocess_exec' in func_content