-
Notifications
You must be signed in to change notification settings - Fork 26.8k
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
Fix leak in hardware_keyboard_test.dart #134380
Conversation
Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). View this failed invocation of the CLA check for more information. For the most up to date status, view the checks section at the bottom of the pull request. |
@@ -192,7 +193,9 @@ void main() { | |||
true); | |||
expect(logs, <int>[3, 2, 1]); | |||
logs.clear(); | |||
}, variant: KeySimulatorTransitModeVariant.all()); | |||
|
|||
focusNode.dispose(); |
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.
Please, here and in other tests replace focusNode.dispose();
with 'addTearDown(focusNode.dispose);', so that if test fails in the middle, it still disposes the object and does not fail with memory leak error.
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.
Thanks for the info, I put it directly after the focusNode declaration.
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.
Couple comments.
…4985) Manual roll Flutter from 893650416352 to f92884c7b846 (48 revisions) Manual roll requested by dit@google.com flutter/flutter@8936504...f92884c 2023-09-21 jiahaog@users.noreply.github.com Rename `debugProfilePlatformChannels` to a constant that works in release mode (flutter/flutter#134922) 2023-09-20 82763757+NobodyForNothing@users.noreply.github.com Mark ReastaurationManager not disposed (flutter/flutter#134832) 2023-09-20 82763757+NobodyForNothing@users.noreply.github.com cover more tests with leak tracing (flutter/flutter#134834) 2023-09-20 82763757+NobodyForNothing@users.noreply.github.com Fix leak in hardware_keyboard_test.dart (flutter/flutter#134380) 2023-09-20 sokolovskyi.konstantin@gmail.com Fix memory leak in _SelectableTextState (flutter/flutter#135049) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 39c0f2ea1f53 to 89d864552acd (4 revisions) (flutter/flutter#135169) 2023-09-20 ditman@gmail.com [deps] Update package:web dependency. (flutter/flutter#135174) 2023-09-20 yjbanov@google.com finer grained logging of Chromium launch sequence (flutter/flutter#135078) 2023-09-20 34871572+gmackall@users.noreply.github.com Upgrade AGP version in tracing_tests (flutter/flutter#134671) 2023-09-20 82763757+NobodyForNothing@users.noreply.github.com Cover cupertino/form_section_test with leak tracing (flutter/flutter#135158) 2023-09-20 sokolovskyi.konstantin@gmail.com Cover more test/widgets tests with leak tracking #7 (flutter/flutter#134943) 2023-09-20 goderbauer@google.com Enable strict-inference (flutter/flutter#135043) 2023-09-20 sokolovskyi.konstantin@gmail.com Cover more test/widgets tests with leak tracking #10 (flutter/flutter#135143) 2023-09-20 82763757+NobodyForNothing@users.noreply.github.com cover more tests with leak tracing (flutter/flutter#134833) 2023-09-20 ychris@google.com codeisn extension safe iOS framework (flutter/flutter#134966) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 6f256257b79f to 55314d08d792 (2 revisions) (flutter/flutter#135151) 2023-09-20 gspencergoog@users.noreply.github.com Remove 'must be non-null' and 'must not be null' comments in widgets library (flutter/flutter#134992) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 5f82fc2f6f24 to 6f256257b79f (1 revision) (flutter/flutter#135147) 2023-09-20 43054281+camsim99@users.noreply.github.com [Android] Add Java/AGP/Gradle incompatibility warning to `flutter create` (flutter/flutter#131444) 2023-09-20 engine-flutter-autoroll@skia.org Roll Packages from d4e2454 to 51e74b9 (12 revisions) (flutter/flutter#135145) 2023-09-20 gspencergoog@users.noreply.github.com Remove 'must not be null' comments from various libraries. (flutter/flutter#134984) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 6535421b30d3 to 5f82fc2f6f24 (2 revisions) (flutter/flutter#135142) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 67d4aaef3c7b to 6535421b30d3 (1 revision) (flutter/flutter#135139) 2023-09-20 sokolovskyi.konstantin@gmail.com Cover more test/widgets tests with leak tracking #8 (flutter/flutter#135045) 2023-09-20 sokolovskyi.konstantin@gmail.com Cover more test/widgets tests with leak tracking #9 (flutter/flutter#135054) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 83b4df415bf3 to 67d4aaef3c7b (1 revision) (flutter/flutter#135128) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from df4e6c079682 to 83b4df415bf3 (2 revisions) (flutter/flutter#135102) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 9c6b2500282b to df4e6c079682 (1 revision) (flutter/flutter#135101) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 24f7ac38dfa2 to 9c6b2500282b (3 revisions) (flutter/flutter#135098) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 36379b62bec8 to 24f7ac38dfa2 (2 revisions) (flutter/flutter#135096) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 81b93fc4a2cc to 36379b62bec8 (2 revisions) (flutter/flutter#135095) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 5a924a9017d7 to 81b93fc4a2cc (2 revisions) (flutter/flutter#135093) 2023-09-20 gspencergoog@users.noreply.github.com Remove 'must be non-null' and 'must not be null' comments from material. (flutter/flutter#134991) 2023-09-20 34871572+gmackall@users.noreply.github.com Unpin url launcher (remake) (flutter/flutter#134958) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from a7af55c56aa6 to 5a924a9017d7 (10 revisions) (flutter/flutter#135085) 2023-09-20 engine-flutter-autoroll@skia.org Manual roll Flutter Engine from a7af55c56aa6 to 0d7db40c27fd (7 revisions) (flutter/flutter#135079) 2023-09-20 gspencergoog@users.noreply.github.com Remove 'must not be null' comments from painting and rendering libraries. (flutter/flutter#134993) 2023-09-20 82763757+NobodyForNothing@users.noreply.github.com cover more tests with leak tracking (flutter/flutter#134837) 2023-09-20 xilaizhang@google.com [flutter roll] Revert "Native assets support for Linux" (flutter/flutter#135069) 2023-09-20 engine-flutter-autoroll@skia.org Manual roll Flutter Engine from 10c480310926 to a7af55c56aa6 (4 revisions) (flutter/flutter#135071) 2023-09-19 zanderso@users.noreply.github.com Retry Linux web tests 1 time on roll presubmit (flutter/flutter#135073) 2023-09-19 ditman@gmail.com [web] Encode AssetManifest.bin as JSON and use that on the web. (flutter/flutter#131382) 2023-09-19 polinach@google.com Specify suggested format in doc comment. (flutter/flutter#134887) 2023-09-19 engine-flutter-autoroll@skia.org Manual roll Flutter Engine from 28f14e6eec4f to 10c480310926 (6 revisions) (flutter/flutter#135066) ...
…lutter#4985) Manual roll Flutter from 893650416352 to f92884c7b846 (48 revisions) Manual roll requested by dit@google.com flutter/flutter@8936504...f92884c 2023-09-21 jiahaog@users.noreply.github.com Rename `debugProfilePlatformChannels` to a constant that works in release mode (flutter/flutter#134922) 2023-09-20 82763757+NobodyForNothing@users.noreply.github.com Mark ReastaurationManager not disposed (flutter/flutter#134832) 2023-09-20 82763757+NobodyForNothing@users.noreply.github.com cover more tests with leak tracing (flutter/flutter#134834) 2023-09-20 82763757+NobodyForNothing@users.noreply.github.com Fix leak in hardware_keyboard_test.dart (flutter/flutter#134380) 2023-09-20 sokolovskyi.konstantin@gmail.com Fix memory leak in _SelectableTextState (flutter/flutter#135049) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 39c0f2ea1f53 to 89d864552acd (4 revisions) (flutter/flutter#135169) 2023-09-20 ditman@gmail.com [deps] Update package:web dependency. (flutter/flutter#135174) 2023-09-20 yjbanov@google.com finer grained logging of Chromium launch sequence (flutter/flutter#135078) 2023-09-20 34871572+gmackall@users.noreply.github.com Upgrade AGP version in tracing_tests (flutter/flutter#134671) 2023-09-20 82763757+NobodyForNothing@users.noreply.github.com Cover cupertino/form_section_test with leak tracing (flutter/flutter#135158) 2023-09-20 sokolovskyi.konstantin@gmail.com Cover more test/widgets tests with leak tracking flutter#7 (flutter/flutter#134943) 2023-09-20 goderbauer@google.com Enable strict-inference (flutter/flutter#135043) 2023-09-20 sokolovskyi.konstantin@gmail.com Cover more test/widgets tests with leak tracking flutter#10 (flutter/flutter#135143) 2023-09-20 82763757+NobodyForNothing@users.noreply.github.com cover more tests with leak tracing (flutter/flutter#134833) 2023-09-20 ychris@google.com codeisn extension safe iOS framework (flutter/flutter#134966) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 6f256257b79f to 55314d08d792 (2 revisions) (flutter/flutter#135151) 2023-09-20 gspencergoog@users.noreply.github.com Remove 'must be non-null' and 'must not be null' comments in widgets library (flutter/flutter#134992) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 5f82fc2f6f24 to 6f256257b79f (1 revision) (flutter/flutter#135147) 2023-09-20 43054281+camsim99@users.noreply.github.com [Android] Add Java/AGP/Gradle incompatibility warning to `flutter create` (flutter/flutter#131444) 2023-09-20 engine-flutter-autoroll@skia.org Roll Packages from d4e2454 to 51e74b9 (12 revisions) (flutter/flutter#135145) 2023-09-20 gspencergoog@users.noreply.github.com Remove 'must not be null' comments from various libraries. (flutter/flutter#134984) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 6535421b30d3 to 5f82fc2f6f24 (2 revisions) (flutter/flutter#135142) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 67d4aaef3c7b to 6535421b30d3 (1 revision) (flutter/flutter#135139) 2023-09-20 sokolovskyi.konstantin@gmail.com Cover more test/widgets tests with leak tracking flutter#8 (flutter/flutter#135045) 2023-09-20 sokolovskyi.konstantin@gmail.com Cover more test/widgets tests with leak tracking flutter#9 (flutter/flutter#135054) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 83b4df415bf3 to 67d4aaef3c7b (1 revision) (flutter/flutter#135128) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from df4e6c079682 to 83b4df415bf3 (2 revisions) (flutter/flutter#135102) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 9c6b2500282b to df4e6c079682 (1 revision) (flutter/flutter#135101) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 24f7ac38dfa2 to 9c6b2500282b (3 revisions) (flutter/flutter#135098) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 36379b62bec8 to 24f7ac38dfa2 (2 revisions) (flutter/flutter#135096) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 81b93fc4a2cc to 36379b62bec8 (2 revisions) (flutter/flutter#135095) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from 5a924a9017d7 to 81b93fc4a2cc (2 revisions) (flutter/flutter#135093) 2023-09-20 gspencergoog@users.noreply.github.com Remove 'must be non-null' and 'must not be null' comments from material. (flutter/flutter#134991) 2023-09-20 34871572+gmackall@users.noreply.github.com Unpin url launcher (remake) (flutter/flutter#134958) 2023-09-20 engine-flutter-autoroll@skia.org Roll Flutter Engine from a7af55c56aa6 to 5a924a9017d7 (10 revisions) (flutter/flutter#135085) 2023-09-20 engine-flutter-autoroll@skia.org Manual roll Flutter Engine from a7af55c56aa6 to 0d7db40c27fd (7 revisions) (flutter/flutter#135079) 2023-09-20 gspencergoog@users.noreply.github.com Remove 'must not be null' comments from painting and rendering libraries. (flutter/flutter#134993) 2023-09-20 82763757+NobodyForNothing@users.noreply.github.com cover more tests with leak tracking (flutter/flutter#134837) 2023-09-20 xilaizhang@google.com [flutter roll] Revert "Native assets support for Linux" (flutter/flutter#135069) 2023-09-20 engine-flutter-autoroll@skia.org Manual roll Flutter Engine from 10c480310926 to a7af55c56aa6 (4 revisions) (flutter/flutter#135071) 2023-09-19 zanderso@users.noreply.github.com Retry Linux web tests 1 time on roll presubmit (flutter/flutter#135073) 2023-09-19 ditman@gmail.com [web] Encode AssetManifest.bin as JSON and use that on the web. (flutter/flutter#131382) 2023-09-19 polinach@google.com Specify suggested format in doc comment. (flutter/flutter#134887) 2023-09-19 engine-flutter-autoroll@skia.org Manual roll Flutter Engine from 28f14e6eec4f to 10c480310926 (6 revisions) (flutter/flutter#135066) ...
While covering tests with leak protection ( #134), leak tracking indicated that many FocusNodes were not disposed after the test ended.
This is because
KeyboardListener
andRawKeyboardListener
internally use theFocus
widget, which makes its caller responsible for callingFocusNode.dispose
on the focus node when it is done with it. This behavior however was not documented in theKeyboardListener
property, leading to the missingFocusNode.dispose()
call in the tests.closes #134379