Commit Graph

194 Commits

Author SHA1 Message Date
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
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
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
Jia Hao
073126fdb3
Allow waitUntilFirstFrameRasterized without a root widget (#56430) 2020-05-13 09:12:03 -07:00
Kaushik Iska
057a25cd45
[timeline] Sort timeline events before summarizing (#55771) 2020-04-27 16:34:02 -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
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
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
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
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
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
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
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
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
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
Jason Simmons
466d15433f
Use Dart 2 camel case constants (#15360) 2018-03-12 11:06:32 -07: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
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
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
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
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
Yegor
2aead430a7 add GPU traces to timeline summary (#7190) 2016-12-09 16:15:31 -08:00
Yegor
33c6526462 fix frame info extraction logic; track frames in gallery test (#6505) 2016-10-25 11:02:18 -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
Ian Hickson
4b401a3e75 Track the worst frame in perf tests (#3642)
* Track the worst frame in perf tests

* Use backticks in "/// Returns `null` if"
2016-05-03 14:00:10 -07:00
Yegor
d5d4e7c054 [driver] output per-frame build times in the timeline summary (#3334) 2016-04-14 11:28:16 -07:00
Yegor
f697f58ccd [driver] fix match state hand-off in matcher_util.dart (#3103)
Fixes https://github.com/flutter/flutter/issues/3094
2016-04-07 10:08:14 -07:00
Yegor
19e624ccfe [driver] give the timeline data some structure
Fixes https://github.com/flutter/flutter/issues/2713
2016-04-04 17:07:16 -07:00
Yegor
055fd00dc1 Merge pull request #3058 from yjbanov/timeline-summary
[driver] utility for extracting and saving timeline summary
2016-04-01 17:48:25 -07:00