Repository navigation
refactor(flutter_tools): finish TestCommand OptionDescriptor and OptionBundle migration - #194361
Merged
Merged
Conversation
…OptionDescriptor Delegates the remaining shared `FlutterCommand` `uses*` / `add*` helpers and internal `boolArg` / `stringArg` / `stringsArg` lookups to typed `OptionDescriptor` instances and reusable `OptionBundle` classes (`DeviceDiscoveryOptionsBundle`, `FilesystemOptionsBundle`, `VmServicePortOptionsBundle`, `DdsAndDevToolsOptionsBundle`, `ResidentCompilerOptionsBundle`, and `EngineRenderingFlagsBundle`), and enhances `BuildModeOptionsBundle` (`defaultToRelease`, `excludeDebug`, `excludeRelease`). Part of flutter#194338
…onBundle migration
…classes in test.dart
…ildModeOptionsBundle
9 tasks done
kevmoo
added a commit
to kevmoo/flutter
that referenced
this pull request
Oct 14, 2026
…es (flutter#194356) Moves the remaining shared CLI options on `FlutterCommand` into declarative option descriptors and bundles, and replaces untyped argument lookups in the command runner with typed descriptor reads. - **Shared option bundles for leaf commands**: Groups common CLI flags—device discovery, VM service/DevTools ports, filesystem overrides, resident compiler settings, engine rendering flags, and build mode configuration—into reusable bundles. This sets the stage for follow-up PRs migrating `assemble` (flutter#194358), `attach` (flutter#194359), `drive` (flutter#194360), `test` (flutter#194361), and `run` (flutter#194362). - **Deduplicated build flags**: Consolidates duplicate definitions and drifted help text for `--config-only`, `--target-platform` (`build apk`, `build aar`, `build appbundle`), `--static` (`build ios-framework`, `build macos-framework`, `build swift-package`), and `--performance-measurement-file`. Part of flutter#194338 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing.
kevmoo
marked this pull request as ready for review
October 15, 2026 00:14
17 of 19 tasks
Contributor
There was a problem hiding this comment.
Code Review
This pull request refactors the TestCommand class in packages/flutter_tools/lib/src/commands/test.dart to use centralized option descriptors and bundles, such as WebOptions and CommonOptions, instead of locally defined flags. A potential regression was identified where replacing the wasParsed check with getValue for WebOptions.crossOriginIsolation could override default renderer-specific behaviors when the option is not explicitly provided.
bkonyi
previously approved these changes
Oct 15, 2026
harryterkelsen
requested changes
Oct 15, 2026
harryterkelsen
approved these changes
Oct 15, 2026
This was referenced Oct 16, 2026
auto-submit Bot
pushed a commit
to flutter/packages
that referenced
this pull request
Oct 16, 2026
flutter/flutter@5c7e45a...a3d71d8 2026-10-16 evanwall@buffalo.edu 0 Initialize variables in the DlComplexityPathReceiver helper (flutter/flutter#194540) 2026-10-16 engine-flutter-autoroll@skia.org Roll Fuchsia Test Scripts from V-qQL4158Nw6L-QLi... to 2T18KC7-LDQtmQiLP... (flutter/flutter#194527) 2026-10-16 evanwall@buffalo.edu Remove BorderMaskBlur (flutter/flutter#194508) 2026-10-16 engine-flutter-autoroll@skia.org Roll Skia from a577264dc087 to 470b8816a261 (1 revision) (flutter/flutter#194526) 2026-10-16 41930132+hellohuanlin@users.noreply.github.com [ios] Use DFS traversal to find engines of a scene automatically (rather than manually manage the engines list) (flutter/flutter#192457) 2026-10-16 63228361+krll-kov@users.noreply.github.com [Skia][DisplayList] Map local bounds through the local matrix in DlLocalMatrixImageFilter (flutter/flutter#193963) 2026-10-16 manarelhabbal619@gmail.com [framework] Fix avoid_setters_without_getters warnings on mixin declarations (flutter/flutter#193856) 2026-10-16 engine-flutter-autoroll@skia.org Roll Dart SDK from 84686ea04815 to 55a734a01fb1 (3 revisions) (flutter/flutter#194522) 2026-10-16 engine-flutter-autoroll@skia.org Roll Skia from d131b7789482 to a577264dc087 (7 revisions) (flutter/flutter#194514) 2026-10-16 engine-flutter-autoroll@skia.org Roll Fuchsia GN SDK from PDJz3b3CL31uoLOkD... to kFdyRnojbVy0cxvRZ... (flutter/flutter#194510) 2026-10-16 mdebbar@google.com Roll GN to f9eca75ae554 (flutter/flutter#194471) 2026-10-16 kevmoo@users.noreply.github.com refactor(flutter_tools): migrate RunCommand and RunCommandBase to OptionDescriptor and OptionBundle (flutter/flutter#194362) 2026-10-15 kevmoo@users.noreply.github.com refactor(flutter_tools): finish TestCommand OptionDescriptor and OptionBundle migration (flutter/flutter#194361) 2026-10-15 puneetkukreja98@gmail.com [iOS][a11y] Fix VoiceOver announcement for unfocused password fields (flutter/flutter#192851) 2026-10-15 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#194477) 2026-10-15 kevmoo@users.noreply.github.com refactor(flutter_tools): finish DriveCommand OptionDescriptor migration (flutter/flutter#194360) 2026-10-15 bkonyi@google.com [flutter_tools] Roll package:vm_service to 15.4.0 (flutter/flutter#194467) 2026-10-15 kevmoo@users.noreply.github.com refactor(flutter_tools): migrate AttachCommand to OptionDescriptor and OptionBundle (flutter/flutter#194359) 2026-10-15 bkonyi@google.com [flutter_tools] Inject dependencies into update-packages and package_map (flutter/flutter#194046) 2026-10-15 30870216+gaaclarke@users.noreply.github.com [impeller] parallelize opengles shader compiles (flutter/flutter#194022) 2026-10-15 137456488+flutter-pub-roller-bot@users.noreply.github.com Roll pub packages (flutter/flutter#194469) 2026-10-15 tamirenkhbayar3@gmail.com Restrict web dev server to loopback by default (flutter/flutter#187595) 2026-10-15 engine-flutter-autoroll@skia.org Roll Packages from a1ed23c to da40eaf (33 revisions) (flutter/flutter#194459) 2026-10-15 dbebawy@users.noreply.github.com [web] Render soft hyphens on Skwasm (flutter/flutter#193850) 2026-10-15 kevmoo@users.noreply.github.com refactor(flutter_tools): migrate AssembleCommand to OptionDescriptor (flutter/flutter#194358) 2026-10-15 97480502+b-luk@users.noreply.github.com [windows] Add OpenGL golden test against ANGLE at D3D11 feature level 10_0 (flutter/flutter#194321) If this roll has caused a breakage, revert this CL and set the roller to dry run mode using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC bmparr@google.com,stuartmorgan@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
suryaKommana2662
pushed a commit
to suryaKommana2662/flutter
that referenced
this pull request
Oct 29, 2026
…es (flutter#194356) Moves the remaining shared CLI options on `FlutterCommand` into declarative option descriptors and bundles, and replaces untyped argument lookups in the command runner with typed descriptor reads. - **Shared option bundles for leaf commands**: Groups common CLI flags—device discovery, VM service/DevTools ports, filesystem overrides, resident compiler settings, engine rendering flags, and build mode configuration—into reusable bundles. This sets the stage for follow-up PRs migrating `assemble` (flutter#194358), `attach` (flutter#194359), `drive` (flutter#194360), `test` (flutter#194361), and `run` (flutter#194362). - **Deduplicated build flags**: Consolidates duplicate definitions and drifted help text for `--config-only`, `--target-platform` (`build apk`, `build aar`, `build appbundle`), `--static` (`build ios-framework`, `build macos-framework`, `build swift-package`), and `--performance-measurement-file`. Part of flutter#194338 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing.
suryaKommana2662
pushed a commit
to suryaKommana2662/flutter
that referenced
this pull request
Oct 29, 2026
…onBundle migration (flutter#194361) Completes the `flutter test` migration to the shared option bundles and web/debugging descriptors from flutter#194356, removing the remaining imperative option helpers and untyped argument lookups. Part of flutter#194338 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Completes the
flutter testmigration to the shared option bundles and web/debugging descriptors from #194356, removing the remaining imperative option helpers and untyped argument lookups.Part of #194338
Pre-launch Checklist
///).