Generated.xcconfig is only required at build time for iOS apps. In the
flutter create project template and example apps, Generated.xcconfig was
previously marked as a resource to be bundled into the built app.
* Extract some of startApp into a reusable method
* Get basic attach --machine working
* Attach --machine tweaks
Move validation to validate method and create daemon early so we get the startup event before trying to get a connection.
* Bump daemon version so we know whether it's valid to flutter attach
* Tweak output text
* Swap package imports for relative
* Review tweaks (naming, formatting, typedefs)
* Separate arguments from process spawning
This will make calling attach easier
* Add a basic test for flutter attach --machine
* Fix crash if port unforward modifies the list of forwarded ports
* Add a no-op port forwarder for flutter-tester
* Switch to using BasicProject instead of our own inline code
* Fix expectation in test now we have a portForwarder
* Remove stale TODO (this is done)
* Tweak formatting
* Change some Completers to void to fix Dart 2 issues
* Make cleanup of flutter processes in tests more reliable
* Fix quit signals
I confused SigInt&SigTerm for SigTerm&SigKill when I first did this. SigTerm can be blocked and doesn't guarantee the process will be terminated.
* Don't use deprecated constants
* Fix typo
* Add some additional info to debug buffer
* Fix return types on Futures
* Only printError on our simple messages
Any other type is a real error that should be a normal crash (to get a proper error log).
See #19453.
* Add toList() to convert Iterable<String> -> List<String>
This code previously throw in Dart-2 mode.
Fixes#19453.
* Move getSimulatorPath into Xcode
* Add a test that we tried to launch the simulator
* Remove unused import
This uses @kevmoo's completion package to do command line completion for flutter, and a new command "bash-completion" (with alias "zsh-completion") that will output the necessary shell script setup code, and adds the hidden command "completion" that does the actual completion.
Because it adds a dependency, I also had to do flutter update-packages --force-upgrade.
Fixes#18988.
This reverts commit e22f99743b.
Adding the exit(exitCode) fixes the hang.
Tested by running `fx run-host-tests` with a topaz checkout.
Verified the hang before, no hang after.
* Allow a longer timeout for app launches
* Include timings in errors when waiting for events
* Extract a helper that adds a timeout and includes message logging
* Ensure all timeouts include messages
* Ensure logs are set up before we invoke actions
* Ensure all messages are logged during timeout periods
This adds a new stream _allMessages that collects all output (as routed through debugPrint) and updates _timeoutWithMessages to use that instead of stdin/out of only the flutter run process (since that was missing stdin - the sends, and both input/output to the VM service).
* Revert "Revert "Roll engine to fed2ea458ed49088d33eddabc546ba56d600c717 (includes dart roll) (#19044)" (#19276)"
This reverts commit cf932490b7 as it also
includes fix for type error that broke tests.
* Add type cast for dart2 type checks.
* Move up to latest goldens
* Make inDirectory() type-parameterized.
* Add typecasting to transitions_perf_test.dart and microbenchmarks.
* Add boolean flag initialization in save_catalog_screenshots.dart
* Add type conversion to gallery transition test
ios-deploy relies on LLDB.framework, which relies on /usr/bin/python and
the 'six' module that's installed on the system. However, it appears to
use the first version of Python on PATH, rather than explicitly
specifying the system install. If a user has a custom install of Python
(e.g., via Homebrew or MacPorts) ahead of the system Python on their
PATH, LLDB.framework will pick up that version instead. If the user
hasn't installed the 'six' module, ios-deploy will fail with a
relatively cryptic error message.
This patch pushes /usr/bin to the front of PATH for the duration of the
ios-deploy run to avoid this scenario.
This patch also removes checks for package six.
Neither Flutter nor any of its direct dependencies/tooling relies on
package six. ios-deploy depends on LLDB.framework (included with Xcode),
which relies on a Python script that imports this package but uses
whichever Python is at the front of the path. Flutter now invokes
ios-deploy with a PATH with /usr/bin forced to the front in order to
avoid this problem.
We could have retained the check out of paranoia, but this seems
unnecessary since it's entirely possible LLDB.framework may one day drop
this dependency, in which case I'd expect the base system install of
Python would likely drop it as well.
* Roll engine to rolled dart
Add connectionTimeout property to class that extends HttpOverrides.
Upgrade packages.
Add more type fixes.
Update goldens hash.
Add more type fixes.
Upgrade packages.
Fix tests.
Remove strong-mode from analysis options yaml file.
Increase dev/devicelab timeout from 2 to 10 seconds.
Added getVM to waitForViews. Fix type errors in compileExpression.
* Pick up engine revision with fix for microbenchmarks regression.
Increase default timeout from 20/30 to 60s.
They should fail, because we don't have real support yet.
Also, make the debug override work in release builds, so that people
on those platforms have a workaround.
* Rename util -> test_utils
* Rename flutter_test_driver -> test_driver
* Switch testWithContext -> test
* Remove unused import
* Move test project into a class to make it easier to have multiple of these
Each "TestProject" class can contain its files and things like named breakpoint locations.
* Split expression evaluation tests into own file
* Include last response in error messages
* Update expectations based on current bugs
* Fix async-ness in tests
* Fix incorrect expectation in test
* Fix incorrect evaluations
* Remove skips for tests that are now passing on master
* Expect pass on Linux
🤷♂️
* Call the code
* Skip expression evaluation tests on Windows
* Skip whole group, not just one test
* Remove duplicated method from merge
* Fix misplaced close of group
* Remove code that was duplicated from test we copied
Not sure how this ended up in here?
* Re-fix typo
This will let us re-use that code from fuchsia_tester.dart.
Tested by running the stocks example tests with coverage collection before and after.
.lcov files are identical.
* Adding a setup function for hot restart that can be overwritten to perform any necessary initialization before a restart is started.
* Adding a test for setupHotRestart
* Removing local pubspec change
* Fixing some type annotation errors
* Responding to comments
This test was designed to ensure flutter_tester keeps running (previously it would quit immediately). However it's turned out ot be rather flaky and we have new tests on the way that supersede this by actually testing real things (debug stepping, reloading, expression evaluation).