Add interval refresh mode

This commit is contained in:
2026-06-25 15:26:18 +08:00
parent b8f007fd5c
commit 214dddced4
3 changed files with 68 additions and 1 deletions

View File

@@ -1,14 +1,19 @@
import io
from pathlib import Path
from tempfile import TemporaryDirectory
import unittest
from rich.console import Console
from mm.cli import (
GPUStat,
MachineConfig,
MachineResult,
build_parser,
gpu_summary,
load_machines,
parse_nvidia_smi_csv,
render_dashboard,
)
@@ -67,6 +72,18 @@ class NvidiaSmiParsingTests(unittest.TestCase):
class RenderingTests(unittest.TestCase):
def test_render_dashboard_includes_last_refresh_time(self) -> None:
console = Console(
file=io.StringIO(),
record=True,
color_system=None,
width=120,
)
render_dashboard([], Path("list.yaml"), console, refreshed_at="12:34:56")
self.assertIn("last refresh: 12:34:56", console.export_text())
def test_gpu_summary_uses_fixed_width_decimal_metrics(self) -> None:
result = MachineResult(
machine=MachineConfig(alias="dash0", label="dash0"),
@@ -82,5 +99,12 @@ class RenderingTests(unittest.TestCase):
)
class CLITests(unittest.TestCase):
def test_interval_flag_sets_refresh_interval(self) -> None:
args = build_parser().parse_args(["--interval", "15"])
self.assertEqual(args.interval, 15)
if __name__ == "__main__":
unittest.main()