Commit Graph

280 Commits

Author SHA1 Message Date
Hans Muller
98c519dbe2
Updated one reference to FlatButton in real_tests/extension_test.dart (#68505) 2020-10-19 13:12:17 -07:00
Marcin Jeleński
d2d072199b
Flutter Driver: command extensions and extension feature cleanup (#67916) 2020-10-16 22:29:47 -07:00
Hans Muller
6219b30850
Replace obsolete FlatButton reference in flutter_driver extension_test.dart (#67952) 2020-10-12 14:22:13 -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
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
Jonah Williams
f6cbf488e1
[null-safety] pass experiments to builders (#67152)
Force opt-in flutter test platform to null safety for repo testing
2020-10-02 16:38:50 -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
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
LongCatIsLooong
6536f65048
Revert "Warns when single line text fields overflow (#63639)" (#64573)
This reverts commit 0ab5ecc86b.
2020-08-25 11:11:15 -07:00
LongCatIsLooong
0ab5ecc86b
Warns when single line text fields overflow (#63639) 2020-08-24 18:16:05 -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
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
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
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
liyuqian
54d75a515a
Print frame begin time in summary (#50272) 2020-04-02 10:16:03 -07: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
Dan Field
8b2993337a
revert #48985 (#49572) 2020-01-27 14:36:02 -08:00
Angjie Li
f0a175f41d Use flutter_tools to start WebDriver browser. (#49228) 2020-01-21 16:48:02 -08:00
Anthony
b67d5ec6e9 [a11y] Make sure RenderFractionalTranslation updates its semantics after the translation field is set (#48985) 2020-01-17 15:13:01 -08:00
Jenn Magder
d0c4458b80
Fix whitespace and commas in flutter_driver extension_test (#48982) 2020-01-16 17:15:00 -08:00
Alexandre Ardhuin
003541499b use isA<Xxx>() matcher (#48482) 2020-01-16 12:43:03 -08:00
Xavjer
6408f71a7c [Flutter Driver] Extend getText to support more widgets (#48809) 2020-01-15 16:49:11 -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
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
Jonah Williams
e77c24ef91
Update package test (#44882) 2019-11-14 09:31:36 -08: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
Konstantin Scheglov
3118ae19ff
Fix new prefer_const_constructors after analyzer fix. (#39917) 2019-09-05 19:59:24 -07: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
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
Dan Field
3eb40925e5
Always test semantics (#35110)
Default `semanticsEnabled` to true for `testWidgets` and fix associated bugs
2019-06-28 12:40:23 -07:00
Michael Goderbauer
4f5d901395
Add Driver command to get diagnostics tree (#34440) 2019-06-18 18:31:21 -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
Alexandre Ardhuin
bfa1d25bf9
some formatting of map, parameters and spaces (#29760) 2019-03-23 00:02:21 +01:00
Alexandre Ardhuin
a6af422874
some spaces formatting (#29452)
* some space formattings

* always use blocks in if-else if a block is used

* format spaces in for and while

* allow multiline if conditions

* fix missing space
2019-03-20 23:23:31 +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
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
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
Alexandre Ardhuin
32d65fef1c
fix some formatting issues (#25474) 2018-12-18 10:05:12 +01: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
Jonah Williams
a43e3a4a2f
Retry remove package:test from flutter (#24007) 2018-11-06 10:48:34 -08:00
Jonah Williams
23a7535a39
Revert "Remove package:test dependency from flutter_test (#23755)" (#24004)
This reverts commit 71e9bd6f25.
2018-11-06 09:12:48 -08:00
Jonah Williams
71e9bd6f25
Remove package:test dependency from flutter_test (#23755) 2018-11-06 08:39:27 -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
e2d0b062d9
remove unnecessary ignore prefer_const_constructors (#21934) 2018-09-18 05:54:03 +02: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
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
3dec6a6930
Clean up usage of temporary directories (#20682)
All temporary directory start with `flutter_` and have their random component separated from the name by a period, as in `flutter_test_bundle.YFYQMY`.

I've tried to find some of the places where we didn't cleanly delete temporary directories, too. This greatly reduces, though it does not entirely eliminate, the directories we leave behind when running tests, especially `flutter_tools` tests.

While I was at it I standardized on `tempDir` as the variable name for temporary directories, since it was the most common, removing occurrences of `temp` and `tmp`, among others.

Also I factored out some common code that used to catch exceptions that happen on Windows, and made more places use that pattern.
2018-08-17 13:17:23 -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
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
a4faa2e067
Nit: add space after for (#18954) 2018-07-02 16:35:43 -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
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
Jason Simmons
466d15433f
Use Dart 2 camel case constants (#15360) 2018-03-12 11:06:32 -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
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
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
Ian Hickson
9adb4a78a6 Deep linking: automatically push the route hiearchy on load. (#10894)
The main purpose of this PR is to make it so that when you set the
initial route and it's a hierarchical route (e.g. `/a/b/c`), it
implies multiple pushes, one for each step of the route (so in that
case, `/`, `/a`, `/a/b`, and `/a/b/c`, in that order). If any of those
routes don't exist, it falls back to '/'.

As part of doing that, I:

 * Changed the default for MaterialApp.initialRoute to honor the
   actual initial route.

 * Added a MaterialApp.onUnknownRoute for handling bad routes.

 * Added a feature to flutter_driver that allows the host test script
   and the device test app to communicate.

 * Added a test to make sure `flutter drive --route` works.
   (Hopefully that will also prove `flutter run --route` works, though
   this isn't testing the `flutter` tool's side of that. My main
   concern is over whether the engine side works.)

 * Fixed `flutter drive` to output the right target file name.

 * Changed how the stocks app represents its data, so that we can
   show a page for a stock before we know if it exists.

 * Made it possible to show a stock page that doesn't exist. It shows
   a progress indicator if we're loading the data, or else shows a
   message saying it doesn't exist.

 * Changed the pathing structure of routes in stocks to work more
   sanely.

 * Made search in the stocks app actually work (before it only worked
   if we happened to accidentally trigger a rebuild). Added a test.

 * Replaced some custom code in the stocks app with a BackButton.

 * Added a "color" feature to BackButton to support the stocks use case.

 * Spaced out the ErrorWidget text a bit more.

 * Added `RouteSettings.copyWith`, which I ended up not using.

 * Improved the error messages around routing.

While I was in some files I made a few formatting fixes, fixed some
code health issues, and also removed `flaky: true` from some devicelab
tests that have been stable for a while. Also added some documentation
here and there.
2017-06-23 14:58:29 -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
8c043d06de fix lints for directives_ordering rule (#8382) 2017-02-23 13:37:26 -08:00
Adam Barth
be86554479 Switch benchmarks to thread duration (#8113)
For measuring the Dart thread, we care about thread duration (tdur) rather than
wall duration (dur) because we don't want to count the time when the Dart
thread is descheduled (e.g., in preference to the raster thread).

Prior to this change, these benchmarks were mostly measuring whether the OS
decided to finish the Dart thread's time slice or hand over the CPU to the
raster thread to complete the visual part of the frame. Now we actually measure
the work done on the Dart thread.
2017-02-13 16:07:07 -08:00
Alexandre Ardhuin
f16dea290b prefer const contructors in packages/flutter_driver (#8056) 2017-02-10 00:49:46 -08:00
Michael Goderbauer
723489de02 Make dev/bots/test.dart pass on Windows (#7998)
* disables all `flutter test` and `flutter drive` tests on Windows as those two commands are not fully implemented on Windows yet
* fixes other failures on Windows
2017-02-08 15:57:31 -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