Skip to content

Don't enqueue() entire test suite unless we know the whole suite is being run - #6093

Merged
DanTup merged 1 commit into
masterfrom
selective-enqueue
Jun 18, 2026
Merged

DanTup merged 1 commit into
masterfrom
selective-enqueue

Conversation

@DanTup

@DanTup DanTup commented Jun 18, 2026

Copy link
Copy Markdown
Member

The fix for #5928 was to enqueue() an entire test suite when it started running. However, this meant that running even a single test would enqueue the entire test suite, and then when only one test ran, the others would all get marked as skipped.

To fix this, we only enqueue() the whole suite in cases where we know we are running the entire suite (eg. you press F5). If you run a subset of tests, we do not. This does mean that if you run a group then nothing gets enqueued (so you won't see the "waiting" status icons), but this seems to be the best trade-off we can make given that we don't have a concrete link between the debug session we start and what tests run (because of dynamic test names, etc.).

Fixes #6091

…eing run

The fix for #5928 was to enqueue() an entire test suite when it started running. However, this meant that running even a single test would enqueue the entire test suite, and then when only one test ran, the others would all get marked as skipped.

To fix this, we only enqueue() the whole suite in cases where we know we are running the entire suite (eg. you press `F5`). If you run a subset of tests, we do not. This does mean that if you run a _group_ then nothing gets enqueued (so you won't see the "waiting" status icons), but this seems to be the best trade-off we can make given that we don't have a concrete link between the debug session we start and what tests run (because of dynamic test names, etc.).

Fixes #6091
@DanTup DanTup added this to the v3.138.0 milestone Jun 18, 2026
@DanTup DanTup added is bug fix in testing Relates to test execution of Dart/Flutter tests for end users labels Jun 18, 2026

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a change to only enqueue an entire test suite when we are certain that the whole suite is being run (e.g., when running a file via F5) and the run was not initiated by the VS Code test runner. This is achieved by adding and setting an isRunningWholeSuite flag on SuiteData during flagSuiteStart. There are no review comments, and I have no additional feedback to provide.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

@codecov

codecov Bot commented Jun 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 71.05%. Comparing base (3c5b120) to head (8863ef8).

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #6093      +/-   ##
==========================================
+ Coverage   71.02%   71.05%   +0.02%     
==========================================
  Files         172      172              
  Lines       13058    13060       +2     
  Branches     2608     2608              
==========================================
+ Hits         9275     9280       +5     
+ Misses       3286     3284       -2     
+ Partials      497      496       -1     

☔ 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@DanTup
DanTup merged commit af662a6 into master Jun 18, 2026
25 checks passed
@DanTup
DanTup deleted the selective-enqueue branch June 18, 2026 11:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

in testing Relates to test execution of Dart/Flutter tests for end users is bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Running a single test marks all other tests as skipped

1 participant