- Removed deprecated console usage in favor of structured logging functions for error handling and user prompts. - Enhanced CLI prompts for LLM runtime and preset selection, utilizing menu helpers for better user interaction. - Updated GPU pool scanning output with improved formatting and error indication for clarity. - Refactored setup wizard to streamline LLM runtime and preset configuration, ensuring a more intuitive setup process. - Improved documentation and user feedback in CLI outputs to enhance overall usability.
33 lines
1007 B
Python
33 lines
1007 B
Python
from gpu_rent.prompts import MenuItem, prompt_menu, resolve_menu_choice
|
|
|
|
|
|
def test_resolve_by_number():
|
|
items = [MenuItem("a", "A"), MenuItem("b", "B"), MenuItem("keep", "K")]
|
|
assert resolve_menu_choice("2", items, default_key="keep") == "b"
|
|
assert resolve_menu_choice("", items, default_key="keep") == "keep"
|
|
assert resolve_menu_choice("keep", items, default_key="a") == "keep"
|
|
|
|
|
|
def test_prompt_menu_prints_and_picks():
|
|
items = [
|
|
MenuItem("recommended", "rec"),
|
|
MenuItem("light", "lit"),
|
|
MenuItem("keep", "keep yaml"),
|
|
]
|
|
shown: list[str] = []
|
|
|
|
def ask(msg: str, default: str = "") -> str:
|
|
assert default == "3" # keep is default
|
|
return "1"
|
|
|
|
key = prompt_menu(
|
|
"GGUF",
|
|
items,
|
|
default="keep",
|
|
ask=ask,
|
|
show=shown.append,
|
|
)
|
|
assert key == "recommended"
|
|
assert any("1. rec" in line for line in shown)
|
|
assert any("←" in line for line in shown)
|