Refactor CLI and LLM runtime handling for improved user experience
- 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.
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user