-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Catch file system exceptions when trying to parse user-provided asset file paths #142214
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Catch file system exceptions when trying to parse user-provided asset file paths #142214
Conversation
packages/flutter_tools/test/general.shard/asset_bundle_test.dart
Outdated
Show resolved
Hide resolved
6bda113 to
3c7f176
Compare
| } on FileSystemException catch (e) { | ||
| throwToolExit( | ||
| 'Unable to check the existence of asset file "$assetPath". ' | ||
| 'Ensure that the asset file is declared is a valid local file system path.\n' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-'Ensure that the asset file is declared is a valid local file system path.\n'
+'Ensure that the asset file is declared and is a valid local file system path.\n'|
@christopherfujino FYI I'm rewriting the test to be hermetic. Converting to draft. |
This comment was marked as off-topic.
This comment was marked as off-topic.
packages/flutter_tools/test/general.shard/asset_bundle_test.dart
Outdated
Show resolved
Hide resolved
oops, just saw this, SGTM |
|
Ready again. I did some tidying up before I left, making the diff bigger. See the recent commits with |
| ); | ||
| return bundle; | ||
| } | ||
| group('AssetBundle.build (hermetic)', () { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why hermetic in the group name? are some of these not hermetic?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, see the group above named "AssetBundle.build"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alternatively, I can rename the other group to AssetBundle.build (non-hermetic)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Basically the point of this was I didn't want to reuse the polluted scope of the existing group
packages/flutter_tools/test/general.shard/asset_bundle_test.dart
Outdated
Show resolved
Hide resolved
christopherfujino
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few nit questions, but LGTM, this is a good cleanup!
|
auto label is removed for flutter/flutter/142214, due to - The status or check suite Linux analyze has failed. Please fix the issues identified (or deflake) before re-applying this label. |
| late Logger logger; | ||
| const String shaderLibDir = '/./shader_lib'; | ||
|
|
||
| group('AssetBundle.build (non-hermetic)', () { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in what ways are these non-hermetic? ideally we would either make them hermetic, or move them to the integration shard if they must use the real environment.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm uncomfortable calling anything that uses testUsingContext hermetic. If you ignore the lack of a Logger override, these tests are probably hermetic, so perhaps the non-hermetic label is unfair. If you have better ideas for group names, I'm all ears (perhaps "using context" and "not using context").
The reason the groups are separate is that one uses setUp (polluting the scope with testFileSystem and platform) and testUsingContext (both of which are not recommended for use), and the latter group is more idiomatic.
I do not wish the rewrite all of these tests to be idiomatic now, as this would be a significant undertaking, and I lack the needed bandwidth.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
addressed in tweak group name
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ahh, I see, thanks for the explanation!
…ed asset file paths (flutter/flutter#142214)
…ed asset file paths (flutter/flutter#142214)
…ed asset file paths (flutter/flutter#142214)
Manual roll Flutter from 2f6fdf2 to ace9181 (57 revisions) Manual roll requested by stuartmorgan@google.com flutter/flutter@2f6fdf2...ace9181 2024-01-29 engine-flutter-autoroll@skia.org Roll Flutter Engine from 9c3ebf67b5da to bedafa8794b6 (4 revisions) (flutter/flutter#142478) 2024-01-29 jmccandless@google.com onNavigationNotification for *App.router (flutter/flutter#142190) 2024-01-29 fluttergithubbot@gmail.com Marks Mac_x64 framework_tests_misc to be unflaky (flutter/flutter#142118) 2024-01-29 engine-flutter-autoroll@skia.org Roll Flutter Engine from 3e2b8975bd5b to 9c3ebf67b5da (1 revision) (flutter/flutter#142472) 2024-01-29 66151079+bryanoli@users.noreply.github.com Feat: TextField can scroll when disabled (flutter/flutter#140922) 2024-01-29 engine-flutter-autoroll@skia.org Roll Flutter Engine from 436f91f3b06b to 3e2b8975bd5b (2 revisions) (flutter/flutter#142466) 2024-01-29 fluttergithubbot@gmail.com Marks Mac_arm64 framework_tests_misc to be unflaky (flutter/flutter#142119) 2024-01-29 goderbauer@google.com Fix InputDecorationTheme copyWith fallback for iconColor (flutter/flutter#142462) 2024-01-29 mbfakourii@gmail.com Add `SingleChildScrollView` for `NavigationRail` (flutter/flutter#137415) 2024-01-29 737941+loic-sharma@users.noreply.github.com [Windows Arm64] Run plugin test post-submit (flutter/flutter#141987) 2024-01-29 andrewrkolos@gmail.com Catch file system exceptions when trying to parse user-provided asset file paths (flutter/flutter#142214) 2024-01-29 nathan.wilson1232@gmail.com Implementing `switch` expressions in `foundation/` and `material/` (flutter/flutter#142279) 2024-01-29 engine-flutter-autoroll@skia.org Roll Flutter Engine from bff1e46c0d65 to 436f91f3b06b (1 revision) (flutter/flutter#142455) 2024-01-29 polinach@google.com Opt out test from leak tracking. (flutter/flutter#142417) 2024-01-29 zanderso@users.noreply.github.com Update Android minSdkVersion to 21 (flutter/flutter#142267) 2024-01-29 engine-flutter-autoroll@skia.org Roll Flutter Engine from 3d87470655b1 to bff1e46c0d65 (1 revision) (flutter/flutter#142446) 2024-01-29 engine-flutter-autoroll@skia.org Roll Packages from cbe8100 to 516648a (3 revisions) (flutter/flutter#142445) 2024-01-29 engine-flutter-autoroll@skia.org Roll Flutter Engine from 1405cb7b6e74 to 3d87470655b1 (1 revision) (flutter/flutter#142444) 2024-01-29 engine-flutter-autoroll@skia.org Roll Flutter Engine from 3e65f1720a6f to 1405cb7b6e74 (1 revision) (flutter/flutter#142432) 2024-01-29 engine-flutter-autoroll@skia.org Roll Flutter Engine from 210ed1dfb8cf to 3e65f1720a6f (1 revision) (flutter/flutter#142429) 2024-01-29 engine-flutter-autoroll@skia.org Roll Flutter Engine from f15cb86d31c3 to 210ed1dfb8cf (1 revision) (flutter/flutter#142426) 2024-01-29 engine-flutter-autoroll@skia.org Roll Flutter Engine from f3d48be76630 to f15cb86d31c3 (11 revisions) (flutter/flutter#142425) 2024-01-27 engine-flutter-autoroll@skia.org Roll Flutter Engine from 95e9a15fd909 to f3d48be76630 (1 revision) (flutter/flutter#142370) 2024-01-27 zanderso@users.noreply.github.com Add no-shuffle to language_version_test.dart (flutter/flutter#142378) 2024-01-27 engine-flutter-autoroll@skia.org Roll Flutter Engine from 2687ddb2655c to 95e9a15fd909 (8 revisions) (flutter/flutter#142369) 2024-01-27 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Roll Flutter Engine from 2687ddb2655c to 2adad88a39f4 (4 revisions)" (flutter/flutter#142366) 2024-01-27 engine-flutter-autoroll@skia.org Roll Flutter Engine from 2687ddb2655c to 2adad88a39f4 (4 revisions) (flutter/flutter#142362) 2024-01-27 engine-flutter-autoroll@skia.org Roll Flutter Engine from 45c06c22d5c7 to 2687ddb2655c (1 revision) (flutter/flutter#142359) 2024-01-27 31859944+LongCatIsLooong@users.noreply.github.com Remove suspicious constant from input decorator layout (flutter/flutter#142342) 2024-01-27 engine-flutter-autoroll@skia.org Roll Flutter Engine from 2e32acf4c31a to 45c06c22d5c7 (2 revisions) (flutter/flutter#142353) 2024-01-27 engine-flutter-autoroll@skia.org Roll Flutter Engine from a65a1b55e06a to 2e32acf4c31a (1 revision) (flutter/flutter#142351) 2024-01-26 engine-flutter-autoroll@skia.org Roll Flutter Engine from 525bd7dcf7f3 to a65a1b55e06a (11 revisions) (flutter/flutter#142347) 2024-01-26 goderbauer@google.com Relands "Add runWidget to bootstrap a widget tree without a default View" (flutter/flutter#142344) 2024-01-26 amirpanahandeh@yahoo.com Fix assertion failure when reordering two dimensional children (flutter/flutter#141504) 2024-01-26 magder@google.com Limit `fuchsia_precache` in presubmit to engine rolls (flutter/flutter#142333) 2024-01-26 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 3.23.1 to 3.23.2 (flutter/flutter#142345) 2024-01-26 andrewrkolos@gmail.com refactor asset bundle code to not depend on the global Cache.flutterRoot (flutter/flutter#142277) 2024-01-26 christopherfujino@gmail.com [flutter_tools] remove await runZonedGuarded() in tests (flutter/flutter#142336) 2024-01-26 15619084+vashworth@users.noreply.github.com Only use iOS 17 physical devices in staging tests (flutter/flutter#142323) 2024-01-26 dacoharkes@google.com Roll deps from dart-lang/native in templates (flutter/flutter#142322) 2024-01-26 andrewrkolos@gmail.com Remove duplicate global declaration of `UserMessages` (flutter/flutter#142281) 2024-01-26 magder@google.com Redistribute iOS TESTOWNERS (flutter/flutter#142315) 2024-01-26 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Add runWidget to bootstrap a widget tree without a default View" (flutter/flutter#142339) 2024-01-26 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Roll Flutter Engine from 525bd7dcf7f3 to 65d1291c3add (1 revision)" (flutter/flutter#142332) ...
Fixes #141211
Pre-launch Checklist
///).If you need help, consider asking for advice on the #hackers-new channel on Discord.