Skip to content

Conversation

@Piinks
Copy link
Contributor

@Piinks Piinks commented Jun 24, 2024

The set of nodes being used in the tree test was not being consistently reset at the beginning of every test. The tree is currently broken because today's random seed for test ordering exposed this leak of state from one test to another.

Fixes #150706

Pre-launch Checklist

If you need help, consider asking for advice on the #hackers-new channel on Discord.

@Piinks Piinks added a: tests "flutter test", flutter_test, or one of our tests c: flake Tests that sometimes, but not always, incorrectly pass labels Jun 24, 2024
@github-actions github-actions bot added framework flutter/packages/flutter repository. See also f: labels. f: scrolling Viewports, list views, slivers, etc. and removed a: tests "flutter test", flutter_test, or one of our tests labels Jun 24, 2024
@Piinks Piinks added a: tests "flutter test", flutter_test, or one of our tests warning: land on red to fix tree breakage and removed f: scrolling Viewports, list views, slivers, etc. labels Jun 24, 2024
@Piinks Piinks requested a review from victorsanni June 24, 2024 17:30
Copy link
Contributor

@christopherfujino christopherfujino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM to unblock the tree, but the way this test library is set up, it seems easy to regress this in the future

@Piinks Piinks added the autosubmit Merge PR when tree becomes green via auto submit App label Jun 24, 2024
@victorsanni
Copy link
Contributor

LGTM

@victorsanni victorsanni merged commit acf1fb6 into flutter:master Jun 24, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 25, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 25, 2024
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Jun 25, 2024
auto-submit bot pushed a commit to flutter/packages that referenced this pull request Jun 25, 2024
Roll Flutter from 6c06abb to e726eb4 (51 revisions)

flutter/flutter@6c06abb...e726eb4

