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

1"""The "Run" tab: progress of programs started with Run. 

2 

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""" 

8 

9from __future__ import annotations 

10 

11from typing import ClassVar 

12 

13from .test_monitor import PASSED, TestMonitor 

14 

15 

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 } 

31 

32 def __init__(self, parent=None): 

33 super().__init__(parent) 

34 self.setObjectName("RunMonitor") 

35 self.refresh_palette()