-
Notifications
You must be signed in to change notification settings - Fork 5
Add option to avoid interactive mode #73
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #73 +/- ##
==========================================
+ Coverage 49.24% 51.23% +1.98%
==========================================
Files 10 10
Lines 396 406 +10
==========================================
+ Hits 195 208 +13
+ Misses 201 198 -3 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds a non-interactive mode option to TestPicker's fuzzy file and test block selection functionality, enabling programmatic test selection via fzf's filter mode. This is a step toward addressing issues #11 and #72 by allowing the tool to be used in automated/scripted contexts.
Key Changes:
- Added
interactive::Boolparameter (defaulttrue) to test selection functions, enabling non-interactive filtering mode - Implemented non-interactive logic using
fzf --filterin both file and testblock selection paths - Updated documentation to reflect both interactive and non-interactive usage modes
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| test/testfile.jl | Adds test cases for non-interactive file selection with various query scenarios |
| test/testblock.jl | Adds test cases for non-interactive testblock selection including nested testsets |
| src/testfile.jl | Implements non-interactive mode in select_test_files and fzf_testfile, updates documentation |
| src/testblock.jl | Implements non-interactive mode in pick_testblock, fzf_testblock_from_files, and fzf_testblock, updates documentation |
| src/repl.jl | Explicitly passes interactive=true to maintain current REPL behavior |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| @test mode == :file | ||
| @test root == joinpath(path, "test") | ||
| @test length(files) >= 3 # At least test-a, test-b, and weird-name | ||
| @test any(startswith("sandbox/"), files) |
Copilot
AI
Dec 8, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The any function call is missing the proper predicate syntax. The current form any(startswith("sandbox/"), files) will not work correctly. It should be either:
any(f -> startswith(f, "sandbox/"), files)using an anonymous function, orany(startswith.("sandbox/", files))using broadcasting
This differs from the filter usage on line 12 where the partial application works directly.
| @test any(startswith("sandbox/"), files) | |
| @test any(f -> startswith(f, "sandbox/"), files) |
This is a first step in the direction of both #11 and #72