* Add a detach command to detach without terminating (#21376)
* Add a detach command to detach without terminating
Fixes#21154.
* Bump protocol version for app.detach
* Tweak to detach/quit text
* Change logPrefix to named param
* Fix the text that the devicelab attach test looks for
* Split analysis steps out of dev/bots/test.dart into dev/bots/analyze.dart.
This allows to run analysis step with command line arguments that are only applicable to flutter analyze(like --dart-sdk, needed for dart-flutter-engine head-head-head bot).
* Add forgotten dev/bots/analyze.dart
* Refactor common code from analyze.dart and test.dart into run_command.dart
* Remove comments, add header
This adds ".pub-cache" to the list of directories to ignore when checking for dependence upon dart:test, since when people install a downloadable package, their pub cache is in the flutter directory.
Also, I centralized the ANSI "red line" so that they would all use the same final string.
This updates the test to match the engine API change introduced in:
https://github.com/flutter/engine/pull/6081
This also rolls the engine, the roll includes only the relevant engine commit:
```
091492601 Allow passing extra creation parameters for embedded Android views. (#6081)
```
* Start logger in startProgress to avoid assertion failure
There are lots of places that create a Status() and all but two of them call ..start() immediately. This is one of the places that doesn't, which causes an assertion failure when running with --enable-asserts and the other is in the same file (I suspect it's also incorrect, but possibly it's never used - I'll look at that separately when I can trace some code that calls it).
Fixes#20812.
* Enable asserts for tools tests
* Fix lint
* Rename enableAsserts -> enableFlutterToolAsserts
To make it clearer that it only enables asserts for flutter_tools when set.
* Track number of package dependencies in Flutter
Relands #20774.
* Use evalFlutter instead of startProcess.
That way we don't need `flutter` on the PATH.
The test places an embedded Android view at the top left, and verifies
that motion events that get to FlutterView are equivalent to the
synthesized motion events that gets to the embedded view.
See the README.md for more high level details.
* `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
* 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
* Revert "Deprecated CupertinoDialog in favor of a new widget called CupertinoP… (#20649)"
This reverts commit 3a4ae280e3.
* Revert "Feature pesto new recipes (#19415)"
This reverts commit e2f3b3d6f2.
* Revert "Use markdown table (#20721)"
This reverts commit 82d43b952a.
* Revert "Documentation regarding tap gesture callbacks (#20647)"
This reverts commit 3acc278521.
* Revert "Add branch to footer information in flutter docs (#20711)"
This reverts commit 9118d3d715.
* Revert "Performance test cleanup (#20652)"
This reverts commit 1993a67381.
* Revert "Track number of package dependencies in Flutter (#20722)"
This reverts commit 03d6f18f4a.
* Fix TODO syntax.
* Clarify messages for some timeouts, to aid debugging.
* Increase some other timeouts that were a needlessly short, to reduce sources of flakes.
* Remove some more timeouts that were mostly redundant, to remove complexity.
* Minor style cleanup.
* Remove some dangerous traps (specifically, hide the explicit start/end times in TimedEvent since they shouldn't matter).
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.
* Reland "Roll engine to version b148e628ec86b3a9a0382e0bcfae73f0390a8232 (#20427)"
This is a re-land with downgraded `package:flutter_gallery_assets`
version.
* Downgrade package:flutter_gallery_assets to 0.1.4
* Change engine.version to 81baff97c29bb08cbf8453a3f9042c5813f84ad3 (which contains an additional fix)
* Change engine.version to e3687f70c7ece72000b32ee1b3c02755ba5361ac (since mac tarballs are corrupted on earlier commit)
Reason for revert: The package:flutter_gallery_assets has removed some images which are required for the examples/flutter_gallery, so the gallery build is failing (only discovered after landing, since gallery doesn't seem to get built during github PR presubmit checks)
This CL
* rolls `engine.version` to flutter/engine@b148e628 (which includes dart sdk 2.1.0-dev)
* rolls `goldens.version` to flutter/goldens@6c45fafdf (which includes updates due to skia changes in engine)
* changes `platform.dill` to `platform_strong.dill` in various places due to flutter/engine@a84b210b
* adds explicit `environment: sdk: ">=2.0.0-dev.68 < 3.0.0"` constraints to `pubspec.yaml` and `pubspec.yaml.tmpl` files (since pub defaults to `<2.0.0` if omitted)
* upgrades to newer versions of various 3rd party packages (to ensure transitive dependencies have `<3.0.0` sdk constraint)
* 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
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.
Somehow I forgot to say "super.tap()" when calling "tap()" on the new
superclass, so it was just recursing infinitely but ended up actually
crashing on the first reuse of the finder.
The error was previously swallowed, I made this print it instead.