Commit Graph

36 Commits

Author SHA1 Message Date
Andrew Davies
1531ef60ec
[frdp] Add configurable timeouts for VM. (#22893)
This adds configurable timeouts for the Dart VM. Due to some testing
machines running things quite slowly, this is becoming more necessary.
2018-10-10 16:11:01 -07: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
Andrew Davies
39daab2900
[frdp] Add optional dart isolate filter. (#22590)
* [frdp] Add optional dart isolate filter.

It's now default to filter out non-flutter isolates when searching
across Dart VM's.  This is due to a possible issue wherein an Isolate
for testing might have the same name as the flutter Isolate.

In addition, logging messages have been added in dart_vm.dart for
debugging.
2018-10-05 12:31:05 -07:00
Alexandre Ardhuin
c26b56cba3
apply lint prefer_void_to_null in packages/fuchsia_remote_debug_protocol (#22690) 2018-10-05 06:48:20 +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
Andrew Davies
1c2f478e9e
[frdp][connection] Exception checks in _getDartVm (#22386)
Through some integration testing checks, it looks like it's possible
that connecting to a new instance of the Dart VM may fail even after the
Dart VM instance has been discovered.

This means that _getDartVm should be checked in more than just one
place.  This changes the function to return a null value in the event of
a 'well-known' exception (`HttpException` or `TimeoutException`
specifically).

As a result, code now calling _getDartVm checks for null and handles it
as appropriate, and the DartVm RPC calls are all updated with
consistent timeout params.
2018-09-28 11:40:36 -07:00
Andrew Davies
491c4e2138
[frdp] Removes regex check for Isolate search. (#22100)
This will now make it so that the Dart VM class returns any Isolate that
matches the passed Pattern, without checking for any specific strings
like "main()"

This causes the search to skip over Isolates that would have matched.
2018-09-24 15:30:49 -07:00
Ian Hickson
989cf18b0d
[H] Cleanup (#21542)
* Improve documentation and clean up code.

* Remove "Note that".

The phrase "note that" is basically meaningless as a prefix to an
otherwise fine sentence.
2018-09-22 02:02:56 -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
Andrew Davies
2f3dd2c1e2
[frdb] Adds function to await Dart VM's (#20597)
In the event that no Dart VM's exist or are connectable, will instead
await for a new Dart VM to show up. Will no longer return null when
calling `getMainIsolatesByPattern`, instead returning either a list of
isolates or timing out.
2018-08-15 11:12:30 -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
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
Andrew Davies
1cd09e54a9
[frdb] Change to warning log on timeout. (#19006)
Before a severe log would be raised when timeout happens. Now that
testing connections requires potentially running into a timeout, this
will cause failures when there shouldn't be any.
2018-07-02 13:52:14 -07:00
Andrew Davies
08d3deec80
[frdb] Fix JSON casting in RPC calls. (#18655)
This prevents the error:

`type 'List<dynamic>' is not a subtype of type 'List<Map<String, dynamic>>' `

The test added fails when dart_vm.dart is reverted to `master`, and succeeds in
its current state.  This issue was run into while connecting to the
Dart VM.
2018-06-22 14:00:49 -07:00
Zachary Anderson
39f0076c30
[frdp] Use 'true' instead of 'date' for dummy ssh tunnel command (#18680) 2018-06-21 10:20:43 -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
Andrew Davies
5ed029059e
[frdb] Add support for env connection variable. (#18429)
Similar to the flutter driver, now the fuchsia_remote_debug_protocol can
connect via an environment variable. This can also be used to point to
the SSH config location.

This makes it so that tests written using the FRDB do not have to write
extra information about where their device is on the network.
2018-06-13 11:37:06 -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
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
Andrew Davies
6dbdccf7f5
[frdb] Updates invokeRpc method and VM connect. (#17819)
This fixes a runtime error triggered when calling `invokeRpc`:
```
type 'Future<dynamic>' is not a subtype of type 'Future<Map<String, dynamic>>'
```

Also adds a log message for why connections are failing, as well as a
default timeout when attempting to connect to a websocket.
2018-05-22 15:49:47 -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
284d87ddaf
[frdp] Fix authors statement. (#17263) 2018-05-03 15:16:04 -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
Andrew Davies
61de5014b6
[frdp] Ignore stale ports. (#16944)
When forwarding all ports, run a test connection to each Dart VM instance, stopping port forwarding if the connection fails.

Also does the same for any batched calls that hit all Dart VM instances.
2018-04-27 13:24:01 -07:00
Zachary Anderson
c7ee37a0d8
[fuchsia] Pass a dummy command to the ssh tunnel setup (#16906)
* [fuchsia] Pass a dummy command to the ssh tunnel setup

* Address analyzer lint

* Update fuchsia_remote_debug_protocol
2018-04-23 21:26:51 -07:00
Hans Muller
e7154bee1a
Remove the rest of the uses of Number.tryParse() (#16568) 2018-04-13 09:39:01 -07:00
Alexander Aprelev
e0cd42e4ad Roll engine to 76cb311d9c33720dcd19274228b39ecdbad8d9af (with rolled dart) (#16518)
* Handle error count reported by frontend.

Extend compilation result from single string to a structure(string filename and integer error count).

* Use ?.

* Include engine roll with dart sdk roll.

* parse(onError) -> tryParse

* Make '?? throw' more readable and avoid issue with analyzer

* Fix test so it mocks compiler output including errors count
2018-04-12 16:28:01 -07:00
Andrew Davies
72fd020a24
[fuchsia_remote_debug_protocol] Adds the fuchsia remote debug protocol package.
Adds a package that will support connecting to and debugging devices with multiple instances of the Dart VM, and operate on multiple Isolates and Flutter Views.

Currently supports connecting to all existing Dart VMs and extracting information about all Flutter Views running across each VM.
2018-03-22 17:19:02 -07:00