2024-06-25 [email protected] Roll Packages from 711b4ac to 03f5f6d (21 revisions) (flutter/flutter#150779)
2024-06-25 [email protected] Roll Flutter Engine from afa7ce19bca8 to fbd92055f3a6 (1 revision) (flutter/flutter#150777)
2024-06-25 [email protected] Reland Add tests for form_text_field.1.dart (#150481) (#150696) (flutter/flutter#150750)
2024-06-25 [email protected] Add an example for CupertinoPopupSurface (flutter/flutter#150357)
2024-06-25 [email protected] [flutter_tools/dap] Handle app.stop errors when launching/attaching (flutter/flutter#149734)
2024-06-25 [email protected] Roll Flutter Engine from be7db94196fe to afa7ce19bca8 (18 revisions) (flutter/flutter#150762)
2024-06-25 [email protected] Remove dubious comment (flutter/flutter#150608)
2024-06-25 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Manual engine roll to 6884e83 (#150733)" (flutter/flutter#150746)
2024-06-25 [email protected] Manual engine roll to 6884e83 (flutter/flutter#150733)
2024-06-24 [email protected] Linkify 'see also' sections (flutter/flutter#150734)
2024-06-24 [email protected] Roll pub packages (flutter/flutter#150712)
2024-06-24 [email protected] Update flutter.dev links from framework to more permanent destinations (flutter/flutter#150531)
2024-06-24 [email protected] Manual engine roll to be7db94196fe (flutter/flutter#150714)
2024-06-24 [email protected] allow adb to set canfail then use canFail=true for clearing logs (flutter/flutter#150517)
2024-06-24 [email protected] Update android_device.dart to have clearLogs not print to standard error (flutter/flutter#150197)
2024-06-24 [email protected] Update issue link in analysis_options.yaml (flutter/flutter#150395)
2024-06-24 [email protected] Fix a number of broken doc comment references (flutter/flutter#150540)
2024-06-24 [email protected] Fix flaky sliver tree test (flutter/flutter#150707)
2024-06-24 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Add tests for form_text_field.1.dart (#150481)" (flutter/flutter#150696)
2024-06-24 [email protected] Add tests for form_text_field.1.dart (flutter/flutter#150481)
2024-06-22 [email protected] Fix: Memory leak in UndoHistory widget because it never de-registered itself as global UndoManager client (Resolves #148291) (flutter/flutter#150661)
2024-06-22 [email protected] [CupertinoActionSheet] Fix the layout (part 1) (flutter/flutter#149636)
2024-06-21 [email protected] Remove discontinued `device_info` and `connectivity` plugins from `flutter_gallery`, roll pub packages (flutter/flutter#150585)
2024-06-21 [email protected] [a11y] Update semantics in bottom_navigation_bar.dart (flutter/flutter#150576)
2024-06-21 [email protected] Roll Flutter Engine from dda82d905f37 to 33415c6ee7c2 (7 revisions) (flutter/flutter#150637)
2024-06-21 [email protected] Reland 4: [CupertinoActionSheet] Match colors to native (flutter/flutter#150442)
2024-06-21 [email protected] Enable SelectionArea double tap/triple tap gesture support for mobile platforms (flutter/flutter#149295)
2024-06-21 [email protected] made SelectionArea alignment consistent between web and other platform (flutter/flutter#150037)
2024-06-21 [email protected] Fix link hook typo (flutter/flutter#150194)
2024-06-21 [email protected] Stop looking for .packages when analyzing (flutter/flutter#150349)
2024-06-20 [email protected] Update flutter.dev links from misc packages to more permanent destinations (flutter/flutter#150532)
2024-06-20 [email protected] Roll Flutter Engine from dd37cefd4a94 to dda82d905f37 (9 revisions) (flutter/flutter#150582)
2024-06-20 [email protected] Update Material token to the latest 4.1.0 (flutter/flutter#150382)
2024-06-20 [email protected] Let the lockfile script generate lockfiles for kotlin gradle files as well (flutter/flutter#150471)
2024-06-20 [email protected] Make popup menu hardcoded padding configurable (flutter/flutter#150506)
2024-06-20 [email protected] [flutter_tools] un-hide the --dds flag (flutter/flutter#150280)
2024-06-20 [email protected] [material/menu_anchor.dart] Remove _MenuAnchorState from parent when disposed. (flutter/flutter#149586)
2024-06-20 [email protected] Add test for inherited_notifier.0.dart (flutter/flutter#150344)
2024-06-20 [email protected] [CLI tool] in `flutter test`, consider `--flavor` when validating the cached asset bundle (flutter/flutter#150461)
2024-06-20 [email protected] Test InputDecoration API examples (flutter/flutter#148560)
2024-06-20 [email protected] Clean leaky tests. (flutter/flutter#150335)
2024-06-20 [email protected] Roll Flutter Engine from f9c497f178d3 to dd37cefd4a94 (2 revisions) (flutter/flutter#150537)
2024-06-20 [email protected] Roll Flutter Engine from a31279381b40 to f9c497f178d3 (9 revisions) (flutter/flutter#150528)
2024-06-19 [email protected] Add tests for about_list_tile.0.dart (flutter/flutter#150181)
2024-06-19 [email protected] Roll Flutter Engine from 0ad18fe4c0b5 to a31279381b40 (7 revisions) (flutter/flutter#150473)
2024-06-18 [email protected] Revert "[a11y] Add semantics: button to bottom navigation bar items and dropdown menu items" (flutter/flutter#150445)
...
sigurdm pushed a commit to sigurdm/flutter that referenced this pull request Jun 26, 2024
The set of nodes being used in the tree test was not being consistently
reset at the beginning of every test. The tree is currently broken
because today's random seed for test ordering exposed this leak of state
from one test to another.

Fixes flutter#150706

## 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.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview
[Tree Hygiene]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md
[test-exempt]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md
[Features we expect every widget to implement]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Style-guide-for-Flutter-repo.md#features-we-expect-every-widget-to-implement
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#handling-breaking-changes
[Discord]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Chat.md
[Data Driven Fixes]:
https://github.com/flutter/flutter/blob/main/docs/contributing/Data-driven-Fixes.md
engine-flutter-autoroll added a commit to engine-flutter-autoroll/packages that referenced this pull request Aug 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a: tests "flutter test", flutter_test, or one of our tests autosubmit Merge PR when tree becomes green via auto submit App c: flake Tests that sometimes, but not always, incorrectly pass framework flutter/packages/flutter repository. See also f: labels.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tree is red on random seed exposing a leak between tests

3 participants