Don't crash flutter tool if Chrome is not available#154941
Don't crash flutter tool if Chrome is not available#154941auto-submit[bot] merged 16 commits intoflutter:masterfrom
Conversation
|
It looks like this pull request may not have tests. Please make sure to add tests before merging. If you need an exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group. |
There was a problem hiding this comment.
Thanks for the PR
This change is nontrivial and should be under test. I would try adding a test to test/general.shard/resident_devtools_handler_test.dart
Never mind, FlutterResidentDevtoolsHandler would probably need to be modified to accept an instance of Chrome through its constructor. The test would use a fake of Chrome (e.g. class FakeChrome extends Fake implements Chrome) that would throw an exception from its start implementation.Chrome.start is a static method.
|
Thanks! I'll try to write a test to cover this - we will see how that goes. Pedantically, it seems like // This must be guaranteed not to return a Future that fails.
@override
bool launchDevToolsInBrowser({required List<FlutterDevice?> flutterDevices}) {
//[...]
} |
Awesome. Please let me know if adding a test turns out to be difficult. I personally would not mind this change landing without a test (though you'll have to fix the code formatting and the errors from |
|
re: code formatting, looking at the style guide,
I would assume I can |
We generally hand-format code. Your IDE may also be capable of formatting only a particular selection of code (e.g. VSCode has a "Format Selection" command). |
|
Can we request a test exemption? Or I can request one in the discord, please let me know your preference. Thanks! |
andrewkolos
left a comment
There was a problem hiding this comment.
I've recently found out the flutter tool has its own means to launch chrome without needing the Chrome API from package:browser_launcher. Specifically, I'm talking about ChromiumLauncher.
If FlutterResidentDevToolsHandler could be refactored to accept a ChromiumLauncher instance, then a test could be written without having to write an wrapper around the Chrome API from package:browser_launcher, and we could drop our dependency on that package altogether.
What do you think?
|
Apologies for the delay, I was out of town. That sounds good to me! I'll start working towards that. |
|
For the sake of expediency, I made a bunch of refactorings. Much of it was just undoing (unintentional?) changes that appeared to come from |
There was a problem hiding this comment.
Thanks for the continued work on this change! This looks good to me.
Unfortunately, this PR is going to be blocked on running "flutter update-packages --force-upgrade" to update all the pubspecs since it touches a pubspec (see the failing Linux analyze check). However, doing so now would result in a bunch of tests failing due to issues unrelated to this PR. See #157392. I'll keep an eye on this and run flutter update-packages whenever this is resolved.
|
Awesome! Thanks for your help - and patience! Yep, any formatting changes would be unintentional. I don't normally use VSCode, but my LSP apparently does not like running against the main branch of flutter. Coincidentally, this is also how my first commits included analyzer issues. Oops. |
|
This pull request executed golden file tests, but it has not been updated in a while (20+ days). Test results from Gold expire after as many days, so this pull request will need to be updated with a fresh commit in order to get results from Gold. For more guidance, visit Writing a golden file test for Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
76643a7 to
a750493
Compare
|
auto label is removed for flutter/flutter/154941, due to - The status or check suite Google testing has failed. Please fix the issues identified (or deflake) before re-applying this label. |
Manual roll requested by [email protected] flutter/flutter@b9e86a5...eb6af3d 2025-01-21 [email protected] Get `et` working for local web engine builds. (flutter/flutter#161825) 2025-01-21 [email protected] Mark Linux_pixel_7pro flavors_test unflaky (flutter/flutter#160994) 2025-01-21 [email protected] Marks Mac_mokey run_debug_test_android to be flaky (flutter/flutter#161656) 2025-01-21 [email protected] Don't crash flutter tool if Chrome is not available (flutter/flutter#154941) 2025-01-21 [email protected] Fix DropdownMenu icon and item icon misalignment (flutter/flutter#161717) 2025-01-21 [email protected] [native assets] Cleanup dead code 2 (flutter/flutter#161916) 2025-01-21 [email protected] Update `ListTile` test to prevent log dump and test error message. (flutter/flutter#161811) 2025-01-21 [email protected] Roll pub packages (flutter/flutter#161924) 2025-01-21 [email protected] Make `PipelineOwner` a `base` class (flutter/flutter#161789) 2025-01-20 [email protected] [native assets] Cleanup dead code (flutter/flutter#161913) 2025-01-20 [email protected] Roll Packages from f73cb00 to e8f1f63 (9 revisions) (flutter/flutter#161914) 2025-01-20 [email protected] [ flutter_tool ] Fix flakiness in doctor_test.dart (flutter/flutter#161917) 2025-01-19 [email protected] Update documentation on what display information is provided. (flutter/flutter#161785) If this roll has caused a breakage, revert this CL and stop the roller 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
Manual roll Flutter from b9e86a5 to b2f515f (42 revisions) Manual roll requested by [email protected] flutter/flutter@b9e86a5...b2f515f 2025-01-22 [email protected] Roll Dart to Version 3.8.0-24.0.dev (flutter/flutter#162035) 2025-01-22 [email protected] `const AnimationStyle` (flutter/flutter#160564) 2025-01-22 [email protected] Add piping and bringup nodes for `_vulkan` and `_opengles` suites. (flutter/flutter#162020) 2025-01-22 [email protected] [Impeller] Migrate unit tests off of Skia geometry classes (flutter/flutter#161855) 2025-01-22 [email protected] Experiment with a `files-changed.json` per PR (flutter/flutter#161788) 2025-01-22 [email protected] Move FlKeyboardManager and FlKeyboardHandler from FlView to FlEngine. (flutter/flutter#161925) 2025-01-22 [email protected] Roll Packages from e8f1f63 to 3d3ab7b (1 revision) (flutter/flutter#162019) 2025-01-22 [email protected] Adds cupertino picker semantics test (flutter/flutter#161768) 2025-01-22 [email protected] [web] Remove deprecated web-only APIs from dart:ui (flutter/flutter#161775) 2025-01-22 [email protected] fix: Add enabled property for search anchor named constructor (flutter/flutter#161468) 2025-01-22 [email protected] Roll pub packages (flutter/flutter#162015) 2025-01-22 [email protected] [web] Remove spam from test output (flutter/flutter#161774) 2025-01-22 [email protected] Match CupertinoPageTransitionsBuilder animation duration to CupertinoPageRoute (2) (flutter/flutter#161577) 2025-01-22 [email protected] Make `font-subset` a standalone `run_tests.py` variant. (flutter/flutter#162016) 2025-01-22 [email protected] Enabled provisioning updates and device registration during building xcarchive. (flutter/flutter#159622) 2025-01-22 [email protected] [web] Remove HTML from bots, test suites and e2e tests (flutter/flutter#161537) 2025-01-22 [email protected] Expand the `.ci.yaml` and `builder.json` linter (flutter/flutter#161991) 2025-01-22 [email protected] Fix incorrect [enabled] documentation (flutter/flutter#161650) 2025-01-22 [email protected] Add `windows_host_engine_test`. (flutter/flutter#161992) 2025-01-22 [email protected] Roll Dart to version Version 3.8.0-19.0.dev (flutter/flutter#161989) 2025-01-22 [email protected] Deprecate `ThemeData.indicatorColor` in favor of `TabBarThemeData.indicatorColor` (flutter/flutter#160024) 2025-01-22 [email protected] [Impeller] disable older xclipse gpu driver. (flutter/flutter#161981) 2025-01-22 [email protected] Merge changelog for 3.27.3 release (flutter/flutter#161977) 2025-01-21 [email protected] Remove FlKeyboardViewDelegate (flutter/flutter#161705) 2025-01-21 [email protected] Fix documentation of Flow.clipBehavior (flutter/flutter#161863) 2025-01-21 [email protected] [impeller] prevent PowerVR from using Vulkan backend. (flutter/flutter#161841) 2025-01-21 [email protected] [Impeller] backfilling TextContents unit tests (flutter/flutter#161625) 2025-01-21 [email protected] Do not handle Dart isolate messages if the isolate is being shut down (flutter/flutter#161824) 2025-01-21 [email protected] fix failing lint : findByPath requires a specific ordering of project evaluation in `aar_init_script.gradle` (flutter/flutter#159301) 2025-01-21 [email protected] Get `et` working for local web engine builds. (flutter/flutter#161825) 2025-01-21 [email protected] Mark Linux_pixel_7pro flavors_test unflaky (flutter/flutter#160994) 2025-01-21 [email protected] Marks Mac_mokey run_debug_test_android to be flaky (flutter/flutter#161656) 2025-01-21 [email protected] Don't crash flutter tool if Chrome is not available (flutter/flutter#154941) 2025-01-21 [email protected] Fix DropdownMenu icon and item icon misalignment (flutter/flutter#161717) 2025-01-21 [email protected] [native assets] Cleanup dead code 2 (flutter/flutter#161916) 2025-01-21 [email protected] Update `ListTile` test to prevent log dump and test error message. (flutter/flutter#161811) 2025-01-21 [email protected] Roll pub packages (flutter/flutter#161924) 2025-01-21 [email protected] Make `PipelineOwner` a `base` class (flutter/flutter#161789) 2025-01-20 [email protected] [native assets] Cleanup dead code (flutter/flutter#161913) 2025-01-20 [email protected] Roll Packages from f73cb00 to e8f1f63 (9 revisions) (flutter/flutter#161914) 2025-01-20 [email protected] [ flutter_tool ] Fix flakiness in doctor_test.dart (flutter/flutter#161917) 2025-01-19 [email protected] Update documentation on what display information is provided. (flutter/flutter#161785) If this roll has caused a breakage, revert this CL and stop the roller ...
) Manual roll requested by [email protected] flutter/flutter@b9e86a5...eb6af3d 2025-01-21 [email protected] Get `et` working for local web engine builds. (flutter/flutter#161825) 2025-01-21 [email protected] Mark Linux_pixel_7pro flavors_test unflaky (flutter/flutter#160994) 2025-01-21 [email protected] Marks Mac_mokey run_debug_test_android to be flaky (flutter/flutter#161656) 2025-01-21 [email protected] Don't crash flutter tool if Chrome is not available (flutter/flutter#154941) 2025-01-21 [email protected] Fix DropdownMenu icon and item icon misalignment (flutter/flutter#161717) 2025-01-21 [email protected] [native assets] Cleanup dead code 2 (flutter/flutter#161916) 2025-01-21 [email protected] Update `ListTile` test to prevent log dump and test error message. (flutter/flutter#161811) 2025-01-21 [email protected] Roll pub packages (flutter/flutter#161924) 2025-01-21 [email protected] Make `PipelineOwner` a `base` class (flutter/flutter#161789) 2025-01-20 [email protected] [native assets] Cleanup dead code (flutter/flutter#161913) 2025-01-20 [email protected] Roll Packages from f73cb00 to e8f1f63 (9 revisions) (flutter/flutter#161914) 2025-01-20 [email protected] [ flutter_tool ] Fix flakiness in doctor_test.dart (flutter/flutter#161917) 2025-01-19 [email protected] Update documentation on what display information is provided. (flutter/flutter#161785) If this roll has caused a breakage, revert this CL and stop the roller 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
) Manual roll Flutter from b9e86a5 to b2f515f (42 revisions) Manual roll requested by [email protected] flutter/flutter@b9e86a5...b2f515f 2025-01-22 [email protected] Roll Dart to Version 3.8.0-24.0.dev (flutter/flutter#162035) 2025-01-22 [email protected] `const AnimationStyle` (flutter/flutter#160564) 2025-01-22 [email protected] Add piping and bringup nodes for `_vulkan` and `_opengles` suites. (flutter/flutter#162020) 2025-01-22 [email protected] [Impeller] Migrate unit tests off of Skia geometry classes (flutter/flutter#161855) 2025-01-22 [email protected] Experiment with a `files-changed.json` per PR (flutter/flutter#161788) 2025-01-22 [email protected] Move FlKeyboardManager and FlKeyboardHandler from FlView to FlEngine. (flutter/flutter#161925) 2025-01-22 [email protected] Roll Packages from e8f1f63 to 3d3ab7b (1 revision) (flutter/flutter#162019) 2025-01-22 [email protected] Adds cupertino picker semantics test (flutter/flutter#161768) 2025-01-22 [email protected] [web] Remove deprecated web-only APIs from dart:ui (flutter/flutter#161775) 2025-01-22 [email protected] fix: Add enabled property for search anchor named constructor (flutter/flutter#161468) 2025-01-22 [email protected] Roll pub packages (flutter/flutter#162015) 2025-01-22 [email protected] [web] Remove spam from test output (flutter/flutter#161774) 2025-01-22 [email protected] Match CupertinoPageTransitionsBuilder animation duration to CupertinoPageRoute (2) (flutter/flutter#161577) 2025-01-22 [email protected] Make `font-subset` a standalone `run_tests.py` variant. (flutter/flutter#162016) 2025-01-22 [email protected] Enabled provisioning updates and device registration during building xcarchive. (flutter/flutter#159622) 2025-01-22 [email protected] [web] Remove HTML from bots, test suites and e2e tests (flutter/flutter#161537) 2025-01-22 [email protected] Expand the `.ci.yaml` and `builder.json` linter (flutter/flutter#161991) 2025-01-22 [email protected] Fix incorrect [enabled] documentation (flutter/flutter#161650) 2025-01-22 [email protected] Add `windows_host_engine_test`. (flutter/flutter#161992) 2025-01-22 [email protected] Roll Dart to version Version 3.8.0-19.0.dev (flutter/flutter#161989) 2025-01-22 [email protected] Deprecate `ThemeData.indicatorColor` in favor of `TabBarThemeData.indicatorColor` (flutter/flutter#160024) 2025-01-22 [email protected] [Impeller] disable older xclipse gpu driver. (flutter/flutter#161981) 2025-01-22 [email protected] Merge changelog for 3.27.3 release (flutter/flutter#161977) 2025-01-21 [email protected] Remove FlKeyboardViewDelegate (flutter/flutter#161705) 2025-01-21 [email protected] Fix documentation of Flow.clipBehavior (flutter/flutter#161863) 2025-01-21 [email protected] [impeller] prevent PowerVR from using Vulkan backend. (flutter/flutter#161841) 2025-01-21 [email protected] [Impeller] backfilling TextContents unit tests (flutter/flutter#161625) 2025-01-21 [email protected] Do not handle Dart isolate messages if the isolate is being shut down (flutter/flutter#161824) 2025-01-21 [email protected] fix failing lint : findByPath requires a specific ordering of project evaluation in `aar_init_script.gradle` (flutter/flutter#159301) 2025-01-21 [email protected] Get `et` working for local web engine builds. (flutter/flutter#161825) 2025-01-21 [email protected] Mark Linux_pixel_7pro flavors_test unflaky (flutter/flutter#160994) 2025-01-21 [email protected] Marks Mac_mokey run_debug_test_android to be flaky (flutter/flutter#161656) 2025-01-21 [email protected] Don't crash flutter tool if Chrome is not available (flutter/flutter#154941) 2025-01-21 [email protected] Fix DropdownMenu icon and item icon misalignment (flutter/flutter#161717) 2025-01-21 [email protected] [native assets] Cleanup dead code 2 (flutter/flutter#161916) 2025-01-21 [email protected] Update `ListTile` test to prevent log dump and test error message. (flutter/flutter#161811) 2025-01-21 [email protected] Roll pub packages (flutter/flutter#161924) 2025-01-21 [email protected] Make `PipelineOwner` a `base` class (flutter/flutter#161789) 2025-01-20 [email protected] [native assets] Cleanup dead code (flutter/flutter#161913) 2025-01-20 [email protected] Roll Packages from f73cb00 to e8f1f63 (9 revisions) (flutter/flutter#161914) 2025-01-20 [email protected] [ flutter_tool ] Fix flakiness in doctor_test.dart (flutter/flutter#161917) 2025-01-19 [email protected] Update documentation on what display information is provided. (flutter/flutter#161785) If this roll has caused a breakage, revert this CL and stop the roller ...
) Manual roll requested by [email protected] flutter/flutter@b9e86a5...eb6af3d 2025-01-21 [email protected] Get `et` working for local web engine builds. (flutter/flutter#161825) 2025-01-21 [email protected] Mark Linux_pixel_7pro flavors_test unflaky (flutter/flutter#160994) 2025-01-21 [email protected] Marks Mac_mokey run_debug_test_android to be flaky (flutter/flutter#161656) 2025-01-21 [email protected] Don't crash flutter tool if Chrome is not available (flutter/flutter#154941) 2025-01-21 [email protected] Fix DropdownMenu icon and item icon misalignment (flutter/flutter#161717) 2025-01-21 [email protected] [native assets] Cleanup dead code 2 (flutter/flutter#161916) 2025-01-21 [email protected] Update `ListTile` test to prevent log dump and test error message. (flutter/flutter#161811) 2025-01-21 [email protected] Roll pub packages (flutter/flutter#161924) 2025-01-21 [email protected] Make `PipelineOwner` a `base` class (flutter/flutter#161789) 2025-01-20 [email protected] [native assets] Cleanup dead code (flutter/flutter#161913) 2025-01-20 [email protected] Roll Packages from f73cb00 to e8f1f63 (9 revisions) (flutter/flutter#161914) 2025-01-20 [email protected] [ flutter_tool ] Fix flakiness in doctor_test.dart (flutter/flutter#161917) 2025-01-19 [email protected] Update documentation on what display information is provided. (flutter/flutter#161785) If this roll has caused a breakage, revert this CL and stop the roller 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
) Manual roll Flutter from b9e86a5 to b2f515f (42 revisions) Manual roll requested by [email protected] flutter/flutter@b9e86a5...b2f515f 2025-01-22 [email protected] Roll Dart to Version 3.8.0-24.0.dev (flutter/flutter#162035) 2025-01-22 [email protected] `const AnimationStyle` (flutter/flutter#160564) 2025-01-22 [email protected] Add piping and bringup nodes for `_vulkan` and `_opengles` suites. (flutter/flutter#162020) 2025-01-22 [email protected] [Impeller] Migrate unit tests off of Skia geometry classes (flutter/flutter#161855) 2025-01-22 [email protected] Experiment with a `files-changed.json` per PR (flutter/flutter#161788) 2025-01-22 [email protected] Move FlKeyboardManager and FlKeyboardHandler from FlView to FlEngine. (flutter/flutter#161925) 2025-01-22 [email protected] Roll Packages from e8f1f63 to 3d3ab7b (1 revision) (flutter/flutter#162019) 2025-01-22 [email protected] Adds cupertino picker semantics test (flutter/flutter#161768) 2025-01-22 [email protected] [web] Remove deprecated web-only APIs from dart:ui (flutter/flutter#161775) 2025-01-22 [email protected] fix: Add enabled property for search anchor named constructor (flutter/flutter#161468) 2025-01-22 [email protected] Roll pub packages (flutter/flutter#162015) 2025-01-22 [email protected] [web] Remove spam from test output (flutter/flutter#161774) 2025-01-22 [email protected] Match CupertinoPageTransitionsBuilder animation duration to CupertinoPageRoute (2) (flutter/flutter#161577) 2025-01-22 [email protected] Make `font-subset` a standalone `run_tests.py` variant. (flutter/flutter#162016) 2025-01-22 [email protected] Enabled provisioning updates and device registration during building xcarchive. (flutter/flutter#159622) 2025-01-22 [email protected] [web] Remove HTML from bots, test suites and e2e tests (flutter/flutter#161537) 2025-01-22 [email protected] Expand the `.ci.yaml` and `builder.json` linter (flutter/flutter#161991) 2025-01-22 [email protected] Fix incorrect [enabled] documentation (flutter/flutter#161650) 2025-01-22 [email protected] Add `windows_host_engine_test`. (flutter/flutter#161992) 2025-01-22 [email protected] Roll Dart to version Version 3.8.0-19.0.dev (flutter/flutter#161989) 2025-01-22 [email protected] Deprecate `ThemeData.indicatorColor` in favor of `TabBarThemeData.indicatorColor` (flutter/flutter#160024) 2025-01-22 [email protected] [Impeller] disable older xclipse gpu driver. (flutter/flutter#161981) 2025-01-22 [email protected] Merge changelog for 3.27.3 release (flutter/flutter#161977) 2025-01-21 [email protected] Remove FlKeyboardViewDelegate (flutter/flutter#161705) 2025-01-21 [email protected] Fix documentation of Flow.clipBehavior (flutter/flutter#161863) 2025-01-21 [email protected] [impeller] prevent PowerVR from using Vulkan backend. (flutter/flutter#161841) 2025-01-21 [email protected] [Impeller] backfilling TextContents unit tests (flutter/flutter#161625) 2025-01-21 [email protected] Do not handle Dart isolate messages if the isolate is being shut down (flutter/flutter#161824) 2025-01-21 [email protected] fix failing lint : findByPath requires a specific ordering of project evaluation in `aar_init_script.gradle` (flutter/flutter#159301) 2025-01-21 [email protected] Get `et` working for local web engine builds. (flutter/flutter#161825) 2025-01-21 [email protected] Mark Linux_pixel_7pro flavors_test unflaky (flutter/flutter#160994) 2025-01-21 [email protected] Marks Mac_mokey run_debug_test_android to be flaky (flutter/flutter#161656) 2025-01-21 [email protected] Don't crash flutter tool if Chrome is not available (flutter/flutter#154941) 2025-01-21 [email protected] Fix DropdownMenu icon and item icon misalignment (flutter/flutter#161717) 2025-01-21 [email protected] [native assets] Cleanup dead code 2 (flutter/flutter#161916) 2025-01-21 [email protected] Update `ListTile` test to prevent log dump and test error message. (flutter/flutter#161811) 2025-01-21 [email protected] Roll pub packages (flutter/flutter#161924) 2025-01-21 [email protected] Make `PipelineOwner` a `base` class (flutter/flutter#161789) 2025-01-20 [email protected] [native assets] Cleanup dead code (flutter/flutter#161913) 2025-01-20 [email protected] Roll Packages from f73cb00 to e8f1f63 (9 revisions) (flutter/flutter#161914) 2025-01-20 [email protected] [ flutter_tool ] Fix flakiness in doctor_test.dart (flutter/flutter#161917) 2025-01-19 [email protected] Update documentation on what display information is provided. (flutter/flutter#161785) If this roll has caused a breakage, revert this CL and stop the roller ...
Instead of unawaiting the future, let's ignore it.
Fixes issue #154940
I am not sure if tests would be required for this change or not.
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.