Dart is being removed from the Fuchsia SDK, so remove references to it
here.
Also remove references to workstation_eng and replace with terminal.
workstation_eng is no longer a thing.
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.
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.
This PR also wraps up the soft transition for #27417.
Because some unit tests depend on the real Scenic which isn't hermetic, `flutter_runner_tests` and `flutter_runner_scenic_tests` aren't currently compatible with cfv2.
This will change once a FakeScenic is created (https://fxbug.dev/79873).
See https://fxbug.dev/79691.
This will allow us to include package, url, and argument information in the engine repo, requiring less infra soft transitions.
The schema of this file should be something like:
```yaml
test_suites:
- package: tests-0.far
- url: fuchsia-pkg://fuchsia.com/tests/meta#tests.cm
- test_args: -- --gtest_filter=-Test.Disabled
```
test_args is optional.
See https://fxbug.dev/79691.
In preparation for #25551, rename SessionConnection to
DefaultSessionConnection. The plan is to have SessionConnection be an
interface we can create a fake of for testing purposes.
Per https://fuchsia.dev/fuchsia-src/concepts/testing/v1_test_component,
in order to access non-basic system services like Vulkan loader and
sysmem allocator, we need to add "system-services" field to the cmx
metadata file.
Unittests like "shell_test" requires Vulkan to run properly, so we
add Vulkan loader and sysmem services; for Flutter runner tests,
we also need to add fuchsia.ui.scenic.Scenic since the test needs
to create a Scenic session as well.
TEST=shell_tests (SkpWarmupTest.Basic/SkpWarmupTest.Image)
flutter_runner_tests (EngineTest.SkpWarmUp) on FEMU
This is a Fuchsia-only shell test, confirming that when the timezone
setting is changed on the realm via Fuchsia's FIDL interface
`fuchsia.settings.Intl`, the Dart isolate running in that realm receives
the change and starts reporting the appropriate timestamp.
We already have a [similar test][tst] that verifies the timezones in the
dart VM matches the local timezone at start, but there was no test that
also verified timezone changes.
[tst]: https://github.com/flutter/engine/blob/master/shell/common/shell_unittests.cc#L1166
See issue #61284
[fuchsia] fix and re-enable SessionConnection unittests
This change waits until Scenic is initialized before beginning the test
logic. This should fix the issue where the test starts running before or
during Scenic startup.
* Re-enable logging.
fuchsia_ctl was updated to support processing the logs as a stream
instead of keeping them in the process.
Bug:
flutter/flutter#57273
* Add path to logs file.
* Add the isolated output env directly to the script.
* Save log to local directory and printing it using cat.
* Try collecting and printing logs as separate steps.