Coverage for vibefpmgui/run_monitor.py: 100%
11 statements
« prev ^ index » next coverage.py v7.16.2, created at 2026-11-01 20:51 +0000
« prev ^ index » next coverage.py v7.16.2, created at 2026-11-01 20:51 +0000
1"""The "Run" tab: progress of programs started with Run.
3It is the Tests panel with different wording: programs are launched through
4the same marker wrapper (`vibefpmgui.test_runner`), so each one's start,
5end, exit code and output are known, and run times are remembered to
6estimate the next run.
7"""
9from __future__ import annotations
11from typing import ClassVar
13from .test_monitor import PASSED, TestMonitor
16class RunMonitor(TestMonitor):
17 COLUMNS: ClassVar[list[str]] = ["PROGRAM", "STATUS", "TIME"]
18 ICON = "run"
19 WORDS: ClassVar[dict[str, str]] = {
20 "title": "Run", "item": "program", "items": "programs",
21 PASSED: "Finished", "passed": "finished",
22 "idle": "Run a program (toolbar Run, or Run in the Build outputs tab) to see it here.",
23 "idle_label": "Run a program to see progress",
24 "collecting": "Building… (per-file progress is in the Build tab)",
25 "collecting_label": "finding programs",
26 "after_build": "programs start after the build",
27 "none": "This project has no programs to run.", "none_label": "No programs",
28 "unlisted": "The programs could not be built or listed — see the Build tab and output.",
29 "row_tip": "Click to show only this program's output",
30 }
32 def __init__(self, parent=None):
33 super().__init__(parent)
34 self.setObjectName("RunMonitor")
35 self.refresh_palette()