mirror of
https://github.com/bytedance/deer-flow.git
synced 2026-04-25 11:18:22 +00:00
* fix: resolve Windows pnpm detection in check script * style: format check script regression test * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> * fix: resolve corepack fallback on windows --------- Co-authored-by: Willem Jiang <willem.jiang@gmail.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
58 lines
1.8 KiB
Python
58 lines
1.8 KiB
Python
from __future__ import annotations
|
|
|
|
import importlib.util
|
|
from pathlib import Path
|
|
|
|
REPO_ROOT = Path(__file__).resolve().parents[2]
|
|
CHECK_SCRIPT_PATH = REPO_ROOT / "scripts" / "check.py"
|
|
|
|
|
|
spec = importlib.util.spec_from_file_location("deerflow_check_script", CHECK_SCRIPT_PATH)
|
|
assert spec is not None
|
|
assert spec.loader is not None
|
|
check_script = importlib.util.module_from_spec(spec)
|
|
spec.loader.exec_module(check_script)
|
|
|
|
|
|
def test_find_pnpm_command_prefers_resolved_executable(monkeypatch):
|
|
def fake_which(name: str) -> str | None:
|
|
if name == "pnpm":
|
|
return r"C:\Users\tester\AppData\Roaming\npm\pnpm.CMD"
|
|
if name == "pnpm.cmd":
|
|
return r"C:\Users\tester\AppData\Roaming\npm\pnpm.cmd"
|
|
return None
|
|
|
|
monkeypatch.setattr(check_script.shutil, "which", fake_which)
|
|
|
|
assert check_script.find_pnpm_command() == [r"C:\Users\tester\AppData\Roaming\npm\pnpm.CMD"]
|
|
|
|
|
|
def test_find_pnpm_command_falls_back_to_corepack(monkeypatch):
|
|
def fake_which(name: str) -> str | None:
|
|
if name == "corepack":
|
|
return r"C:\Program Files\nodejs\corepack.exe"
|
|
return None
|
|
|
|
monkeypatch.setattr(check_script.shutil, "which", fake_which)
|
|
|
|
assert check_script.find_pnpm_command() == [
|
|
r"C:\Program Files\nodejs\corepack.exe",
|
|
"pnpm",
|
|
]
|
|
|
|
|
|
def test_find_pnpm_command_falls_back_to_corepack_cmd(monkeypatch):
|
|
def fake_which(name: str) -> str | None:
|
|
if name == "corepack":
|
|
return None
|
|
if name == "corepack.cmd":
|
|
return r"C:\Program Files\nodejs\corepack.cmd"
|
|
return None
|
|
|
|
monkeypatch.setattr(check_script.shutil, "which", fake_which)
|
|
|
|
assert check_script.find_pnpm_command() == [
|
|
r"C:\Program Files\nodejs\corepack.cmd",
|
|
"pnpm",
|
|
]
|