Skip to content

feat: Add --progress flag for live progress display#17

Merged
haugoug merged 1 commit intogvsoc:mainfrom
germainh512:live-progress
Mar 11, 2026
Merged

feat: Add --progress flag for live progress display#17
haugoug merged 1 commit intogvsoc:mainfrom
germainh512:live-progress

Conversation

@germainh512
Copy link

Adds a Rich-based live progress display with --progress flag.

What it shows

OK       demo:test_3      default
OK       demo:test_2      default
Tests ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8/10 │ ✓ 8  ✗ 0  ⊘ 0 │ 1.2s
 ⏳ demo:test_0            default   1.2s
 ⏳ demo:test_1            default   0.8s
  • Progress bar with completed/total count
  • Pass/fail/skip counters updated in real-time
  • Currently running tests with elapsed time
  • Scrolling results (OK/KO) above the progress panel
  • Updates at 4fps, no flicker

Usage

gvtest --progress

136 tests passing.

@germainh512 germainh512 force-pushed the live-progress branch 30 times, most recently from 8f0ebd7 to 71b1419 Compare March 11, 2026 12:00
@germainh512 germainh512 force-pushed the live-progress branch 3 times, most recently from 8b68995 to 4fb1ee9 Compare March 11, 2026 12:09
Two new display modes for monitoring test execution:

--no-progress: Disable the live progress bar (on by default)
  Shows colored progress bar with pass/fail/skip counters
  below scrolling OK/KO results.

--tui: Full-screen curses TUI with split-pane layout
  ┌─ Results ─────────────────┬─ Running ────────────┐
  │ OK  test_3     default    │ test_0  1.2s         │
  │ KO  test_5     siracusa   │ test_1  0.8s         │
  ├─ Progress ────────────────┴──────────────────────┤
  │ ████░░░  45/120 | pass:42 fail:2 skip:1 | 3m12s  │
  └──────────────────────────────────────────────────┘

  Left: scrollable results (↑↓ PageUp/Down Home/End)
  Right: currently running tests with elapsed time
  Bottom: colored progress bar

  No external dependencies (uses curses from stdlib).

  Scroll controls:
  - ↑↓ PageUp/PageDown: scroll results
  - Home: jump to top
  - End: resume auto-follow
  - q/ESC: quit

Progress bar features:
- Colored segments: green=pass, red=fail, yellow=skip
- Minimum 1 char per non-zero segment (no invisible failures)
- Counts skipped/excluded tests correctly

136 tests passing.
@haugoug haugoug merged commit 4088516 into gvsoc:main Mar 11, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants