-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Support using lightweight Flutter Engines to run tests #141726
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
Support using lightweight Flutter Engines to run tests #141726
Conversation
8622538 to
0746b51
Compare
0746b51 to
8c6e6dd
Compare
61c7a6f to
6b68eb8
Compare
|
cc @a-siva |
976e2c4 to
d9fbd9d
Compare
|
I just tried running is returning I tried changing |
|
The windows version of this needs a windows-style path. File URIs won't work. |
5c682fa to
32da351
Compare
|
The checks are now all passing. |
dnfield
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.
What's the result of using this flag locally to run tests compared to the "default" behavior?
What's the plan for implementing this in Flutter CI?
dnfield
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.
This LGTM to get things rolling. I'd appreciate it if you remove the comment I tagged in the pubspec. It also needs a merge conflict fix.
It would be very helpful if you add some numbers even if just locally to this PR to compare how it's running on e.g. the framework tests with and without the flag.
32da351 to
d234512
Compare
d234512 to
2c9e2c6
Compare
|
Running the material tests with |
2c9e2c6 to
30c2ef8
Compare
flutter/flutter@41581c9...39585e6 2024-02-23 [email protected] Re-enable Impeller goldens blocking. (flutter/flutter#144023) 2024-02-23 [email protected] Roll Flutter Engine from 0f3ad23b84ed to 5f99a6c3289e (16 revisions) (flutter/flutter#144028) 2024-02-23 [email protected] Roll Packages from 078c2a3 to 7df2085 (3 revisions) (flutter/flutter#144030) 2024-02-23 [email protected] Run tests on iOS 17 exclusively (flutter/flutter#144022) 2024-02-23 [email protected] Retry button tap in [FlutterUITests testFlutterViewWarm] (flutter/flutter#143967) 2024-02-23 [email protected] Remove deprecated `InteractiveViewer.alignPanAxis` (flutter/flutter#142500) 2024-02-23 [email protected] Remove deprecated `KeepAliveHandle.release` (flutter/flutter#143961) 2024-02-23 [email protected] Remove deprecated AnimatedListItemBuilder, AnimatedListRemovedItemBuilder (flutter/flutter#143974) 2024-02-23 [email protected] Manual roll Flutter Engine from 06448ee8165f to 0f3ad23b84ed (16 revisions) (flutter/flutter#143989) 2024-02-23 [email protected] Remove deprecated TimelineSummary.writeSummaryToFile (flutter/flutter#143983) 2024-02-23 [email protected] Remove unused drone_dimension field (flutter/flutter#143984) 2024-02-23 [email protected] Remove deprecated MediaQuery.boldTextOverride (flutter/flutter#143960) 2024-02-22 [email protected] Revert engine back to 06448ee8165f4ff6579ef9510ac69322eda896ac (flutter/flutter#143986) 2024-02-22 [email protected] Remove deprecated FlutterDriver.enableAccessibility (flutter/flutter#143979) 2024-02-22 [email protected] Roll Flutter Engine from cb6115d3a6ab to c5d2e011652b (3 revisions) (flutter/flutter#143980) 2024-02-22 [email protected] Revert "Introduce tone-based surfaces and accent color add-ons - Part 2" (flutter/flutter#143973) 2024-02-22 [email protected] Add CloseButtonTooltip to the 'X' button on a SnackBar (flutter/flutter#143934) 2024-02-22 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 3.24.3 to 3.24.4 (flutter/flutter#143971) 2024-02-22 [email protected] Roll Flutter Engine from 06448ee8165f to cb6115d3a6ab (10 revisions) (flutter/flutter#143972) 2024-02-22 [email protected] Use inlining annotations on important methods for all targets (flutter/flutter#143923) 2024-02-22 [email protected] Add missing `TextPainter.strutStyle` to paragraph style (flutter/flutter#143771) 2024-02-22 [email protected] Shift Moto G4 staging tests to A02s (flutter/flutter#143957) 2024-02-22 [email protected] Add CurvedAnimation disposals in some widgets (flutter/flutter#143790) 2024-02-22 [email protected] Fix documentation typo in basic.dart (flutter/flutter#143887) 2024-02-22 [email protected] Fixed Small Typo in Emulators Test Name (flutter/flutter#143578) 2024-02-22 [email protected] Support using lightweight Flutter Engines to run tests (flutter/flutter#141726) 2024-02-22 [email protected] Roll Flutter Engine from 9250bfdb38c5 to 06448ee8165f (1 revision) (flutter/flutter#143943) 2024-02-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Reland Add UI Benchmarks (#143542) (#143799)" (flutter/flutter#143946) 2024-02-22 [email protected] Roll Packages from 48048f6 to 078c2a3 (11 revisions) (flutter/flutter#143935) 2024-02-22 [email protected] Roll Flutter Engine from 7777480eb94d to 9250bfdb38c5 (8 revisions) (flutter/flutter#143933) 2024-02-22 [email protected] Reland Add UI Benchmarks (#143542) (flutter/flutter#143799) 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],[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
flutter/flutter@41581c9...39585e6 2024-02-23 [email protected] Re-enable Impeller goldens blocking. (flutter/flutter#144023) 2024-02-23 [email protected] Roll Flutter Engine from 0f3ad23b84ed to 5f99a6c3289e (16 revisions) (flutter/flutter#144028) 2024-02-23 [email protected] Roll Packages from 078c2a3 to 7df2085 (3 revisions) (flutter/flutter#144030) 2024-02-23 [email protected] Run tests on iOS 17 exclusively (flutter/flutter#144022) 2024-02-23 [email protected] Retry button tap in [FlutterUITests testFlutterViewWarm] (flutter/flutter#143967) 2024-02-23 [email protected] Remove deprecated `InteractiveViewer.alignPanAxis` (flutter/flutter#142500) 2024-02-23 [email protected] Remove deprecated `KeepAliveHandle.release` (flutter/flutter#143961) 2024-02-23 [email protected] Remove deprecated AnimatedListItemBuilder, AnimatedListRemovedItemBuilder (flutter/flutter#143974) 2024-02-23 [email protected] Manual roll Flutter Engine from 06448ee8165f to 0f3ad23b84ed (16 revisions) (flutter/flutter#143989) 2024-02-23 [email protected] Remove deprecated TimelineSummary.writeSummaryToFile (flutter/flutter#143983) 2024-02-23 [email protected] Remove unused drone_dimension field (flutter/flutter#143984) 2024-02-23 [email protected] Remove deprecated MediaQuery.boldTextOverride (flutter/flutter#143960) 2024-02-22 [email protected] Revert engine back to 06448ee8165f4ff6579ef9510ac69322eda896ac (flutter/flutter#143986) 2024-02-22 [email protected] Remove deprecated FlutterDriver.enableAccessibility (flutter/flutter#143979) 2024-02-22 [email protected] Roll Flutter Engine from cb6115d3a6ab to c5d2e011652b (3 revisions) (flutter/flutter#143980) 2024-02-22 [email protected] Revert "Introduce tone-based surfaces and accent color add-ons - Part 2" (flutter/flutter#143973) 2024-02-22 [email protected] Add CloseButtonTooltip to the 'X' button on a SnackBar (flutter/flutter#143934) 2024-02-22 49699333+dependabot[bot]@users.noreply.github.com Bump github/codeql-action from 3.24.3 to 3.24.4 (flutter/flutter#143971) 2024-02-22 [email protected] Roll Flutter Engine from 06448ee8165f to cb6115d3a6ab (10 revisions) (flutter/flutter#143972) 2024-02-22 [email protected] Use inlining annotations on important methods for all targets (flutter/flutter#143923) 2024-02-22 [email protected] Add missing `TextPainter.strutStyle` to paragraph style (flutter/flutter#143771) 2024-02-22 [email protected] Shift Moto G4 staging tests to A02s (flutter/flutter#143957) 2024-02-22 [email protected] Add CurvedAnimation disposals in some widgets (flutter/flutter#143790) 2024-02-22 [email protected] Fix documentation typo in basic.dart (flutter/flutter#143887) 2024-02-22 [email protected] Fixed Small Typo in Emulators Test Name (flutter/flutter#143578) 2024-02-22 [email protected] Support using lightweight Flutter Engines to run tests (flutter/flutter#141726) 2024-02-22 [email protected] Roll Flutter Engine from 9250bfdb38c5 to 06448ee8165f (1 revision) (flutter/flutter#143943) 2024-02-22 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Reland Add UI Benchmarks (#143542) (#143799)" (flutter/flutter#143946) 2024-02-22 [email protected] Roll Packages from 48048f6 to 078c2a3 (11 revisions) (flutter/flutter#143935) 2024-02-22 [email protected] Roll Flutter Engine from 7777480eb94d to 9250bfdb38c5 (8 revisions) (flutter/flutter#143933) 2024-02-22 [email protected] Reland Add UI Benchmarks (#143542) (flutter/flutter#143799) 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],[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
This PR implements the functionality described above and hides it behind the
--experimental-faster-testingflag offlutter test.The following are some performance measurements from test runs conducted on GitHub Actions
run 1 logs: https://github.com/derekxu16/flutter_test_ci/actions/runs/8008029772/attempts/1
run 2 logs: https://github.com/derekxu16/flutter_test_ci/actions/runs/8008029772/attempts/2
run 3 logs: https://github.com/derekxu16/flutter_test_ci/actions/runs/8008029772/attempts/3
length of
flutter test --reporter=expanded test/animation test/foundationsteprun 1: 54s
run 2: 52s
run 3: 56s
average: 54s
length of
flutter test --experimental-faster-testing --reporter=expanded test/animation test/foundationsteprun 1: 27s
run 2: 27s
run 3: 29s
average: 27.67s (~48.77% shorter than 54s)
length of
flutter test --reporter=expanded test/animation test/foundation test/gestures test/painting test/physics test/rendering test/scheduler test/semantics test/servicessteprun 1: 260s
run 2: 270s
run 3: 305s
average: 278.33s
length of
flutter test --experimental-faster-testing --reporter=expanded test/animation test/foundation test/gestures test/painting test/physics test/rendering test/scheduler test/semantics test/servicesstepfrom a clean build (right after deleting the build folder):
run 1: 215s
run 2: 227s
run 3: 245s
average: 229s (~17.72% shorter than 278.33s)
Note that in reality,
test/materialwas not passed toflutter testin the trials below. All of the test files undertest/materialexcept fortest/material/icons_test.dartwere listed out individuallylength of
flutter test --reporter=expanded test/materialsteprun 1: 408s
run 2: 421s
run 3: 451s
average: 426.67s
length of
flutter test --experimental-faster-testing --reporter=expanded test/materialsteprun 1: 382s
run 2: 373s
run 3: 400s
average: 385s (~9.77% shorter than 426.67s)