repositories
loading repo index
repositories
loading repo index
repository
loading code, commits, and activity
public Clawd ADK gateway launch mirror
stars
latest
clone command
git clone gitlawb://did:key:z6Mkq5mY...iFZ5/my-project-publ...git clone gitlawb://did:key:z6Mkq5mY.../my-project-publ...2fa351d6docs: add automaton and perps launch sources15d ago| #1 | """Regression tests for standalone scripts honoring MNEMOSYNE_DATA_DIR.""" |
| #2 | |
| #3 | import os |
| #4 | import subprocess |
| #5 | import sys |
| #6 | from pathlib import Path |
| #7 | |
| #8 | |
| #9 | ROOT = Path(__file__).resolve().parent.parent |
| #10 | BACKFILL_SCRIPT = ROOT / "scripts" / "backfill_temporal_triples.py" |
| #11 | MIGRATE_SCRIPT = ROOT / "scripts" / "migrate_from_legacy.py" |
| #12 | |
| #13 | |
| #14 | def _isolated_env(tmp_path): |
| #15 | home = tmp_path / "home" |
| #16 | data_dir = tmp_path / "custom-data" |
| #17 | env = os.environ.copy() |
| #18 | env["HOME"] = str(home) |
| #19 | env["MNEMOSYNE_DATA_DIR"] = str(data_dir) |
| #20 | return env, home, data_dir |
| #21 | |
| #22 | |
| #23 | def _store_memory(env): |
| #24 | result = subprocess.run( |
| #25 | [sys.executable, "-m", "mnemosyne.cli", "store", "script data dir probe"], |
| #26 | cwd=str(ROOT), |
| #27 | env=env, |
| #28 | capture_output=True, |
| #29 | text=True, |
| #30 | timeout=30, |
| #31 | ) |
| #32 | assert result.returncode == 0, result.stderr |
| #33 | |
| #34 | |
| #35 | def test_backfill_temporal_triples_uses_mnemosyne_data_dir(tmp_path): |
| #36 | env, home, data_dir = _isolated_env(tmp_path) |
| #37 | _store_memory(env) |
| #38 | |
| #39 | result = subprocess.run( |
| #40 | [sys.executable, str(BACKFILL_SCRIPT), "--dry-run"], |
| #41 | cwd=str(ROOT), |
| #42 | env=env, |
| #43 | capture_output=True, |
| #44 | text=True, |
| #45 | timeout=30, |
| #46 | ) |
| #47 | |
| #48 | assert result.returncode == 0, result.stdout + result.stderr |
| #49 | assert f"Database: {data_dir / 'mnemosyne.db'}" in result.stdout |
| #50 | assert "ERROR: Database not found" not in result.stdout |
| #51 | assert (data_dir / "mnemosyne.db").exists() |
| #52 | assert not (home / ".hermes" / "mnemosyne" / "data" / "mnemosyne.db").exists() |
| #53 | |
| #54 | |
| #55 | def test_migrate_from_legacy_uses_mnemosyne_data_dir_as_canonical(tmp_path): |
| #56 | env, home, data_dir = _isolated_env(tmp_path) |
| #57 | |
| #58 | result = subprocess.run( |
| #59 | [sys.executable, str(MIGRATE_SCRIPT), "--dry-run"], |
| #60 | cwd=str(ROOT), |
| #61 | env=env, |
| #62 | capture_output=True, |
| #63 | text=True, |
| #64 | timeout=30, |
| #65 | ) |
| #66 | |
| #67 | assert result.returncode == 0, result.stdout + result.stderr |
| #68 | assert f"Canonical DB: {data_dir / 'mnemosyne.db'}" in result.stdout |
| #69 | assert (data_dir / "mnemosyne.db").exists() |
| #70 | assert not (home / ".hermes" / "mnemosyne" / "data" / "mnemosyne.db").exists() |
| #71 | |
| #72 | |
| #73 | def test_empty_mnemosyne_data_dir_falls_back_to_default_for_scripts(tmp_path): |
| #74 | home = tmp_path / "home" |
| #75 | default_db = home / ".hermes" / "mnemosyne" / "data" / "mnemosyne.db" |
| #76 | env = os.environ.copy() |
| #77 | env["HOME"] = str(home) |
| #78 | env["MNEMOSYNE_DATA_DIR"] = "" |
| #79 | _store_memory(env) |
| #80 | |
| #81 | backfill = subprocess.run( |
| #82 | [sys.executable, str(BACKFILL_SCRIPT), "--dry-run"], |
| #83 | cwd=str(ROOT), |
| #84 | env=env, |
| #85 | capture_output=True, |
| #86 | text=True, |
| #87 | timeout=30, |
| #88 | ) |
| #89 | assert backfill.returncode == 0, backfill.stdout + backfill.stderr |
| #90 | assert f"Database: {default_db}" in backfill.stdout |
| #91 | |
| #92 | migrate = subprocess.run( |
| #93 | [sys.executable, str(MIGRATE_SCRIPT), "--dry-run"], |
| #94 | cwd=str(ROOT), |
| #95 | env=env, |
| #96 | capture_output=True, |
| #97 | text=True, |
| #98 | timeout=30, |
| #99 | ) |
| #100 | assert migrate.returncode == 0, migrate.stdout + migrate.stderr |
| #101 | assert f"Canonical DB: {default_db}" in migrate.stdout |
| #102 | assert default_db.exists() |
| #103 | assert not (ROOT / "mnemosyne.db").exists() |
| #104 |