Skip to content

[flutter_tools] Migrate test helpers and integration tests off globals - #196124

Merged
auto-submit[bot] merged 4 commits into
flutter:masterfrom
bkonyi:di/test-globals-helpers-and-integration
Nov 11, 2026
Merged

auto-submit[bot] merged 4 commits into
flutter:masterfrom
bkonyi:di/test-globals-helpers-and-integration

Conversation

@bkonyi

@bkonyi bkonyi commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Migrates flutter_tools integration.shard tests (and dev/integration_tests/widget_preview_scaffold/test/dtd_services_test.dart) and shared test/src/ helpers directly to explicit constructor/parameter dependency injection and testWithoutContext, while updating the legacy zone-based test harnesses (test/src/context.dart, test/src/testbed.dart, and DelegatingToolContext in test/src/fakes.dart) off globals.dart.

Part of #47161

Migrates shared `flutter_tools` test helpers (`test/src/`) and integration tests (`test/integration.shard/` and `dev/integration_tests/widget_preview_scaffold/test/`) off ambient `globals` and `context.get<T>()` to explicit `ToolContext` and constructor dependency injection.

Part of flutter#47161
@bkonyi bkonyi added tool Affects the "flutter" command-line tool. See also t: labels. CICD Run CI/CD labels Nov 6, 2026
@github-actions github-actions Bot added team-android Owned by Android platform team team-ios Owned by iOS platform team team-macos Owned by the macOS platform team labels Nov 6, 2026
…pers with explicit DI

Replaces remaining `context.get` lookups across `integration.shard` tests, `dtd_services_test.dart`, and `test/src/` helpers (`android_common.dart`, `fake_web_devfs.dart`, `pubspec_schema.dart`) with explicit dependency injection and `testWithoutContext`, and updates `Testbed` in `test/src/testbed.dart` to seed explicit defaults rather than reading ambient context outside its test zone.

Part of flutter#47161
…lden comparator test

Wrap LocalFileSystem in ErrorHandlingFileSystem in test_golden_comparator_test.dart so Windows retry handling is preserved when deleting temporary directories during teardown.

Part of flutter#47161
…eWebDevFS

Reverts test/src/fakes.dart to the base revision so DelegatingToolContext is not touched before removal, and removes the unused fileSystem and logger parameters from createWebDevFS.

Part of flutter#47161
@bkonyi
bkonyi marked this pull request as ready for review November 10, 2026 18:57
@bkonyi
bkonyi requested review from a team as code owners November 10, 2026 18:57
@bkonyi
bkonyi requested review from chingjun and gmackall and removed request for a team November 10, 2026 18:57

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

Copy link
Copy Markdown
Contributor

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 migrates several integration tests in flutter_tools from zone-based context (testUsingContext) to context-free tests (testWithoutContext), replacing global context references with explicit dependency injection. Feedback on these changes suggests: (1) using addTearDown inside setUp in test_golden_comparator_test.dart to prevent LateInitializationErrors if setup fails, (2) retaining explicit parameters in createWebDevFS to avoid coupling it to zone-based TestBed harnesses, and (3) using const LocalFileSystem() as a delegate in pubspec_schema.dart to prevent potential resource leaks from undisposed test file systems.

@bkonyi bkonyi added the autosubmit Merge PR when tree becomes green via auto submit App label Nov 11, 2026
@auto-submit
auto-submit Bot added this pull request to the merge queue Nov 11, 2026
Merged via the queue into flutter:master with commit 5f3331c Nov 11, 2026
22 checks passed
@flutter-dashboard flutter-dashboard Bot removed the autosubmit Merge PR when tree becomes green via auto submit App label Nov 11, 2026
auto-submit Bot pushed a commit to flutter/packages that referenced this pull request Nov 11, 2026
flutter/flutter@fffd8c2...b98afb5

