Skip to content

History tab: multi-select copy to clipboard — v0.8.1 - #165

Merged
jamesabel merged 1 commit into
masterfrom
feature/history-copy
Aug 20, 2026
Merged

History tab: multi-select copy to clipboard — v0.8.1#165
jamesabel merged 1 commit into
masterfrom
feature/history-copy

Conversation

@jamesabel

Copy link
Copy Markdown
Owner

Summary

Adds selection and clipboard copy to the History tab.

  • The history tree now uses extended selection: Ctrl/Shift-click any mix of run rows and failed-test rows.
  • Ctrl+C or right-click → Copy puts the highlighted rows on the clipboard, in visual (tree) order — run rows as tab-separated column values (pastes cleanly into a spreadsheet), failed-test rows as the test node_id. Copy with nothing selected is a no-op; the context-menu Copy is disabled then.
  • Selections survive the per-tick rebuilds during an active run (keyed by run GUID, and test name for failed-test rows), the same way expansion state already does.
  • Version bumped to 0.8.1.

Testing

  • New tests in tests/test_history_tab.py: copy formatting and visual ordering, empty-selection no-op, and selection persistence across rebuilds.
  • Full suite: 463 passed. ruff check / ruff format clean; ty diagnostics unchanged (13, all pre-existing).

🤖 Generated with Claude Code

- Extended selection on the history tree: Ctrl/Shift-click selects any mix
  of run rows and failed-test rows
- Ctrl+C (WidgetWithChildrenShortcut, so it fires with viewport focus) and
  a right-click Copy menu put the highlighted rows on the clipboard, in
  visual order: run rows as tab-separated column values, failed-test rows
  as the test node_id
- Selection survives the per-tick rebuilds during an active run, keyed by
  run GUID (and test name for failed-test rows), like expansion state

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jamesabel
jamesabel merged commit 6cfa052 into master Aug 20, 2026
3 checks passed
@jamesabel
jamesabel deleted the feature/history-copy branch August 20, 2026 16:56
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 84.31373% with 8 lines in your changes missing coverage. Please review.
✅ Project coverage is 87.41%. Comparing base (1ca70cb) to head (b5a197b).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
src/pytest_fly/gui/history_tab/history_tab.py 84.31% 8 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #165      +/-   ##
==========================================
- Coverage   87.44%   87.41%   -0.04%     
==========================================
  Files          71       71              
  Lines        5713     5759      +46     
==========================================
+ Hits         4996     5034      +38     
- Misses        717      725       +8     

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

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