Commit Graph

473 Commits

Author SHA1 Message Date
Marcin Jeleński
be5830cdf0
Flutter driver patch: export finder factory (#67769) 2020-10-09 14:49:45 -07:00
Marcin Jeleński
759ddb1ccd
Reland "Flutter Driver - Create widget finders from serialized finders extensions" with null safety (#67711)
* Flutter Driver - Create widget finders from serialized finders extensions
2020-10-09 13:28:25 -07:00
Jonah Williams
4f2fcca6a9
Reland "[null-safety] reland: migrate app side flutter driver to null-safety" (#67570) 2020-10-08 17:42:02 -07:00
Jonah Williams
4042eb97b9
Revert "Flutter Driver - Create widget finders from serialized finders extensions (#67456)" (#67687)
This reverts commit 74f6fa4564.
2020-10-08 15:34:55 -07:00
Marcin Jeleński
74f6fa4564
Flutter Driver - Create widget finders from serialized finders extensions (#67456) 2020-10-08 15:27:02 -07:00
Alexandre Ardhuin
0d8d4f77aa
unnecessary null comparison (#67525) 2020-10-08 09:26:30 +02:00
Dan Field
ad49e25a6b
Revert "[null-safety] reland: migrate app side flutter driver to null-safety (#67441)" (#67561)
This reverts commit d411242468.
2020-10-07 13:57:49 -07:00
Jonah Williams
d411242468
[null-safety] reland: migrate app side flutter driver to null-safety (#67441)
Reland: #67155

Fixes analysis error caused by landing of material migration, and g3 error caused by moving of fuchsia lib.
2020-10-06 16:51:37 -07:00
Jonah Williams
4818537044
Revert "[null-safety] migrate app dependencies of flutter driver (#67155)" (#67433)
This reverts commit e826442ef4.
2020-10-06 10:41:45 -07:00
Jonah Williams
e826442ef4
[null-safety] migrate app dependencies of flutter driver (#67155)
Ensures all of the libraries that the application side code import are migrated to null safety. full null safety migration is blocked by json rpc 2 and a breaking change to vm service client.
2020-10-06 10:30:15 -07:00
Satsuki Ueno
bf41c78255
Reland fuchsia_remote_debug_protocol allows open port on remote device (#66271) 2020-09-22 12:17:05 -07:00
Brian Eaton
7a4d8e190c
Make sure all isolates start during flutter driver tests. (#65703) 2020-09-18 14:42:04 -07:00
Dan Field
2acd170814
Make parameter optional (#65444) 2020-09-16 16:47:04 -07:00
Michael R Fairhurst
7f3c9b6bda
Remove unused 'dart:async' imports. (#65568) 2020-09-16 14:14:06 -07:00
Tong Mu
a48e14308e
Expose GestureBinding.handlePointerEvent, replacing dispatchEvent as the preferred way to dispatch events (#64846) 2020-09-15 22:17:06 -07:00
Zachary Anderson
a91bf5f3ee
Revert "fuchsia_remote_debug_protocol allows open port on remote device (#63996)" (#65704)
This reverts commit 33f799508c.
2020-09-13 10:51:27 -07:00
Satsuki Ueno
33f799508c
fuchsia_remote_debug_protocol allows open port on remote device (#63996)
* fuchsia_remote_debug_protocol allows open port on remote device

Allows defining a port forwarding function for which the accessible
port is not on the host device. Examples include tunneling solutions
where a tunneling program on the same device as the Dart VM exposes
an open port through which it tunnels connections to the VM.

* Move ssh-specific comment to SshPortForwarder
2020-09-11 18:18:13 -07:00
renyou
51bb11f7ce
Revert "Reland "Make sure all isolates start during flutter driver tests" (#64432)" (#65635)
This reverts commit ccd4f6dd18.
2020-09-11 14:15:31 -07:00
Brian Eaton
ccd4f6dd18
Reland "Make sure all isolates start during flutter driver tests" (#64432) 2020-09-10 12:50:04 -07:00
Angjie Li
d2fa384c31
Allow Developers to enable Accessibility testing on WebFlutterDriver and get the underlying webDriver (#65051) 2020-09-08 13:15:06 -07:00
Im-Kevin
418e424794
Fix the test error of "Add finders for enableFlutterDriverExtension" and resubmit (#65276) 2020-09-08 12:10:05 -07:00
Jonah Williams
14af5bbe1e
Revert "Add finders for enableFlutterDriverExtension (#64308)" (#65273)
This reverts commit db4dda2052.
2020-09-04 17:01:30 -07:00
Im-Kevin
db4dda2052
Add finders for enableFlutterDriverExtension (#64308) 2020-09-04 14:50:02 -07:00
Ming Lyu (CareF)
c8c575c894
update TimelineStream in flutter_driver (#64258) 2020-08-20 15:01:10 -07:00
Nolan Scobie
43c1b34cf5
Add punctuation for unterminated sentences in doc comments (#62755)
* Add punctuation for unterminated sentences in doc comments

* Addressing review nit
2020-08-06 19:18:52 -04:00
Michael Goderbauer
395510134c
Random unresolved doc reference fixes I missed before (#62582) 2020-07-30 12:01:04 -07:00
Michael Goderbauer
f4e10b4fb5
Make dartdoc warnings fatal (& cleanup of warnings) (#62367) 2020-07-28 16:11:04 -07:00
Jonah Williams
cb615b3bd7
Revert "Make sure all isolates start during flutter driver tests. (#61841)" (#62239)
This reverts commit 5fa5701d72.
2020-07-24 18:16:44 -07:00
Brian Eaton
5fa5701d72
Make sure all isolates start during flutter driver tests. (#61841) 2020-07-24 15:36:13 -07:00
Kaushik Iska
afd745e893
Filter profiling events by names not category (#61185)
Category isn't preserved by timeline events as `Dart_TimelineEvent`
specifies the category as `embedder`.

Fixes: https://github.com/flutter/flutter/issues/60008
2020-07-10 12:13:56 -07:00
Jia Hao
dd6dd7aef1
Fix tracing of startup events (#59982)
When `retainPriorEvents` is passed as true, the current behavior still limits timeline events to the timestamp after `traceEvents` is called. This can cause startup events to be missing.

This fixes it by passing null to `stopTracingAndDownloadTimeline` for the start and end time.

Related: #58430
2020-06-23 08:07:05 +08:00
Christopher Fujino
5cfb16b193
Re-land "Deprecate WhitelistingTextInputFormatter and BlacklistingTextInputFormatter (#59120)" (#59876)
This relands #59120, which was reverted in #59870.
2020-06-19 12:03:38 -07:00
Christopher Fujino
0d7ff7a9e7
Revert "Deprecate WhitelistingTextInputFormatter and BlacklistingTextInputFormatter (#59120)" (#59870)
This reverts commit 8665e13801.
2020-06-19 10:52:52 -07:00
Ian Hickson
8665e13801
Deprecate WhitelistingTextInputFormatter and BlacklistingTextInputFormatter (#59120) 2020-06-18 18:08:01 -07:00
Ming Lyu (CareF)
9c3f0faa6d
Add comments to flutter_driver for timeline class (#58823)
* Add comments to flutter_driver for timeline class

Mostly about explanation for the json items from
timeline.dart and timeline_summary.dart.
2020-06-17 18:47:54 -04:00
Wyte Krongapiradee
3be48f34f2
[Flutter Driver] Update the comments regarding the default timeout of WaitFor and WaitForAbsent commands (#58771) 2020-06-11 09:30:02 -07:00
Nate Bosch
4461cfbaaf
Drop an unnecessary factory constructor (#58723) 2020-06-10 12:15:04 -07:00
Kaushik Iska
60cfe4957a
Timeline summary contains CPU, GPU and Memory usage (#58820)
As of flutter.dev/go/engine-cpu-profiling, we collect the CPU and
Memory usage. With work being done to collect GPU usage on iOS as well.

This adds them to the timeline summary.

Fixes: https://github.com/flutter/flutter/issues/58803
2020-06-08 17:17:46 -07:00
Ming Lyu (CareF)
28138ec5e3
debug mode warning text alignment (#58655) 2020-06-03 21:33:01 -07:00
Jim Graham
e48e2e6ab9
add rasterizer start times to timeline summaries (#58514) 2020-06-03 16:18:02 -07:00
Jonah Williams
cd7dfd0a0a
[flutter_driver] make timeline request in chunks (#58430)
Work-around large timeline data killing devicelab machines by requesting data in 1 second intervals and combining at the end. Non-breaking change to the driver API.
2020-06-01 13:58:44 -07:00
Jia Hao
073126fdb3
Allow waitUntilFirstFrameRasterized without a root widget (#56430) 2020-05-13 09:12:03 -07:00
Jia Hao
342c6286ce
Eagerly wait for the driver extension on FlutterDriver.connect() (#56428) 2020-05-13 09:07:04 -07:00
Jia Hao
c2b7342ca4
Handle uncaught error for warnIfSlow (#56418) 2020-05-06 08:16:03 -07:00
Kaushik Iska
057a25cd45
[timeline] Sort timeline events before summarizing (#55771) 2020-04-27 16:34:02 -07:00
Kaushik Iska
cb88d2a3af
Revert "[timeline] Sort timeline events before summarizing (#55763)" (#55769)
This reverts commit 265168170d.

Co-authored-by: Kaushik Iska <kaushikiska@google.com>
2020-04-27 14:05:52 -07:00
Kaushik Iska
265168170d
[timeline] Sort timeline events before summarizing (#55763) 2020-04-27 14:03:43 -07:00
Aubrey Anderson
d537834b38
Allow headers to be passed to the WebSocket connection for VMServiceFlutterDriver (#54698) 2020-04-15 18:25:02 -07:00
Pierre-Louis
21588019bd
[flutter_driver] Fix browser check (#54741) 2020-04-15 10:40:03 -07:00
Kaushik Iska
7b9aeb2ff2
[flutter_driver] Reland add SceneDisplayLag stats to timeline summary (#54490) 2020-04-11 15:30:01 -07:00
Kaushik Iska
50b4c39c5d
Revert "[flutter_driver] Add SceneDisplayLag stats to timeline summary (#54218)" (#54480)
This reverts commit ce92333bf7.
2020-04-10 12:48:48 -07:00
Kaushik Iska
ce92333bf7
[flutter_driver] Add SceneDisplayLag stats to timeline summary (#54218) 2020-04-10 12:20:01 -07:00
Kaushik Iska
4987210ab6
[benchmarks] Handle multiple begin/end trace events (#54220)
Parser would earlier alternate after finding the first
begin event, not it looks for pairs.

Fixes: https://github.com/flutter/flutter/issues/54095
2020-04-10 10:32:41 -07:00
Filip Hracek
1593788cd9
Rename GPU thread to raster thread in API docs (#53422) 2020-04-08 18:57:03 -07:00
Michael Goderbauer
d47ad7ec0d
Reverse dependency between services and scheduler (#54212) 2020-04-08 09:12:03 -07:00
Alexandre Ardhuin
f5a9902577
enable avoid_equals_and_hash_code_on_mutable_classes (#52507) 2020-04-06 13:36:01 -07:00
liyuqian
54d75a515a
Print frame begin time in summary (#50272) 2020-04-02 10:16:03 -07:00
liyuqian
77c46276cc
Fix typo its to it's (#52580) 2020-03-13 20:01:01 -07:00
Angjie Li
665d380f81
Add Android Chrome support to Flutter Web Driver. (#51677)
* Support Android Chrome for Flutter Web Driver.
2020-03-09 13:01:07 -07:00
Konstantin Scheglov
fb953b719f
Cast to List<dynamic> and cast(). (#51591) 2020-03-03 14:49:02 -08:00
Alexandre Ardhuin
7d7ac7c32b
start multiline strings with newline (#50825) 2020-02-20 10:16:28 +01:00
Angjie Li
11549e45a3
Use Async WebDriver for WebFlutterDriver. (#50835) 2020-02-19 13:31:10 -08:00
Alexandre Ardhuin
f15c887c63
change quote to avoid escapes (#50368) 2020-02-11 20:58:27 +01:00
Alexandre Ardhuin
b953c3e5a8
use raw strings to avoid escaping (#50322) 2020-02-07 16:35:55 +01:00
Jonah Williams
068fa84c5b
[flutter_driver] document caveats with driver method (#50017) 2020-02-03 10:57:28 -08:00
Angjie Li
f0a175f41d Use flutter_tools to start WebDriver browser. (#49228) 2020-01-21 16:48:02 -08:00
Alexandre Ardhuin
3800bb7b10 fix missing spaces in adjacent strings (#49159) 2020-01-21 16:43:03 -08:00
Xavjer
6408f71a7c [Flutter Driver] Extend getText to support more widgets (#48809) 2020-01-15 16:49:11 -08:00
Angjie Li
1d08642a90 Create helper functions to handle WebDriver actions. Some actions on base … (#48538) 2020-01-10 14:48:02 -08:00
Alexandre Ardhuin
82262d8896 format operator== according to flutter style guide (#48449) 2020-01-09 08:23:02 -08:00
Lau Ching Jun
67c843f7b6 Rename conditional imported files to match convention (#48356) 2020-01-08 12:38:03 -08:00
Alexandre Ardhuin
4f9b6cf017
enable lint prefer_final_in_for_each (#47724) 2020-01-07 16:32:04 +01:00
Angjie Li
9df1790f24 Flutter Web Driver Support (#47890) 2020-01-02 19:48:01 -08:00
Francisco Magdaleno
bc0d35c34e
Reland "fix duration event of timeline summary (#47742)" (#47889)
This reverts commit 50d421224d.
2019-12-27 11:15:48 -08:00
Francisco Magdaleno
50d421224d
Revert "fix duration event of timeline summary (#47742)" (#47888)
This reverts commit e43fd1c54d.
2019-12-27 10:26:49 -08:00
Gityuan
e43fd1c54d fix duration event of timeline summary (#47742)
* fix duration event of timeline summary

* Revert "fix duration event of timeline summary"

This reverts commit 699aa45ed3.

* fix duration event of timeline summary
2019-12-27 09:36:59 -08:00
Francisco Magdaleno
f2f9d0e4fd
Revert "Flutter Web Driver Support (#47470)" (#47698)
This reverts commit cc1c9649c4.
2019-12-23 15:20:11 -08:00
Angjie Li
cc1c9649c4 Flutter Web Driver Support (#47470) 2019-12-19 19:53:01 -08:00
Lau Ching Jun
2df964581f
Revert "Flutter Web Driver Support (#45951)" (#47389)
This reverts commit 1ef0eadb45.
2019-12-18 17:02:31 -08:00
Angjie Li
1ef0eadb45 Flutter Web Driver Support (#45951)
* Support Flutter Driver test for Flutter Web application.

* Support Flutter Driver test for Flutter Web application.

* Fix documentation issues.

* Support Flutter Driver test for Flutter Web application.

* Fix documentation.

* Remove unused file from dartdoc check.

* Sync to date.

* Revert change to dartdoc.

* Address comments.

* Apply suggestions from code review

Co-Authored-By: Jonah Williams <jonahwilliams@google.com>

* Update copyrights.

* Update allowed list for browsers.

* Verify command line arguments for Drive command is correctly parsed.

* Make waitUntilFirstFrameRasterized throw unimplementedError for Flutter Web Driver.

* Add comment for why sync WebDriver is used.

* Update documentations.

* Add more unit tests and update documentation.

* Configure test.dart so that web_extension_test will be executed with --platform=chrome.

* Revert unnecessary changes.

* Add new file path for Windows to blacklist.

* Reconstruct the structure of flutter_driver/test/src folder to remove filtering logic in dev/bots/test.dart/

* Fix path to web_extension_test.dart.

* Add instructions for how to use WebFlutterDriver.

* Update getLayerTree to use sendCommand instead of _sendCommand.

* Update pubspec files.
2019-12-18 10:45:39 -08:00
George Wright
9a76b4209e
Add support for getting a string representation of the LayerTree (#47014) 2019-12-16 15:39:06 -05:00
Alexandre Ardhuin
4956bcc2f9
implicit-casts:false in flutter_driver (#45175)
* implicit-casts:false in flutter_driver

* address review comments
2019-12-04 11:10:50 +01:00
Jacek Marchwicki
50532f387a [Driver] correct type for getWidgetDiagnostics (#45985) 2019-12-03 20:33:02 -08:00
Ian Hickson
97495d8938
Simplify logging code in flutter_driver (#45945)
* Simplify logging code in flutter_driver

It appears nobody is benefitting from this logic, so we may as well not pay the cost.

* Make all of the driver interface public.

This is the second attempt at this; it should be better than before because the Logger interface, which conflicted in various places, no longer exists.

See #45733 for original attempt.

This reverts commit 0ce9206ef4 (PR #45924).
2019-12-03 17:14:43 -08:00
Kate Lovett
0ce9206ef4
Revert "Make all of the driver interface public. (#45733)" (#45924)
This reverts commit f2445002b2.
2019-12-02 17:02:59 -08:00
Ian Hickson
f2445002b2
Make all of the driver interface public. (#45733)
We keep finding things that we've accidentally not made public. The
pattern we use elsewhere in the platform is to just export everything,
to avoid encouraging people from importing `src/` files directly.
2019-11-27 16:26:05 -08:00
Ian Hickson
449f4a6673
License update (#45373)
* Update project.pbxproj files to say Flutter rather than Chromium

Also, the templates now have an empty organization so that we don't cause people to give their apps a Flutter copyright.

* Update the copyright notice checker to require a standard notice on all files

* Update copyrights on Dart files. (This was a mechanical commit.)

* Fix weird license headers on Dart files that deviate from our conventions; relicense Shrine.

Some were already marked "The Flutter Authors", not clear why. Their
dates have been normalized. Some were missing the blank line after the
license. Some were randomly different in trivial ways for no apparent
reason (e.g. missing the trailing period).

* Clean up the copyrights in non-Dart files. (Manual edits.)

Also, make sure templates don't have copyrights.

* Fix some more ORGANIZATIONNAMEs
2019-11-27 15:04:02 -08:00
Greg Spencer
a60bf8e23a
Spell check of Flutter docs (#45200)
No code changes, just comments: I spell-checked all the comments in the repo.
2019-11-22 08:43:55 -08:00
Ian Hickson
62e4ab87b3
Update our deprecation style. (#44618) 2019-11-15 19:21:53 -08:00
Dwayne Slater
2adda80c10
Expose wait conditions in the public flutter_driver API (#42162) 2019-10-09 16:58:41 -07:00
Greg Spencer
89d6c8d90b
Enables setting of semantics focused and focusable attributes within Focus widgets. (#41814)
This adds a Semantics node to the Focus and FocusScope widgets, setting the focused and focusable attributes so that the accessibility subsystem can be told when a control has the input focus.

Includes an engine roll to flutter/engine@77252d2, and the following 8 engine changes:

flutter/engine@77252d2 Greg Spencer Add missing focusable testing info (flutter/engine#13013)
flutter/engine@0e42a29 skia-flutter-.. Roll src/third_party/skia 54548626a977..e27a503a0a21 (1 commits) (flutter/engine#13024)
flutter/engine@6b56ed7 gaaclarke Refactor: FlutterDartProject (flutter/engine#13006)
flutter/engine@393480c skia-flutter-.. Roll src/third_party/skia 77dde599c98a..54548626a977 (1 commits) (flutter/engine#13023)
flutter/engine@080b89d skia-flutter-.. Roll src/third_party/skia 2b1a25a4d324..77dde599c98a (1 commits) (flutter/engine#13021)
flutter/engine@90b0f30 Ben Konyi Roll src/third_party/dart f4a72bfc64..bb04f145b2 (18 commits) (flutter/engine#13020)
flutter/engine@049fb89 skia-flutter-.. Roll fuchsia/sdk/core/linux-amd64 from q_uYX... to cknsi... (flutter/engine#13019)
flutter/engine@6925b2a skia-flutter-.. Roll fuchsia/sdk/core/mac-amd64 from wuAtw... to u0JpE... (flutter/engine#13018)

Related Issues
Addresses #40101

Landing on red in order to fix the build: it's red because of the needed engine roll.
2019-10-09 14:45:42 -07:00
adazh
c4016aadb3
[Flutter Driver] Simplified the serialization/deserialization logic of the Descendant/… (#40715)
* Simplified the serialization/deserialization logic of the Descendant/Ancestor matchers
2019-09-18 16:58:33 -07:00
Michael Goderbauer
4373a31971
Reapply "Revert "Propagate textfield character limits to semantics (#40468)" (#40767) 2019-09-18 14:55:37 -07:00
Alexandre Ardhuin
df4bf453ab
more UI-as-code (#35516) 2019-09-17 16:23:44 +02:00
adazh
5667b78291
Added a Driver wait condition for no pending platform messages (#39196) 2019-08-27 14:26:31 -07:00
adazh
22db62c1db
Added a composable waitForCondition Driver/extension API. (#38836)
* Added a composable waitForCondition Driver/extension API.

This reverts commit df2db4e50f.

* Added SerializableWaitCondition for communicating between driver script on host and extension on device.
2019-08-21 09:42:26 -07:00
adazh
df2db4e50f
Revert "Added a composable waitForCondition Driver/extension API (#37736)" (#38815)
This reverts commit 8edc3f76cc.
2019-08-19 11:04:29 -07:00
adazh
8edc3f76cc
Added a composable waitForCondition Driver/extension API (#37736) 2019-08-19 09:33:03 -07:00
Dan Field
10cf84f7a1
Kill stale TODO (#37516) 2019-08-06 13:29:33 -07:00
liyuqian
e77237d6d3
Reland "Fix the first frame logic in tracing and driver (#35297)" (#37192)
This relands https://github.com/flutter/flutter/pull/35297

The followings have been done to fix the broken tests:
  1. Add `didSendFirstFrameRasterizedEvent` extension and its tests
  2. Wait for `didSendFirstFrameRasterizedEvent` instead of
     `didSendFirstFrameEvent` during start up tests
  3. Mark missed (probably newly added) start up tests as flaky
2019-07-31 11:01:52 -07:00
Jonah Williams
3068fc4f7c
Revert "Fix the first frame logic in tracing and driver (#35297)" (#37027)
This reverts commit 68fc7231b3.
2019-07-26 13:08:36 -07:00
liyuqian
68fc7231b3
Fix the first frame logic in tracing and driver (#35297)
This should fix https://github.com/flutter/flutter/issues/31442 and https://github.com/flutter/flutter/issues/34867
2019-07-26 09:38:12 -07:00
liyuqian
50a483879f Change Future.done to Future.whenComplete (#36270)
This is for the missed comment in
https://github.com/flutter/flutter/pull/36089#discussion_r303960949
2019-07-19 13:01:42 -07:00
adazh
4e4b9bd0b1
Renamed the Driver API waitUntilFrameSync to waitUntilNoPendingFrame. (#36512) 2019-07-18 22:16:57 -07:00
adazh
dd51afd161
Added Driver API that waits until frame sync. (#36334) 2019-07-18 15:03:19 -07:00
liyuqian
180aa0c0b1
Fix flaky peer connection (#36089)
Fixes https://github.com/flutter/flutter/issues/36091.

Previously, a sendRequest will be sent even if the peer is closed during
a driver test. That will cause a time out without any error information.
Such issue is unreproducible on my Mac Book Pro, but 100% reproducible
on our new Mac mini (2018).

The closing issue is tracked in https://github.com/flutter/flutter/issues/36268

Additional to this fix, we should also patch the jason_rpc_2 so the peer
will throw exception if sendRequest is attempted while the connection is
closed.

**Test**:
tiles_scroll_perf_iphonexs__timeline_summary failed without this patch.
It will pass after this patch.

I'm not sure how to add a unit test for this. Please let me know if you have
some ideas.

This patch will generate the following warning log on the new Mac Mini
```
flutter: Observatory listening on http://127.0.0.1:50192/cZPDF4sW7MM=/  
Installing and launching...                                        10.2s
00:00 +0: scrolling performance test (setUpAll)
[info ] FlutterDriver: Connecting to Flutter application at http://127.0.0.1:1069/cZPDF4sW7MM=/
[trace] FlutterDriver: Isolate found with number: 3684677742843303
[trace] FlutterDriver: Isolate is paused at start.
[trace] FlutterDriver: Attempting to resume isolate
[trace] FlutterDriver: Waiting for service extension
[info ] FlutterDriver: Connected to Flutter application.
00:00 +0: scrolling performance test complex_layout_scroll_perf
[warning] FlutterDriver: Instance of '_WebSocketImpl' is closed with an unexpected code 1005
[warning] FlutterDriver: Peer connection is closed! Trying to restore the connection...
00:10 +1: scrolling performance test tiles_scroll_perf
[warning] FlutterDriver: Instance of '_WebSocketImpl' is closed with an unexpected code 1005
[warning] FlutterDriver: Peer connection is closed! Trying to restore the connection...
00:20 +2: scrolling performance test (tearDownAll)
00:20 +2: All tests passed!
Stopping application instance.
```
2019-07-16 08:30:26 -07:00
Siva
f496595773
Use the new service protocol message names (#35482)
* Use the new service protocol message names
  clearVMTimeline
  setVMTimelineFlags
  getVMTimeline
  getVMTimelineFlags

* Fix clearTimeline at another spot.
2019-07-02 16:10:04 -07:00
Michael Goderbauer
4f5d901395
Add Driver command to get diagnostics tree (#34440) 2019-06-18 18:31:21 -07:00
Michael Goderbauer
3c24c5bdcd
Document that offsets are returned in logical pixels (#33620) 2019-05-31 08:55:28 -07:00
Mehmet Fidanboylu
27bdb11030
Expose service client and app isolate in driver (#33431) 2019-05-29 09:29:24 -07:00
Todd Volkert
ceec48785a
Re-apply "Add assert that the root widget has been attached" (#33084)
This re-applies #32437 with a fix to the broken device lab test.
2019-05-21 11:21:57 -07:00
Todd Volkert
e2042bae6d
Revert "Add assert that the root widget has been attached. (#32437)" (#33068)
This reverts commit 069303d46f.
2019-05-20 13:30:41 -07:00
Sam Rawlins
c2a93bd545 Fix missing return statements on function literals (#33058) 2019-05-20 12:51:57 -07:00
Todd Volkert
069303d46f
Add assert that the root widget has been attached. (#32437) 2019-05-20 09:27:39 -07:00
Dan Field
6d4b0abfa8
Ignore some JSON RPC errors (#32710) 2019-05-14 16:04:04 -07:00
Michael Goderbauer
b37c3be0fa
Add ancestor and descendant finders to Driver (#32410) 2019-05-10 18:21:19 +02:00
Michael Goderbauer
8cf65526e7
everything const (#32380) 2019-05-10 13:29:03 +02:00
Michael Goderbauer
ff1dbcdeb6
Add geometry getters to Flutter Driver (#32302) 2019-05-09 09:50:02 +02:00
done
d53115ab2e fix FlutterDriver timeout (#31824) 2019-05-04 06:13:25 -07:00
Dan Field
a8504405a8
Revert "Handle notification errors (#31868)" (#31886)
This reverts commit c0d5fd23ab.
2019-04-30 23:27:30 -07:00
Dan Field
c0d5fd23ab
Handle notification errors (#31868) 2019-04-30 15:42:22 -07:00
Dan Field
eac2104bc6
remove assert for Flutter Driver (#31815) 2019-04-29 17:03:25 -07:00
Kent Boogaart
392d5b2c28 Fix typo (#31771) 2019-04-29 13:04:30 +02:00
Dan Field
1db5d66932
Capture JSON RPC errors that presently get swallowed (#31584)
* Update packages
* Capture JSON RPC errors that presently get swallowed
2019-04-25 08:27:00 -07:00
Ben Konyi
a009d71101
Updated flutter_driver to support auth codes (#31310) 2019-04-19 07:57:04 -07:00
liyuqian
eb30745faf
Print warning if flutter drive is run in debug (#30747)
## Description

Print actionable warnings if `flutter drive` (where most of our performance benchmarks come from) is run in debug mode and it tries to gather benchmarks using `traceAction`.

## Related Issues

https://github.com/flutter/flutter/issues/30625

## Tests

I added the following tests:
* drive_perf_debug_warning devicelab test
2019-04-09 18:55:42 -07:00
Alexandre Ardhuin
bfa1d25bf9
some formatting of map, parameters and spaces (#29760) 2019-03-23 00:02:21 +01:00
Dan Field
5e27ebbe8d
Add semantic label finders (#29342)
* Add semantic label finders
2019-03-18 20:32:03 -07:00
Alexandre Ardhuin
a0d1f93b07
fix block formatting (#29051) 2019-03-09 09:03:11 +01:00
Alexandre Ardhuin
440ce8fde6
Fix indentations of statements in BlockFunctionBody (#28933)
* fix indentof statements in BlockFunctionBody

* fix indentof statements in BlockFunctionBody in tests
2019-03-07 21:09:28 +01:00
Alexandre Ardhuin
387f885481
Add missing trailing commas (#28673)
* add trailing commas on list/map/parameters

* add trailing commas on Invocation with nb of arg>1

* add commas for widget containing widgets

* add trailing commas if instantiation contains trailing comma

* revert bad change
2019-03-01 08:17:55 +01:00
Alexandre Ardhuin
5169ab5974
format parameter list (#27261) 2019-02-21 09:27:07 +01:00
liyuqian
7390cc5cdb
Increase our build budget to 16ms (#27709)
Because we now have 2 separate GPU and UI threads.
2019-02-15 16:12:36 -08:00
Andrew Davies
7da989f2c6
[flutter_driver] Use async call to run SSH cmds. (#27577)
For `fuchsia_compat.dart` Instead of using `runSync`, use `run` to avoid
deadlock when attempting to access specific resources like the Hub in Fuchsia.

The specific example is that in Fuchsia, the `find` command is
attempting to explore `out` which hasn't yet been serviced, as `find` is
blocking on it, causing a deadlock.
2019-02-06 14:41:56 -08:00
Michael Goderbauer
6d20ff2446
Remove all obsolete "// ignore:" (#27271) 2019-01-30 08:56:12 -08:00
Alexandre Ardhuin
ef276ffea5
format initializer list of constructors (#27111) 2019-01-29 21:47:16 +01:00
Ian Hickson
31a9626c48
[O] Removing all timeouts (mark II) (#26736)
These are essentially self-inflicted race conditions. Instead of timeouts we're going to try a more verbose logging mechanism that points out when things are taking a long time.
2019-01-19 00:31:05 -08:00
Andrew Davies
bd6ac326f6
[flutter_driver] Move Fuchsia logging code. (#26266)
When setting the Fuchsia logging function, it should happen before any
initialization code, as init can still cause warning/error/info messages
to get printed to logs. Since the default stderr/stdout fd's aren't
correct, this can cause a program to crash for unclear reasons.
2019-01-09 14:47:35 -08:00
Alexandre Ardhuin
868ff42821
fix doc-comment snippets (#25579) 2019-01-07 21:44:16 +01:00
Ian Hickson
8426910a19
Revert "[O] Remove many timeouts. (#23531)" (#25646)
This reverts commit 76f70810e4.
2018-12-20 18:46:36 -08:00
Ian Hickson
76f70810e4
[O] Remove many timeouts. (#23531)
* Remove many timeouts.

These are essentially self-inflicted race conditions. Instead of timeouts we're going to try a more verbose logging mechanism that points out when things are taking a long time.

* Get the attach tests to pass.

* Apply review comments from Todd

* More review comment fixes

* Put back the extended timeouts here now that I know why we have them...
2018-12-20 17:10:40 -08:00
Zachary Anderson
b18a2b1794
[fuchsia] Get Dart VM service ports from The Hub (#25332) 2018-12-17 11:10:47 -08:00
Yegor
9c3754d92f
FlutterDriver: allow customizing timeouts using a multiplier (#24066)
FlutterDriver: allow customizing timeouts using a multiplier
2018-11-14 17:15:00 -08:00
Michael Goderbauer
9b5c780604
Force GC before GC-sensitive benchmark runs (#23289) 2018-10-21 15:58:19 +02:00
Alexandre Ardhuin
0fb84e96c7
Prefer void to null (#22977)
* Future<void> main

* Future<void>.delayed

* prefer_void_to_Null

* address review comments
2018-10-16 22:03:06 +02:00
Andrew Davies
9ceb9ab305
[flutter_driver] Adds fuchsia compat for connect() (#22633)
Adds a Fuchsia compatibility function that allows for connecting to a
specific Isolate by name when running Flutter Driver on a Fuchsia
device.  This will check over multiple Dart VM's in an attempt to find
an Isolate by its name.
2018-10-08 11:09:07 -07:00
Alexandre Ardhuin
2ea1d81cdc
sort_constructors_first (#22575) 2018-10-04 07:28:07 +02:00
Alexandre Ardhuin
5de96bb734
unnecessary this in field initializers (#22522) 2018-10-02 17:14:59 +02:00
Alexandre Ardhuin
f62afdcf57
add missing type parameter on methods (#22096) 2018-10-01 21:29:08 +02:00
xster
ac9dc5745e
Add support for material agnostic driver navigation (#22461) 2018-10-01 09:18:20 -07:00
liyuqian
872eba2d4c
Track 90th, 99th percentile instead of missed_frame_build_budget_count (#21754)
See https://github.com/flutter/flutter/pull/19121#issuecomment-419520765
2018-09-14 13:24:13 -07:00
Alexandre Ardhuin
a07d3719a1
enable lint prefer_generic_function_type_aliases (#21680) 2018-09-14 21:06:19 +02:00
Alexandre Ardhuin
d927c93310
Unnecessary new (#20138)
* enable lint unnecessary_new

* fix tests

* fix tests

* fix tests
2018-09-12 08:29:29 +02:00
Jonah Williams
e235ccd76f
Support disabled animations (#20354) 2018-08-23 11:50:04 -07:00
Ian Hickson
b7261586e5
Audit TODO syntax (#20837)
Fixes the pattern for some TODOs to match our style guide.

(Also, a couple of minor code order fixes.)
2018-08-21 14:02:11 -07:00
Ian Hickson
1993a67381
Performance test cleanup (#20652)
* Fix TODO syntax.
* Clarify messages for some timeouts, to aid debugging.
* Increase some other timeouts that were a needlessly short, to reduce sources of flakes.
* Remove some more timeouts that were mostly redundant, to remove complexity.
* Minor style cleanup.
* Remove some dangerous traps (specifically, hide the explicit start/end times in TimedEvent since they shouldn't matter).
2018-08-17 13:19:28 -07:00
Ian Hickson
872e88cec7
Reduce noise on the memory benchmarks (#19630) (#20163)
- Check memory usage in release builds, not profile.
- Use multiple runs and average the results.
2018-08-06 12:46:51 -07:00
Ian Hickson
a96fb44911
Increase the precision of the performance benchmarks. (#20159) 2018-08-03 16:41:06 -07:00
Ian Hickson
a2ca14d71e
Revert "Reduce noise on the memory benchmarks" (#20158)
* Revert "Add pub cache, artifacts, pkgs to Cirrus cache (#20080)"

This reverts commit 07e93b385c.

* Revert "Reduce noise on the memory benchmarks (#19630)"

This reverts commit 8eb5cb7dc0.
2018-08-02 13:56:44 -07:00
Ian Hickson
8eb5cb7dc0
Reduce noise on the memory benchmarks (#19630)
- Check memory usage in release builds, not profile.
- Use multiple runs and average the results.
2018-08-02 12:22:15 -07:00
Alexandre Ardhuin
eda03e2586
re-re-enable lint unnecessary_const (#20103) 2018-08-02 12:02:32 +02:00
Todd Volkert
00aac68e2d
Revert flutter/flutter#19592 (#19861)
It was causing problems rolling Flutter into Fuchsia
2018-07-27 08:44:39 -07:00
Alexandre Ardhuin
27018359d2
re-enable lint unnecessary_const (#19592)
* re-enable lint unnecessary_const

* remove trailling whitespaces

* remove unnecessary const (after merge)
2018-07-23 08:31:48 +02:00
Leaf Petersen
32f94443cc
Remove uses of deprecated constants and change int.parse to int.tryParse (#19575)
* Remove uses of deprecated constants
* Change int.parse to int.tryParse where appropriate
2018-07-20 15:07:24 -07:00
Greg Spencer
1cc036519c
Removes trailing whitespace from source files. (#19329) 2018-07-19 23:03:58 -07:00
Ian Hickson
f630f90d6d
Revert "enable lint unnecessary_const (#19342)" (#19423)
This reverts commit cc1cf13eec.
2018-07-16 13:30:27 -07:00
Alexandre Ardhuin
cc1cf13eec
enable lint unnecessary_const (#19342) 2018-07-16 21:43:48 +02:00
Jonah Williams
2f0b4158ab
Add option to silence driver extension errors (#19247) 2018-07-13 19:13:10 -07:00
Jonah Williams
7dd265ff18
Add getSemanticsId command to flutter_driver (#19047) 2018-07-09 15:22:59 -07:00
liyuqian
34da4a5ffd
Throw instead of return null if durations is empty (#18957)
See https://github.com/flutter/flutter/pull/18881#discussion_r199285256
2018-07-02 13:30:02 -07:00
liyuqian
35e8cd83d0
Add 90th and 99th percentile frame rasterize time for timeline_summary (#18881)
Our first step towards https://github.com/flutter/flutter/issues/18727
2018-06-28 11:27:22 -07:00
Chris Bracken
2ae48845a8
Revert elimination of Dart 1 (#18460)
fuchsia_tester.dart still assumes Dart 1. Previously, it ran tests directly
from source, flutter_platform.dart automatically runs a kernel compile when
operating in Dart 2 mode, but this assumes a functional Dart SDK is available
in the artifacts directly, and fuchsia_tester.dart mocks out the artifacts
directory with an empty temp dir.

Remaining work is:
1. Get the frontend server building as a dependency on Fuchsia.
2. Patch fuchsia_tester.dart to use a valid Dart SDK and frontend server.

This also reverts migration to Dart 2 typedef syntax.

This reverts commit 6c56bb2. (#18362)
This reverts commit 3daebd0. (#18316)
2018-06-13 12:46:39 -07:00
Greg Spencer
6c56bb2420
Update typedef syntax to use Function notation and turn on lint for old notation. (#18362)
Now that Dart 1 is turned off, reapplying my change to turn on the prefer_generic_function_type_aliases analysis option, and fix all the typedefs to Dart 2 preferred syntax.

Also eliminated the unused analysis_options_repo.yaml file and turned on public_member_api_docs in analysys_options.yaml.

No logic changes, just changing the typedef syntax for all typedefs, and updating analysis options.
2018-06-11 15:51:45 -07:00
Yegor
3983815de5
fix setTextEntryEmulation docs (#18298) 2018-06-07 22:01:59 -07:00
Alexandre Ardhuin
09276bea25
enable lint prefer_equal_for_default_values (#18156) 2018-06-05 08:50:40 +02:00
Greg Spencer
b921fdc58e
Revert "Update typedef syntax to use Function notation and turn on lint for old notation. (#18035)" (#18041)
This reverts commit 3258602073.
2018-05-30 13:51:14 -07:00
Greg Spencer
3258602073
Update typedef syntax to use Function notation and turn on lint for old notation. (#18035)
Fixes #18028

Just changes typedef declarations, no logic changes.
2018-05-30 12:13:58 -07:00
Greg Spencer
3c5a7a3005
Make non-global constants have consistent naming (with just _ instead of _k) (#17584)
Our style guide says the k's are not necessary, and it seems like a good idea to make all the code be consistent on this.

Only naming changes to private vars: no logic changes.
2018-05-17 23:04:41 -07:00
Chris Bracken
c36ec76002
Reduce odds of race in scrollUntilVisible (#17594)
In FlutterDriver.scrollUntilVisible, pause momentarily after we kick off
the waitFor() call, in order to give that call a chance to complete
before we start scrolling if the element is on-screen.
2018-05-15 14:23:44 -07:00
Todd Volkert
d820e5f3b1
Use deprecated io constants (#17278)
The new values are not ready for use yet inside Google
2018-05-03 22:27:29 -07:00
Yegor
b2c98f9a4e
Roll engine to e976be13c51448f89107d082ec81e2b6731671fa (#17266)
* Roll engine to e976be13c51448f89107d082ec81e2b6731671fa

* move away from deprecated constants
2018-05-03 19:24:48 -07:00
Andrew Davies
5d590afa7d
[frdp] Adds DartVM events/driver support. (#17170)
This change adds Dart VM event support (listening for when a VM starts/stops by using a periodic heartbeat).

This also adds support to connect to a specific `IsolateRef` through the flutter driver, so that when an application spawns, it can immediately be driven (as shown in included example code).
2018-05-03 14:51:52 -07:00
Mikkel Nygaard Ravn
776cf24764
Make flutter_driver work with sync-async (#16798) 2018-04-20 19:31:43 +02:00
Todd Volkert
9da0ec2736
Add a few timeouts to FlutterDriver.connect() (#16762)
We're seeing occasional test timeouts trying to call `FlutterDriver.connect()`.
Unfortunately, when the test is timed out at the test runner level, you don't
get a meaningful test failure or stack trace of where the timeout occurrred.
Your test harness also doesn't get to clean up, which can include things like
saving the device logs to see what was going on in the device.

Thus, this change adds timeouts in the places where we've most
commonly observed hangs during tests.
2018-04-19 15:09:07 -07:00
Hans Muller
a0099a9016
Make gallery tests more robust (#15957) 2018-03-27 13:39:30 -07:00
Jason Simmons
466d15433f
Use Dart 2 camel case constants (#15360) 2018-03-12 11:06:32 -07:00
Josh Soref
c5a5945e92 Spelling (#15229)
* spelling: accommodate

* spelling: allotted

* spelling: anonymous

* spelling: artificial

* spelling: associated

* spelling: asset

* spelling: button

* spelling: canvas

* spelling: compatibility

* spelling: coverage

* spelling: condition

* spelling: decoration

* spelling: deferring

* spelling: diameter

* spelling: direction

* spelling: displacement

* spelling: dropdown

* spelling: needing

* spelling: environment

* spelling: exited

* spelling: expansion

* spelling: explore

* spelling: families

* spelling: horizontal

* spelling: increment

* spelling: indices

* spelling: internationalization

* spelling: labrador

* spelling: localizations

* spelling: midflight

* spelling: milliseconds

* spelling: minimum

* spelling: multiple

* spelling: multiplication

* spelling: navigator

* spelling: overridden

* spelling: package

* spelling: performance

* spelling: platform

* spelling: porsche

* spelling: position

* spelling: preceded

* spelling: precede

* spelling: precedence

* spelling: print

* spelling: property

* spelling: readily

* spelling: reproducibility

* spelling: rounded

* spelling: scroll

* spelling: separate

* spelling: separator

* spelling: services

* spelling: specific

* spelling: specify

* spelling: synchronously

* spelling: through

* spelling: timeout

* spelling: triangle

* spelling: trivial

* spelling: unusual

* spelling: then

* spelling: vertically

* spelling: visible

* spelling: visited

* spelling: voice
2018-03-06 21:36:03 -08:00
Vyacheslav Egorov
aa7e9637ac
Fix several Dart 2 issues in the flutter_driver. (#14749)
* All lists produced by JSON parsing are List<dynamic>. If more
speficic type is required then they need to be explicitly cast, e.g.
using castFrom helper;
* Function of type (ByText) -> Finder is not a subtype of
(SerializableFinder) -> Finder because ByText is in the contravariant
position;
* In Dart 2 typed(any) should be used instead of any in mockito based
tests.
2018-02-16 18:01:54 +01:00
Alexandre Ardhuin
3c379aaf43
whitespace cleanup (#14458) 2018-02-05 22:20:21 +01:00
Alexandre Ardhuin
c02b6a8bcf
some whitespace cleanup (#14443) 2018-02-02 23:27:29 +01:00
Alexandre Ardhuin
10f721c8a5
use const instead of final with const declarations (#14253) 2018-01-25 19:28:22 +01:00
Ian Hickson
44e228eb9e
Move image logic from services/ to painting/. (#13409)
This allows the scheduler library to depend on the services library
and the painting library to depend on the scheduler library without
the services library having to depend on the scheduler library.

While I was at it I also cleaned up some of the binding logic: the
licenses logic can now be overridden (and the test library does so),
and the image cache can now be overridden as well.
2017-12-07 14:53:08 -08:00
Yegor
5f7ef89675
more setTextEntryEmulation docs; isRegistered check (#13420) 2017-12-07 12:08:52 -08:00
Yegor
d1e918fa10
support disabling text entry emulation (#13410) 2017-12-06 19:59:07 -08:00
Yegor
e27bcd0f9d
Emulate text entry in FlutterDriver (#13373)
* Emulate text entry in FlutterDriver

* document enterText behavior

* remove the unnecessary composint TextRange
2017-12-06 17:29:37 -08:00
Chris Bracken
cf37a4721a
Reorganise flutter driver implementation sources (#13163)
This patch reorganises flutter_driver's lib/src directory into three
subdirectories:

* driver: sources transitively imported/exported by flutter_driver.dart,
  which defines the API used by driver tests executed on the host machine.

* extension: sources transitively imported/exported by
  driver_extension.dart, which defines the API used to instrument a
  Flutter app running on the target device for use with a driver test.

* common: sources common to both driver and extension code.

This makes rolling Flutter into repositories that use Bazel (or
Bazel-like build systems) significantly more robust, due to the simpler
glob patterns involved.
2017-11-22 17:24:41 -08:00
Chris Bracken
d9bdb76fd2
Eliminate unused retry.dart from flutter_driver (#13161) 2017-11-22 16:54:19 -08:00
Chris Bracken
d5cb9781e1
Eliminate unused matcher_util in flutter_driver (#13159)
Use of this file was eliminated in e7657b9462.
2017-11-22 15:15:37 -08:00
Yegor
8c902ad479
clear timeline events prior to starting a new action (#12984)
* clear timeline events prior to starting a new action

* trailing commas
2017-11-22 15:08:09 -08:00
Chris Bracken
14b5cb047e
Use duration not threadDuration for frame duration (#13117)
1. We want to measure wall-clock duration for the benchmarks, as opposed
   to thread duration (e.g., waiting on a mutex should accrue time) and
   'dur' is the metric to use for that.

2. On Darwin-based systems (macOS and iOS) 'tdur' is the result of a
   mach syscall lookup to thread_info. This call returns unreliable data
   on iOS. Chromium, for example, disables thread time support entirely
   for iOS.
2017-11-20 17:37:14 -08:00