diff --git a/python/gvtest/pytest_integration.py b/python/gvtest/pytest_integration.py index ce5aea3..0d80786 100644 --- a/python/gvtest/pytest_integration.py +++ b/python/gvtest/pytest_integration.py @@ -247,6 +247,15 @@ def enqueue(self) -> None: # Collect active (non-skipped) tests active_tests: list[PytestTest] = [] for test in self.tests: + config = ( + test.target.name + if test.target is not None + else self.runner.get_config() + ) + self.runner.count_test() + if self.runner.tui is not None: + self.runner.tui.count_target(config) + if (self.runner.is_skipped(test.get_full_name()) or test.skipped is not None): # Handle skipped tests diff --git a/python/gvtest/tui.py b/python/gvtest/tui.py index 1834af1..8198f82 100644 --- a/python/gvtest/tui.py +++ b/python/gvtest/tui.py @@ -317,12 +317,14 @@ def _draw(self, stdscr: Any) -> None: # Top area split: left 2/3, right 1/3 progress_h = 3 top_h = h - progress_h - left_w = w * 2 // 3 + left_w = w // 2 right_w = w - left_w - # Right side: running on top, targets on bottom + # Right side: running on top, targets on bottom. + # Show all targets, keep at least 3 rows for running + # (1 content + 2 border). n_targets = max(1, len(self.target_stats)) - targets_h = min(n_targets + 2, top_h // 3) + targets_h = min(n_targets + 2, top_h - 3) running_h = top_h - targets_h with self.lock: