Previously reverted in #40104, this should now be safe to reland as
the last dependency has been deleted internally.
This reverts commit 9369c1ed1f33cfdad25ebe9cb809d6b5d6941159.
* Use fuchsia_component
* [mouse-input] mouse-input-view doc nits and add mouse-input-test to the run_integration_test.sh script
Co-authored-by: Erik <erkln@google.com>
This PR adds a touch-input-view for use in the touch-input-test to validate touch input. The view will be attached to the test, and a touch event will be injected. The test asserts that a correct response is sent back from the view (the location of the touch as well as the name of the view).
This is a convenience script for running unit tests locally.
To make this script work, I had to move several test exclusions
from test_suites.yaml (which controls running tests on CQ)
to the tests themselves. I think this is for the best because
it makes running the tests locally with behavior that matches
CQ easier.
Also added fuchsia_tests to build_and_copy_to_fuchsia.sh
so it builds the unit tests .far packages by default.
Tested: Ran `run_unit_tests.sh`, all tests pass. Ran
`build_and_copy_to_fuchsia.sh`, it still builds.
This script is unreliable. Context from @chaselatta:
```
serve.sh will still suffer from instability. The reason is that the
flutter/engine repo is using the fuchsia.com host for all of its packages.
When that script runs it tries to connect to the target and rewrite some
rules so that it resolves fuchsia.com to engine which is what is being served
locally. If you later call serve from fuchsia.git it will do the same thing
and overwrite your local repo rewrite rules and serve the runner that is
being published from fuchsia.git.
There are some changes to ffx which allow you to better set rewrite rules via
the --alias flag which would fix this problem. The bazel sdk doesn't suffer
from this because we don't use the fuchsia.com repo name and thus don't have
collisions.
I think the best solution here is to stop using fuchsia.com when referencing
the flutter runner but that is a pretty large change.
```
We're migrating to the Bazel SDK at
fuchsia.googlesource.com/flutter-embedder so we'll gain the benefits of
package serving then.
Part 1 sets up the test to run but the UI has not been
ported yet so the test hangs.
This is mostly a straight port from
https://cs.opensource.google/fuchsia/fuchsia/+/main:src/ui/tests/integration_input_tests/text-input/
There were some nuances:
- Some FIDL APIs are not available in the SDK and have to be
referenced by name instead (vulkan.Loader, scheduler.ProfileProvider).
- Some subtle differences between the GN rules in fuchsia.git
vs. engine (e.g. fuchsia_component doesn't append .cm by default to
CFv2 output).
- Moved shared logic from embedder test into a utils/ folder to
facilitate writing new tests in the future.
Part 2 will port over the UI to dart:ui.
- Switch default behavior to `lto`, forcing use of `--no-lto` flag
for that behavior. This is the easiest way to make LTO configurable.
- Remove redundant use of `${runtime_mode}` in branch where
it only has one possible value.
- Adds a new script to build and copy Flutter on Fuchsia.
- Rename sync_to_fuchsia.sh to checkout_fuchsia_revision.sh
so it's more clear what git action is being performed (checkout
instead of rebase). Update this script to `gclient sync -D` afterwards
since not doing that will lead to subtle build issues. This script
is only used by workflow docs, not infra, so renaming it is fine.
Once submitted I will update the documentation.
Fixed: fxbug.dev/64153
Note that I also removed the TODO for fxbug.dev/86941. After talking
with the bug author, this file is not directly relevant to that bug.
This might not be necessary since we ultimately want to
get rid of these rules in favor of using the SDK, but it's
useful to me for reference during embedder prototyping.
I got rid of some arguments that seemed dead:
- `cml_file` in `_fuchsia_archive` didn't seem used anywhere. It is
used in `fuchsia_archive`.
- `meta_dir` didn't seem used.
Infrastructure runs the pm command on packages in a different path
which we were not accounting for. This will make sure we stamp the
packages when infra builds them.
Users can add an expose_dirs entry to the program field in a
component's cml file to optionally expose extra directories
from their out/ directory.
BUG: fxbug.dev/89690