fix(cli): resolve Windows environment compatibility issues in python CLI tests (#5464)
Co-authored-by: Kartik <kartik.labhshetwar@mem0.ai>
This commit is contained in:
@@ -32,12 +32,13 @@ def _run(args: list[str], home_dir: str | None = None) -> subprocess.CompletedPr
|
|||||||
if key.startswith("MEM0_"):
|
if key.startswith("MEM0_"):
|
||||||
del env[key]
|
del env[key]
|
||||||
env.pop("FORCE_COLOR", None)
|
env.pop("FORCE_COLOR", None)
|
||||||
|
env["PYTHONIOENCODING"] = "utf-8"
|
||||||
if home_dir:
|
if home_dir:
|
||||||
env["HOME"] = home_dir
|
env["HOME"] = home_dir
|
||||||
result = subprocess.run(
|
result = subprocess.run(
|
||||||
[sys.executable, "-m", "mem0_cli", *args],
|
[sys.executable, "-m", "mem0_cli", *args],
|
||||||
capture_output=True,
|
capture_output=True,
|
||||||
text=True,
|
encoding="utf-8",
|
||||||
env=env,
|
env=env,
|
||||||
timeout=15,
|
timeout=15,
|
||||||
)
|
)
|
||||||
@@ -99,12 +100,13 @@ class TestArgvPreprocessing:
|
|||||||
result = subprocess.run(
|
result = subprocess.run(
|
||||||
[sys.executable, "-m", "mem0_cli", "init", "--agent"],
|
[sys.executable, "-m", "mem0_cli", "init", "--agent"],
|
||||||
capture_output=True,
|
capture_output=True,
|
||||||
text=True,
|
encoding="utf-8",
|
||||||
env={
|
env={
|
||||||
**{k: v for k, v in os.environ.items() if not k.startswith("MEM0_")},
|
**{k: v for k, v in os.environ.items() if not k.startswith("MEM0_")},
|
||||||
"HOME": clean_home,
|
"HOME": clean_home,
|
||||||
"MEM0_BASE_URL": "http://127.0.0.1:1", # blackhole
|
"MEM0_BASE_URL": "http://127.0.0.1:1", # blackhole
|
||||||
"FORCE_COLOR": "0",
|
"FORCE_COLOR": "0",
|
||||||
|
"PYTHONIOENCODING": "utf-8",
|
||||||
},
|
},
|
||||||
timeout=15,
|
timeout=15,
|
||||||
)
|
)
|
||||||
@@ -133,12 +135,13 @@ class TestJsonEnvelopeParity:
|
|||||||
result = subprocess.run(
|
result = subprocess.run(
|
||||||
[sys.executable, "-m", "mem0_cli", "init", "--agent", "--json"],
|
[sys.executable, "-m", "mem0_cli", "init", "--agent", "--json"],
|
||||||
capture_output=True,
|
capture_output=True,
|
||||||
text=True,
|
encoding="utf-8",
|
||||||
env={
|
env={
|
||||||
**{k: v for k, v in os.environ.items() if not k.startswith("MEM0_")},
|
**{k: v for k, v in os.environ.items() if not k.startswith("MEM0_")},
|
||||||
"HOME": clean_home,
|
"HOME": clean_home,
|
||||||
"MEM0_BASE_URL": "http://127.0.0.1:1",
|
"MEM0_BASE_URL": "http://127.0.0.1:1",
|
||||||
"FORCE_COLOR": "0",
|
"FORCE_COLOR": "0",
|
||||||
|
"PYTHONIOENCODING": "utf-8",
|
||||||
},
|
},
|
||||||
timeout=15,
|
timeout=15,
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ def _run(
|
|||||||
if key.startswith("MEM0_"):
|
if key.startswith("MEM0_"):
|
||||||
del env[key]
|
del env[key]
|
||||||
env.pop("FORCE_COLOR", None)
|
env.pop("FORCE_COLOR", None)
|
||||||
|
env["PYTHONIOENCODING"] = "utf-8"
|
||||||
if home_dir:
|
if home_dir:
|
||||||
env["HOME"] = home_dir
|
env["HOME"] = home_dir
|
||||||
if env_override:
|
if env_override:
|
||||||
@@ -56,7 +57,7 @@ def _run(
|
|||||||
result = subprocess.run(
|
result = subprocess.run(
|
||||||
[sys.executable, "-m", "mem0_cli", *args],
|
[sys.executable, "-m", "mem0_cli", *args],
|
||||||
capture_output=True,
|
capture_output=True,
|
||||||
text=True,
|
encoding="utf-8",
|
||||||
env=env,
|
env=env,
|
||||||
)
|
)
|
||||||
return subprocess.CompletedProcess(
|
return subprocess.CompletedProcess(
|
||||||
|
|||||||
@@ -67,7 +67,8 @@ class TestConfig:
|
|||||||
from mem0_cli.config import CONFIG_FILE
|
from mem0_cli.config import CONFIG_FILE
|
||||||
|
|
||||||
mode = os.stat(CONFIG_FILE).st_mode & 0o777
|
mode = os.stat(CONFIG_FILE).st_mode & 0o777
|
||||||
assert mode == 0o600
|
if os.name != "nt":
|
||||||
|
assert mode == 0o600
|
||||||
|
|
||||||
def test_defaults_save_and_load(self, isolate_config):
|
def test_defaults_save_and_load(self, isolate_config):
|
||||||
config = Mem0Config()
|
config = Mem0Config()
|
||||||
|
|||||||
Reference in New Issue
Block a user