2026-11-11 [email protected] Roll Dart SDK from 172cf8f121c0 to 8f15c4ca2d41 (1 revision) (flutter/flutter#196367)
2026-11-11 [email protected] Roll Skia from 657283e78115 to cc4c54f752ba (5 revisions) (flutter/flutter#196365)
2026-11-11 [email protected] Roll Skia from 2605c4a9761c to 657283e78115 (1 revision) (flutter/flutter#196358)
2026-11-11 [email protected] Roll Dart SDK from 890c6d15334c to 172cf8f121c0 (1 revision) (flutter/flutter#196352)
2026-11-11 [email protected] [flutter_tools] Migrate general.shard project, runner, and web tests off globals (flutter/flutter#196128)
2026-11-11 [email protected] [flutter_tools] Migrate test helpers and integration tests off globals (flutter/flutter#196124)
2026-11-11 [email protected] [web] Report skwasm WebGL context creation failure instead of hanging (flutter/flutter#193293)
2026-11-11 [email protected] [flutter_tools] Migrate commands.shard tests off globals (flutter/flutter#196139)
2026-11-11 [email protected] [devicelab] Fix memory benchmark tap synchronization and swipe flakes (flutter/flutter#194457)
2026-11-11 [email protected] Roll Skia from 06062e36d938 to 2605c4a9761c (2 revisions) (flutter/flutter#196350)
2026-11-11 [email protected] Do not wait again for a closed mock event stream in tear down (flutter/flutter#196110)
2026-11-11 [email protected] [gen_l10n] Add `use-explicit-plural-values` option (flutter/flutter#194816)
2026-11-11 [email protected] Roll Skia from 7bd33f8a3b70 to 06062e36d938 (2 revisions) (flutter/flutter#196340)
2026-11-11 [email protected] Skip redundant work in plugin_test_* (flutter/flutter#196258)
2026-11-10 [email protected] Drop test_timeout_secs from shards that no longer need it (flutter/flutter#196277)
2026-11-10 [email protected] Roll Dart SDK from 15c1699d3eeb to 890c6d15334c (1 revision) (flutter/flutter#196321)
2026-11-10 [email protected] iOS: Extract FlutterPlatformViewsController platform-thread state to Obj-C (flutter/flutter#196142)
2026-11-10 [email protected] Remove `Mac web_tool_tests` and take new subshard builders out of bringup (flutter/flutter#196276)
2026-11-10 [email protected] Roll Skia from 9c3d43d8a04b to 7bd33f8a3b70 (12 revisions) (flutter/flutter#196317)
2026-11-10 [email protected] Take customer_testing_devtools out of bringup (flutter/flutter#196239)
2026-11-10 [email protected] Roll ICU from a0ea93436c52 to b09986242cfb (1 revision) (flutter/flutter#196316)
2026-11-10 [email protected] [flutter_tools] Avoid unlinking native_assets.json and handle EXDEV (flutter/flutter#196134)
2026-11-10 [email protected] Remove old `Windows tool_integration_tests` builders and take the new shards out of bringup (flutter/flutter#196275)
2026-11-10 [email protected] [SwiftPM] Disable tests for when settings fail to compile (flutter/flutter#196310)
2026-11-10 [email protected] Roll Fuchsia Test Scripts from PXc5D7S_q6sIYpfFJ... to oEU515sDqSTvD8Spx... (flutter/flutter#196289)
2026-11-10 [email protected] Fix ime insets animation jump (flutter/flutter#191453)
2026-11-10 [email protected] Link to original PR in automatic cherry-pick PRs (flutter/flutter#196130)
2026-11-10 [email protected] Roll Packages from 565c657 to 08faf64 (9 revisions) (flutter/flutter#196296)
2026-11-10 [email protected] Roll Skia from b11315d0a096 to 9c3d43d8a04b (45 revisions) (flutter/flutter#196295)
2026-11-10 [email protected] Replace type-specific window widgets with a single Window widget (flutter/flutter#196002)
2026-11-10 [email protected] Roll Dart SDK from a2baae273bb2 to 15c1699d3eeb (2 revisions) (flutter/flutter#196294)

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 [email protected],[email protected] 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CICD Run CI/CD team-android Owned by Android platform team team-ios Owned by iOS platform team team-macos Owned by the macOS platform team tool Affects the "flutter" command-line tool. See also t: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants