Commit Graph

88 Commits

Author SHA1 Message Date
Ian Hickson
ad1eaff45a
flutter analyze cleanup (#20490)
* `flutter analyze` cleanup

* Make `--dartdocs` work in all modes.
* Make `analyze-sample-code.dart` more resilient.
* Add a test for `analyze-sample-code.dart`.
* Minor cleanup in related code and files.

* Apply review comments

* Fix tests
2018-08-20 12:51:07 -07:00
Ian Hickson
8c79f40d71
Fixes resulting from audit of issues links (#20772)
* Fixes resulting from audit of issues links

I looked at every link to GitHub in our repo. For cases where we had a TODO that was waiting for a bug to be fixed, and the bug has now been fixed, I applied the pending change. For cases where the link was out of date, I updated the link.

* Update run_test.dart

skip this test again since it failed on linux and macos bots
2018-08-18 16:44:39 -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
Greg Spencer
01d6444490
Switch from infinite retries on upgrade to 10 retries. (#20450)
This changes the flutter tool to just try 10 times before giving up when running "flutter upgrade". Infinite retries can hang bots, and really don't provide a lot of help: if we've failed to upgrade for for nearly a minute, trying every five seconds, then something is just not responding.

Also, changed the bot default warning level to "normal" from "all", because the solver messages are VERY verbose: several megs of output for doing packages get on Flutter. "normal" will give warnings, user messages and errors, which should be sufficient to diagnose problems on the bots without spamming the log.

I removed the retrying for building the snapshot on flutter.bat because we don't do that on the other platforms, and because I can't imagine how running it again would give a different answer.

I also fixed a problem in the whitespace detection when no files matched the type of file that it is looking for, and removed the code that waits until failure to print the logs on setup, since reducing the log output made a huge difference.
2018-08-11 19:10:14 -07:00
Greg Spencer
e60087a1a7
Remove Travis configuration from flutter/flutter (#20288)
This removes the final traces of Travis and Appveyor from the Flutter tree.

I've updated the documentation and fixed a couple of places where scripts look for Travis, and eliminated the dart tools runningOnTravis function (which was unused anyhow).

There are places in the flutter script that used to look for the environment variable TRAVIS. We actually do want to continue to detect that we're running on Travis there, since in the plugins repo we still use Travis (for the moment). In any case, it's OK, because the CI environment variable is set on all of the CI bots (Cirrus, Travis, and Appveyor).

FastLane doesn't have a setup_cirrus equivalent to setup_travis, but it actually doesn't matter there either, since it doesn't do Travis-specific things, and it also looks for the CI environment variable.
2018-08-07 13:41:33 -07:00
Devon Carew
53bd0e20da
move where the mega_gallery benchmark code is generated by default (#20157)
* move where the mega_gallery benchmark code is generated by default

* generate into a temporary diectory
2018-08-06 09:26:32 -07:00
Alexandre Ardhuin
eda03e2586
re-re-enable lint unnecessary_const (#20103) 2018-08-02 12:02:32 +02:00
Greg Spencer
2a66fd34a3
Fix the whitespace check. (#20059)
I switched to just checking for spaces and tabs, since otherwise it expresses a preference for line endings that I think should be taken care of at the git level (and I think they are).

I also fixed a bug where I was looking for ".yml" instead of "*.yml" files, and clarified an output message.
2018-07-31 20:54:37 -07: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
Greg Spencer
1a414990ab
Move commit range determination inside of test.dart (#19777)
Our Cirrus Windows tests were not really working: they reported success even when failing.

This should fix several problems with the Cirrus Windows tests.
2018-07-25 15:19:57 -07:00
Greg Spencer
f44f625c06
Fix whitespace detector to handle deleted files. (#19690)
The trailing whitespace detector wasn't handling file deletes very well (at all, really).

This filters the set of files grepped to only include files that exist.

Also, clarified the failure message to make it more obvious what the failure is when the grep finds results.
2018-07-23 15:41:31 -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
90a5f4613f
Separate tools tests from other tests and put them in a different shard. (#19593) 2018-07-20 10:21:34 -07:00
Greg Spencer
9f39039f7b
Add presubmit test for trailing whitespace. (#19412)
Checks only changed source files (C++, Dart, Java, ObjC) for trailing whitespace.
2018-07-19 23:05:37 -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
Ian Hickson
3351423a42
Do less wory on AppVeyor since we're running out of time. (#18814) 2018-06-25 19:28:42 -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
Ian Hickson
dac2ebf0c0
More flexible timeout logic in flutter_test (#18256)
This should reduce the number of flakes without actually increasing
the timeout, so we'll still find out quickly if a test is hanging.

The numbers here might need tweaking. Maybe the default two seconds is
too short for CI bots.
2018-06-11 16:28:01 -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
Chris Bracken
3daebd059c
It's time to #deleteDart1 (again) (#18316)
* It's time to #deleteDart1 (#18293)

Eliminates support for Dart 1 in flutter_tools, and drops our Dart 1
benchmarks. All commands now run in Dart 1 mode only.

Eliminates --preview-dart-2 / --no-preview-dart-2 support.

* Fix indentation, remove no longer necessary .toList()

* Only push udpated kernel if >0 invalidated srcs
2018-06-08 15:49:24 -07:00
Chris Bracken
9495df4bc3
Revert "It's time to #deleteDart1 (#18293)" (#18313)
Several benchmarks started failing during kernel compile:
1. Timeouts:
   * commands_test
   * hot_mode_dev_cycle__benchmark
   * run_machine_concurrent_hot_reload
   * service_extensions_test

2. Kernel compiler crash:
   * hot_mode_dev_cycle_linux__benchmark
   * routing_test

3. Unexpected termination:
   * hot_mode_dev_cycle_win__benchmark

This reverts commit ed63e7082a.
2018-06-08 12:43:11 -07:00
Chris Bracken
ed63e7082a
It's time to #deleteDart1 (#18293)
Eliminates support for Dart 1 in flutter_tools, and drops our Dart 1
benchmarks. All commands now run in Dart 1 mode only.

Eliminates --preview-dart-2 / --no-preview-dart-2 support.
2018-06-08 11:04:57 -07:00
Alexandre Ardhuin
09276bea25
enable lint prefer_equal_for_default_values (#18156) 2018-06-05 08:50:40 +02:00
Ian Hickson
e3427550e9
Be less verbose in the logs. (#17401)
Now that we have thousands of tests, it doesn't make sense to display a separate line for each test. The result is just megabytes of logs that you have to scrub through to find error messages.
2018-06-04 15:22:19 -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
Todd Volkert
1808ac338c
Add support for custom test error reporters (#17727)
This allows test environments other than `flutter test` to have a hook
into the test exception reporting. Some test environments, for example,
don't just dump error details to the console, but rather require them
to be reported to a separate server.
2018-05-18 13:58:08 -07:00
Vyacheslav Egorov
e8d0874468
Fix running dev/bots/test.dart in Dart 2 mode (#17256) 2018-05-07 18:22:36 +02:00
Fedor Korotkov
7333459916 Configure Cirrus CI (#16224)
* Configure Cirrus CI

* Read file directly instead of shelling a command

* Wait for all streams to finish

* Add LTR `textDirection`

Since `RenderFlex#_debugHasNecessaryDirections` requires it when `direction` is horizontal and there are multiple children.
2018-05-01 15:11:21 -07:00
Alexander Aprelev
6bd6897014
Run tests in dart2 mode. (#16675)
* Run tests in dart2 mode.

* Fix type check

* Drop --checked, leave --preview-dart-2

* Remove debugging leftovers.
2018-04-18 11:24:54 -07:00
Todd Volkert
58d3493445
Add a timeout to bot tests. (#16666)
This will catch the case where tests hang -- and it will
force them to fail so that we see the output from the test.
2018-04-17 10:00:06 -07:00
Martin Kustermann
2fa8baada6
Run test coverage in dart2 again (#15932) 2018-04-05 10:25:04 +02:00
Alexander Aprelev
d6be4f5553
Fix powershell cat invocation to ensure correct encoding and line ending. (#16193)
* Fix powershell cat invocation to ensure correct encoding and line ending.

* Restore original flow for non-Windows platforms

* Reformat code to get rid of multi-line ?: expression

* Double quotes to single quotes
2018-04-03 12:47:54 -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
Jonah Williams
ad9506d25a
Traverse dependencies and dev dependencies separately (#15581)
* traverse dependencies and dev dependencies separately

* separate dev and reg deps

* update pubspecs

* add checksum string and update transitive dep string.  Add additional verify command to check checksum

* cleanup comments

* add missing space, quote, run verify-onlu from bot script

* rerun tool with fixed string

* ensure correct working directory and bump versions

* flutter not flutterRoot
2018-03-20 20:03:32 -07:00
Alexander Aprelev
cbbf4d4b1b
Run test coverage in dart1 mode. (#15635)
Running test coverage in dart2 mode runs over allocated timeslot on bots.
2018-03-16 17:44:47 -07:00
Vyacheslav Egorov
71b2cfb2a0
Turn Dart 2 mode by default. (#15565) 2018-03-16 20:29:38 +01:00
Alexander Aprelev
2f8474f9aa
Roll engine to b6df7a637498ca9beda1fa9cd7210e3202ea599f. (#15444)
* Roll engine to b6df7a637498ca9beda1fa9cd7210e3202ea599f.

Changes since last roll:
```
b6df7a637 Roll dart to 290c576264faa096a0b3206c71b2435309d9f904. (#4771)
a6764dbd5 Add sources for Fuchsia target. (#4763)
2d5900615 [fuchsia] Remove unused header file. (#4769)
9717063b7 Revert "Roll dart to c080951d45e79cd25df98036c4be835b284a269c. (#4767)" (#4768)
9a9814312 Roll dart to c080951d45e79cd25df98036c4be835b284a269c. (#4767)
e74e8b35c [async] Update includes of async headers to new path (#4760)
e2c4b2760 Use Dart 2 camel case constants in the engine Dart libraries (#4766)
9c1e48434 Updates for Fuchsia roll. (#4765)
14c940e27 Switch from fxl::Mutex to std::mutex (#4764)
debf82c0b Roll Garnet (#4759)
5bffdefbb Use weak pointers to the accesibility bridge from objects vended to the UIKit accessibility framework. (#4761)
```
2018-03-12 15:44:25 -07:00
Alexander Aprelev
70f60b17d7
Run dev/bots/test's flutter drive test in preview-dart-2 (#15090)
* Run dev/bots/test's flutter drive test in preview-dart-2

* Fix extension callback type

* More type fixes
2018-03-05 08:55:10 -08:00
Alexander Aprelev
d3797628ca
Run flutter tests in preview-dart-2 mode on travis flutter builds. (#14728)
* Run flutter tests in preview-dart-2 mode on travis flutter builds.

* Run dart2 tests on osx. Run dart tests in dart2.

* Fix name camelCase

* Default options to empty array, rather than null

* Troubleshoot failures

* More logging

* Troubleshoot: run single test

* Troubleshoot: run 15 tests

* Troubleshoot: run 15 tests with fix

* Try limit concurrency to 1

* Limit concurrency for preview-dart-2 tests to 4

* Move dart2 tests to allow_failures section

* Reinstate tests_dart_2 shard

* Raise concurrency to 8

* Reuse compiler across multiple test runs

* Allow to switch entry points when recompiling.

Actually use single compiler to incrementally recompile all tests executed by 'flutter test'.

* Remove leftover commented code

* Fix comment

* Lints
2018-03-01 09:04:26 -08:00
Alexandre Ardhuin
3c379aaf43
whitespace cleanup (#14458) 2018-02-05 22:20:21 +01:00
Ian Hickson
a9c1399243
Improve test.dart output (#14333)
It adds lines like `SHARD=analyze` to each shard, and a message like `Contents of packages/flutter_localizations/lib/src/l10n/localizations.dart matches output of gen_localizations.dart script.`  to the analysis shard.
2018-01-29 21:14:41 -08:00
Ian Hickson
64e2e00d6f
Attempt to make flutter compatible with more git versions (#14273)
Fixes https://github.com/flutter/flutter/issues/14232

(I haven't tested this with older versions of git, I'm just going on
what @jason-simmons wrote in the bug.)
2018-01-26 16:59:56 -08:00
Ian Hickson
18c60d3301
Fix import statements in flutter_tools (#13911) 2018-01-17 10:17:52 -08:00
Leaf Petersen
ab874da7be
Roll Dart SDK to 2.0.0-dev.16.0, along with associated package updates (#13857)
Rolling the Dart SDK to 2.0, with associated package updates.  

https://groups.google.com/forum/#!topic/flutter-dev/E22RdKAYjs8
2018-01-10 14:31:28 -08:00
Leaf Petersen
1d8ac6d429
Remaining code changes for Dart 2.0 SDK roll. (#13741)
* Remaining code changes for Dart 2.0 SDK roll
2018-01-02 14:41:03 -08:00
amirh
56061759fc
Add an AnimatedIcon class and vitool (vector icon tool) to generate data for it (#13530) 2017-12-21 15:46:05 -08:00
Leaf Petersen
b3cfa785c4
Uncontroversial and backwards compatible 2.0 SDK fixes (#13723)
Small code changes as part of moving the framework SDK forward to a 2.0 dev version.
2017-12-21 13:39:03 -08:00