| from __future__ import annotations |
|
|
| from pathlib import Path |
|
|
| from adam.config import ConfigManager |
| from adam.tool_folders import ToolFolderManager |
|
|
|
|
| def test_folder_scanner_detects_expected_entry_points(tmp_path: Path) -> None: |
| program = tmp_path / "DDPM" |
| program.mkdir() |
| (program / "train.py").write_text("# worker", encoding="utf-8") |
| (program / "appStableDiffusion.py").write_text("# gui", encoding="utf-8") |
| config_root = tmp_path / "adam" |
| manager = ToolFolderManager(ConfigManager(config_root)) |
|
|
| status = manager.set("ddpm_trainer", str(program)) |
|
|
| assert status.valid is True |
| assert status.entry_points == ("train.py", "appStableDiffusion.py") |
| assert manager.get("ddpm_trainer") == str(program) |
|
|
|
|
| def test_chat_assignment_parser_accepts_multiple_windows_paths(tmp_path: Path) -> None: |
| manager = ToolFolderManager(ConfigManager(tmp_path)) |
| assignments = manager.parse_assignments( |
| "DDPM Trainer: D:\\Programs\\DDPM\n" |
| "Flow Matching Trainer: D:\\Programs\\FlowMatch" |
| ) |
|
|
| assert assignments == { |
| "ddpm_trainer": "D:\\Programs\\DDPM", |
| "flow_trainer": "D:\\Programs\\FlowMatch", |
| } |
|
|
|
|