Commit Graph

66 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
Alexandre Ardhuin
f62afdcf57
add missing type parameter on methods (#22096) 2018-10-01 21:29:08 +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
Ian Hickson
53b635817c
Re-enable missing_return (#20844) 2018-08-28 11:22:57 -07:00
Ian Hickson
686d8f8a22 Shim package:test to avoid matcher issues (#20602)
* Upgrade everything except matcher.
* Roll matcher (and test)
* Adjust tests that depend on flutter:test directly to depend on a shim
* Require use of package:test shim and remove other references to package:test
2018-08-14 20:33:58 -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
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
Sam Rawlins
9f8a70be4c Bump mockito to 3.0.0-beta (#18462)
* Bump mockito to 3.0.0-beta

* Few fixes

* fix test

* Bump image

* Fix

* New packages update

* With matcher pinned

* No more typed
2018-06-21 16:23:47 -07:00
Ian Hickson
6599271bf5
Revert matcher package (#18614)
The new matcher package deprecates isInstanceOf which seems eggregious.
2018-06-19 17:22:56 -07:00
Greg Spencer
08d1ec36de Roll engine to 0c119932c0d6cb30dafd75ec717d1eda76fd7651 (#18575) 2018-06-19 09:58:20 +02:00
Alexandre Ardhuin
09276bea25
enable lint prefer_equal_for_default_values (#18156) 2018-06-05 08:50:40 +02:00
Alexander Aprelev
bffae21571
Again move mockito to 300plus2 (#15981)
* Revert "Revert "Move mockito to 3.0.0-alpha. (#15949)" (#15979)"

This reverts commit e59651f925.

* More thenReturn to thenAnswer when mocking Futures

* Revert "More thenReturn to thenAnswer when mocking Futures"

This reverts commit 194d2cf417 as we are reverting engine roll.

* Revert "Revert "More thenReturn to thenAnswer when mocking Futures""

This reverts commit 52c9e96b30.

* Add dependency override

* Fix issue
2018-03-28 12:07:12 -07:00
Chris Bracken
39eeec47d6
Apply Mockito-related type fixes (#16002)
Type-related fixes in flutter_driver and fuchsia_remote_debug_protocol
tests.
2018-03-27 15:27:24 -07:00
Chris Bracken
49c87d010c
Revert "Roll engine to version dd6f46c485192f4506035088c9065b9f5dbba9ab (#15885)" (#15980)
This caused a test failure in the integration_ui_ios devicelab test.

```
stdout: [   +3 ms] 00:02 [32m+0[0m: end-to-end test Ensure keyboard dismissal resizes the view to original size[0m
stdout: [+8129 ms] 00:11 [32m+0[0m[31m -1[0m: end-to-end test Ensure keyboard dismissal resizes the view to original size [1m[31m[E][0m[0m
stdout: [   +5 ms]   DriverError: Failed to fulfill Tap: Flutter application not responding
stdout: [        ]   Original error: TimeoutException after 0:00:07.500000: Future not completed
stdout: [        ]   Original stack trace:
stdout: [        ]   #0      FlutterDriver._sendCommand (package:flutter_driver/src/driver/driver.dart:324:18)
stdout: [        ]
stdout: [        ]   #1      FlutterDriver.tap (package:flutter_driver/src/driver/driver.dart:368:11)
stdout: [        ]
stdout: [        ]   #2      main.. (file:///[... snip ...]/flutter/dev/integration_tests/ui/test_driver/keyboard_resize_test.dart:34:20)
```

This reverts commit 067be92ae8.
2018-03-27 10:57:50 -07:00
Siva
067be92ae8
Roll engine to version dd6f46c485192f4506035088c9065b9f5dbba9ab (#15885)
Roll engine to version dd6f46c485192f4506035088c9065b9f5dbba9ab
2018-03-26 22:16:48 -07: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
Alan Russian
30720bd148 Change async stubbing to use thenAnswer. (#13521)
* Change async stubbing to use thenAnswer.

Mockito now prohibits calling thenReturn with Futures and Streams. dart-lang/mockito#79

* Update all Mockito deps to 3.0.0.

* Revert "Update all Mockito deps to 3.0.0."

This reverts commit e8ab9d37c3.

I did not correctly update the mockito dep, and there's no easy way to update to 3.0 alpha right now.

* Change thenAnswer((_) => to thenAnswer((invocation) =>

* Add Invocation type to thenAnswer lambdas
2017-12-19 13:13:57 -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
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
Michael Goderbauer
a67d648742 Roll engine to 883f81c8448e483c51cf1d978dffb332bf47603d (#11966) 2017-09-06 16:30:13 -07:00
Chris Bracken
0244f5dd6a Revert "Roll engine to ceb6d05c2fb3bd5c31a25d4b08be9fd97b55a446 (#11933)" (#11959)
This roll caused performance regressions in benchmarks:
* complex_layout_scroll_perf
* flutter_gallery_transition_perf

This reverts commit f430a45a5b.
2017-09-06 11:39:10 -07:00
Michael Goderbauer
f430a45a5b Roll engine to ceb6d05c2fb3bd5c31a25d4b08be9fd97b55a446 (#11933)
* Roll engien to 79332e5c42555875c7070c33810dab3f0012ace1

* Remove deprecated @proxy

* Roll engine to ceb6d05c2fb3bd5c31a25d4b08be9fd97b55a446
2017-09-05 21:12:46 -07:00
Yegor
f7d62aaa9e fix driver connection flakiness (#9968) 2017-05-10 15:16:45 -07:00
Todd Volkert
5d29737a04 Bump mockito to version 2.0.2 (#8713) 2017-03-10 13:53:22 -08:00
Yegor
d09591bf7d consistently accept timeout in driver API (#8667) 2017-03-09 16:31:48 -08:00
Chris Bracken
cdeb83cf59 Declare locals as final where not reassigned (flutter_driver) (#8567) 2017-03-03 18:31:21 -08:00
Yegor
bfef36f710 add waitUntilNoTransientCallbacks to driver API (#8475) 2017-02-28 15:58:28 -08:00
Alexandre Ardhuin
f16dea290b prefer const contructors in packages/flutter_driver (#8056) 2017-02-10 00:49:46 -08:00
Ian Hickson
21434fcf1a Refactor 'flutter drive' to get the observatory port from the logs (#7695)
This remove a very brittle aspect of flutter drive, whereby it would
assume a known port instead of explicitly finding out what it was.

Fixes #7692 and hopefully fixes the devicelab tests.
2017-01-27 01:37:28 -08:00
Michael Goderbauer
7c9f9be363 Add a timeout to every command (enforced on device and host) (#7391) 2017-01-09 14:57:25 -08:00
Hans Muller
770f8f1d0c rename TracingCategory to TimelineStream (#3822) 2016-05-09 17:00:49 -07:00
pq
bcede8dffb Literals get type annotations.
As per the recent fix to the `always_specify_types` lint (https://github.com/dart-lang/linter/issues/199), literal maps and lists are now expected to be explicitly typed.

Running that lint on the repo identifies quite a few spots to update.  This focuses on `flutter_driver` and `flutter_sprites` (somewhat arbitrarily) but the changes are fairly representative.

Note there are a number of places where I made a quick judgement on how specific to make the types.  Feedback on those is welcome.  (Especially as we move forward with more.)
2016-05-04 09:18:31 -07:00
Hans Muller
a9b965cb9b Gallery demo start-time performance test (#3655)
*  Gallery demo start-time performance test
2016-05-03 17:37:10 -07:00