Skip to content

Conversation

@theogf
Copy link
Owner

@theogf theogf commented Dec 8, 2025

This is a first step in the direction of both #11 and #72

@codecov
Copy link

codecov bot commented Dec 8, 2025

Codecov Report

❌ Patch coverage is 64.70588% with 6 lines in your changes missing coverage. Please review.
✅ Project coverage is 51.23%. Comparing base (8e6f362) to head (cb62889).
⚠️ Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
src/repl.jl 0.00% 2 Missing ⚠️
src/testblock.jl 66.66% 2 Missing ⚠️
src/testfile.jl 77.77% 2 Missing ⚠️
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.
📢 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.

@theogf theogf requested a review from Copilot December 8, 2025 21:55
@theogf theogf merged commit 20ec101 into main Dec 8, 2025
9 of 10 checks passed
@theogf theogf deleted the tgf/no-interactive-modee branch December 8, 2025 21:59
Copy link

Copilot AI left a 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::Bool parameter (default true) to test selection functions, enabling non-interactive filtering mode
  • Implemented non-interactive logic using fzf --filter in 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)
Copy link

Copilot AI Dec 8, 2025

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, or
  • any(startswith.("sandbox/", files)) using broadcasting

This differs from the filter usage on line 12 where the partial application works directly.

Suggested change
@test any(startswith("sandbox/"), files)
@test any(f -> startswith(f, "sandbox/"), files)

Copilot uses AI. Check for mistakes.
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