| import os | |
| from pathlib import Path | |
| from vascx_models import runtime | |
| def test_configure_runtime_environment_sets_paths_and_links_models( | |
| tmp_path: Path, monkeypatch | |
| ) -> None: | |
| package_dir = tmp_path / "vascx_models" | |
| package_dir.mkdir() | |
| (package_dir / "__init__.py").write_text("", encoding="utf-8") | |
| weights_dir = tmp_path / "disc" | |
| weights_dir.mkdir() | |
| model_path = weights_dir / "disc_test.pt" | |
| model_path.write_text("model", encoding="utf-8") | |
| monkeypatch.setattr(runtime, "repo_root", lambda: tmp_path) | |
| monkeypatch.delenv("MPLCONFIGDIR", raising=False) | |
| monkeypatch.delenv("XDG_CACHE_HOME", raising=False) | |
| monkeypatch.delenv("RTNLS_MODEL_RELEASES", raising=False) | |
| runtime.configure_runtime_environment() | |
| assert Path(os.environ["MPLCONFIGDIR"]) == tmp_path / ".mplconfig" | |
| assert Path(os.environ["XDG_CACHE_HOME"]) == tmp_path / ".cache" | |
| assert Path(os.environ["RTNLS_MODEL_RELEASES"]) == tmp_path / "model_releases" | |
| linked_model = tmp_path / "model_releases" / "disc_test.pt" | |
| assert linked_model.is_symlink() | |
| assert linked_model.resolve() == model_path.resolve() | |