mirror of
https://github.com/nicolargo/glances.git
synced 2026-07-31 07:16:17 -04:00
Implements the v5 scalar uptime plugin:
- model_v5: _grab_stats returns {seconds: int} from psutil.boot_time(),
tolerates OSError with empty payload, matches v4 get_export contract.
- render_curses_v5: single "Uptime: <value>" Row for the header slot,
using format_seconds (e.g. 273840 → "3d04h"); empty payload yields [].
TDD: 4 model tests + 2 renderer tests, all green. Discovery smoke check passes.
20 lines
581 B
Python
20 lines
581 B
Python
"""Glances v5 — tests for the uptime curses renderer (header-right block)."""
|
|
|
|
from __future__ import annotations
|
|
|
|
from glances.plugins.uptime.render_curses_v5 import render
|
|
|
|
UPTIME_FIELDS = {"seconds": {"unit": "seconds"}}
|
|
|
|
|
|
def test_render_shows_uptime_label_and_value():
|
|
rows = render({"seconds": 273_840, "_levels": {}}, UPTIME_FIELDS) # 3d04h
|
|
assert len(rows) == 1
|
|
flat = " ".join(c.text for c in rows[0].cells)
|
|
assert "Uptime:" in flat
|
|
assert "3d04h" in flat
|
|
|
|
|
|
def test_render_empty_payload_yields_no_rows():
|
|
assert render({}, UPTIME_FIELDS) == []
|