96 Commits

Author SHA1 Message Date
Michael Brase
c4608bbfd1 Use structured logging on Fuchsia (flutter/engine#49918)
This change migrates off of the old fuchsia logging apis to use the
structured logging apis. The initial FIDL connection is made during
global initialization (before main()) and the initial minimum log level
is queried from the system. Later on, once the main loop is initialized,
we setup an async task to listen for additional log interest changes
from the system. The advantage of doing this on the main loop is that we
avoid spawning an additional background thread in the process (the
legacy logging apis use the background thread approach).

One added benefit of this change is it reduces the size of the
dart/flutter runner far packages by about 250kb in release mode, because
libsyslog.so and libbackend_fuchsia_globals.so are no longer needed.

flutter/flutter#141924

## Pre-launch Checklist

- [x] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [x] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [x] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [x] I listed at least one issue that this PR fixes in the description
above.
- [x] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [x] I updated/added relevant documentation (doc comments with `///`).
- [x] I signed the [CLA].
- [x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel
on [Discord].

<!-- Links -->
[Contributor Guide]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#overview
[Tree Hygiene]: https://github.com/flutter/flutter/wiki/Tree-hygiene
[test-exempt]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#tests
[Flutter Style Guide]:
https://github.com/flutter/flutter/wiki/Style-guide-for-Flutter-repo
[C++, Objective-C, Java style guides]:
https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
[testing the engine]:
https://github.com/flutter/flutter/wiki/Testing-the-engine
[CLA]: https://cla.developers.google.com/
[flutter/tests]: https://github.com/flutter/tests
[breaking change policy]:
https://github.com/flutter/flutter/wiki/Tree-hygiene#handling-breaking-changes
[Discord]: https://github.com/flutter/flutter/wiki/Chat
2024-01-29 22:26:47 -06:00
zijiehe@
538d967f7c [Fuchsia] Redo - Use chromium test-scripts to download images and execute tests (flutter/engine#49940)
This change is a redo of https://github.com/flutter/engine/pull/49847.

https://github.com/zijiehe-google-com/engine/compare/4530942..main
should show the diff between this and the original change; mainly fixes
the https://github.com/flutter/flutter/issues/141907.

Following paragraph is copied from the original change.

This change can be executed from buildroot by

```
python3 flutter/tools/fuchsia/with_envs.py flutter/testing/fuchsia/run_tests.py
```

Bug: https://github.com/flutter/flutter/issues/140179

- [V] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [V] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [V] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [V] I listed at least one issue that this PR fixes in the description
above.
- [V] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [V] I updated/added relevant documentation (doc comments with `///`).
- [V] I signed the [CLA].
- [V] All existing and new tests are passing.
2024-01-25 11:58:03 +00:00
auto-submit[bot]
07034d9f1d Reverts "[Fuchsia] Redo - Use chromium test-scripts to download images and execute tests" (flutter/engine#49908)
Reverts flutter/engine#49847
Initiated by: zanderso
This change reverts the following previous change:
Original Description:
This change is a redo of https://github.com/flutter/engine/pull/49650.

https://github.com/zijiehe-google-com/engine/compare/de5c713..main should show the diff between this and the original change.

Following paragraph is copied from the original change.

This change requires https://github.com/flutter/buildroot/pull/811, and can be executed from buildroot by

```
python3 flutter/tools/fuchsia/with_envs.py flutter/testing/fuchsia/run_tests.py
```

Bug: https://github.com/flutter/flutter/issues/140179

- [V] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
- [V] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
- [V] I read and followed the [Flutter Style Guide] and the [C++, Objective-C, Java style guides].
- [V] I listed at least one issue that this PR fixes in the description above.
- [V] I added new tests to check the change I am making or feature I am adding, or the PR is [test-exempt]. See [testing the engine] for instructions on writing and running engine tests.
- [V] I updated/added relevant documentation (doc comments with `///`).
- [V] I signed the [CLA].
- [V] All existing and new tests are passing.
2024-01-19 22:22:25 +00:00
zijiehe@
0f1211b660 [Fuchsia] Redo - Use chromium test-scripts to download images and execute tests (flutter/engine#49847)
This change is a redo of https://github.com/flutter/engine/pull/49650.

https://github.com/zijiehe-google-com/engine/compare/de5c713..main
should show the diff between this and the original change.

Following paragraph is copied from the original change.

This change requires https://github.com/flutter/buildroot/pull/811, and
can be executed from buildroot by

```
python3 flutter/tools/fuchsia/with_envs.py flutter/testing/fuchsia/run_tests.py
```

Bug: https://github.com/flutter/flutter/issues/140179

## Pre-launch Checklist

- [V] I read the [Contributor Guide] and followed the process outlined
there for submitting PRs.
- [V] I read the [Tree Hygiene] wiki page, which explains my
responsibilities.
- [V] I read and followed the [Flutter Style Guide] and the [C++,
Objective-C, Java style guides].
- [V] I listed at least one issue that this PR fixes in the description
above.
- [V] I added new tests to check the change I am making or feature I am
adding, or the PR is [test-exempt]. See [testing the engine] for
instructions on writing and running engine tests.
- [V] I updated/added relevant documentation (doc comments with `///`).
- [V] I signed the [CLA].
- [V] All existing and new tests are passing.
2024-01-19 09:36:56 -08:00
auto-submit[bot]
b174774059 Reverts "[Fuchsia] Use chromium test-scripts to download images and execute tests" (flutter/engine#49772)
Reverts flutter/engine#49650
Initiated by: CaseyHillers
This change reverts the following previous change:
Original Description:
This change requires https://github.com/flutter/buildroot/pull/811, and can be executed from buildroot by

```
python3 flutter/tools/fuchsia/with_envs.py flutter/testing/fuchsia/run_tests.py
```

Bug: https://github.com/flutter/flutter/issues/140179

- [V] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
- [V] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
- [V] I read and followed the [Flutter Style Guide] and the [C++, Objective-C, Java style guides].
- [V] I listed at least one issue that this PR fixes in the description above.
- [V] I added new tests to check the change I am making or feature I am adding, or the PR is [test-exempt]. See [testing the engine] for instructions on writing and running engine tests.
- [V] I updated/added relevant documentation (doc comments with `///`).
- [V] I signed the [CLA].
- [V] All existing and new tests are passing.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-01-12 19:30:29 +00:00
zijiehe@
cc3c0eeca9 [Fuchsia] Use chromium test-scripts to download images and execute tests (flutter/engine#49650)
This change requires https://github.com/flutter/buildroot/pull/811, and can be executed from buildroot by

```
python3 flutter/tools/fuchsia/with_envs.py flutter/testing/fuchsia/run_tests.py
```

Bug: https://github.com/flutter/flutter/issues/140179

- [V] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
- [V] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
- [V] I read and followed the [Flutter Style Guide] and the [C++, Objective-C, Java style guides].
- [V] I listed at least one issue that this PR fixes in the description above.
- [V] I added new tests to check the change I am making or feature I am adding, or the PR is [test-exempt]. See [testing the engine] for instructions on writing and running engine tests.
- [V] I updated/added relevant documentation (doc comments with `///`).
- [V] I signed the [CLA].
- [V] All existing and new tests are passing.

[C++, Objective-C, Java style guides]: https://github.com/flutter/engine/blob/main/CONTRIBUTING.md#style
2024-01-12 17:04:31 +00:00
David Worsham
b400037017 [fuchsia] Fix tests; remove fuchsia dart SDK deps (flutter/engine#43461)
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.
2023-07-08 09:37:34 +10:00
Erik
b7bf0a3155 Full implementation of text-input-test (flutter/engine#37986)
Implements text-input-test, validates that we're able to receive the correct platform messages through the flutter/keyevent channel
2022-12-07 12:17:51 -05:00
Erik
94c88a9253 [fuchsia] arm64 Dart runner (flutter/engine#37399)
- Fuchsia FEMU tests now run using `ffx`
- There is now a Fuchsia arm64 FEMU builder to allow tests to run on an arm64 emulator
2022-11-28 17:39:50 -05:00
Erik
fd9e9ccd63 [fuchsia] embedding-flutter test (flutter/engine#37052)
* Add embedding-flutter test

* Lint CC files

* GN formatting

* Remove changes to embedder

* Minor refactor

* Remove unused dependencies

* Lint CC files

* Remove comments

* Rename pubspec
2022-11-07 22:04:58 +00:00
Erik
81605481de [fuchsia] mouse-input test (flutter/engine#37221)
Introduces the `mouse-input` test, a straight port from fuchsia.git
2022-11-02 15:53:22 -04:00
Erik
e4db4408be Add touch-input-test to test_suites.yaml (flutter/engine#36900) 2022-10-20 16:37:56 -04:00
Erik
9f4d9ff82a Add Dart AOT integration test (flutter/engine#36460) 2022-10-07 22:59:15 +00:00
Erik
75d2baf5fe Add Dart JIT runner integration test (flutter/engine#36420) 2022-09-27 20:14:16 +00:00
Alexander Biggs
6751734343 [fuchsia] Add run_unit_tests.sh script. (flutter/engine#36308)
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.
2022-09-21 10:40:20 -07:00
Alexander Biggs
aece90bdaa [fuchsia] Port text-input-test, part 1. (flutter/engine#35957)
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.
2022-09-07 11:57:12 -07:00
David Worsham
b0d80cc091 [fuchsia] Migrate integration test to CFv2 (flutter/engine#35318) 2022-08-19 17:58:53 -07:00
David Worsham
88c5519cfa [fuchsia] Migrate unittests to CFv2 (flutter/engine#32878) 2022-05-06 18:54:05 -07:00
Chris Bracken
d19ef3092c [embedder] Fix typo in EmbedderA11yTest (flutter/engine#33120) 2022-05-04 18:19:05 -07:00
Naud Ghebre
ea8342fc2b [dart_test_runner] Adapt the dart runner to implement the suite fidl protocol so that it can be used in the v2 testing framework. (flutter/engine#32751) 2022-04-28 12:55:55 -07:00
Chase Latta
6e983493b3 Add test facets to test_suite.cml (flutter/engine#29697) 2021-11-11 16:11:41 -08:00
David Worsham
ad611e36f1 fuchsia: Enable integration tests (flutter/engine#29565) 2021-11-05 18:07:55 -07:00
Dan Field
afdd0a3603 Re-enable A11yTreeIsConsistent with higher timeout (flutter/engine#29367) 2021-11-04 14:53:02 -07:00
Rich Kadel
c2ad820db9 Migrated integration_flutter_test/embedder (scenic integration test) from fuchsia.git (flutter/engine#26880) 2021-09-30 17:10:02 -07:00
David Worsham
934eced2e4 fuchsia: Add hermetic SessionConnection tests; rename (flutter/engine#27327) 2021-07-20 13:52:09 -07:00
Darren Chan
cbcbbf7102 Migrate non-scenic-based fuchsia tests to cfv2. (flutter/engine#27241)
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.
2021-07-16 23:41:41 -04:00
Darren Chan
8c6b37209c Add flutter test suites to test_suites.yaml. (flutter/engine#27417)
See https://fxbug.dev/80614 and https://fxbug.dev/79691
2021-07-15 15:37:47 -04:00
Darren Chan
f90417a377 Switch test_suites to yaml. (flutter/engine#27368)
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.
2021-07-14 05:00:56 -04:00
Darren Chan
cc3f93e26d Prepare for cfv2 unittests. (flutter/engine#27036) 2021-07-01 13:11:01 -07:00
Darren Chan
d67fdf5256 Provide the following information to the inspect tree: (flutter/engine#26179) 2021-05-21 11:09:02 -07:00
Felipe Archondo
2043d0839a [fuchsia] rename SessionConnection to DefaultSessionConnection (flutter/engine#26104)
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.
2021-05-13 17:59:16 -04:00
David Worsham
f3cd053795 Revert "[fuchsia] Use scenic allocator service (#25385)" (flutter/engine#25655)
This reverts commit f0cf6ac1a8488f12722a5be77f0ef5fe8d0d4411.
2021-04-19 15:06:58 -07:00
chandarrengoog
62f12e5fbc Update gtest_filters to disable TimeSensitiveTest. (flutter/engine#25649)
Fix typo.
2021-04-19 10:22:38 -07:00
David Reveman
f0cf6ac1a8 [fuchsia] Use scenic allocator service (flutter/engine#25385)
Switch to scenic allocator and Image3 API.

Co-authored-by: David Reveman <reveman@google.com>
2021-04-16 17:12:48 -04:00
chandarrengoog
26574f5de2 Update gtest_filters. (flutter/engine#25309)
Account for https://flutter-review.googlesource.com/c/recipes/+/11700.
2021-04-02 14:32:55 -07:00
Yilong Li
eaaa732b80 fuchsia: Allow access to system services in tests. (flutter/engine#25303)
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
2021-03-31 13:43:33 -07:00
chandarrengoog
b730d4b621 Copy gtest_filters from femu_test.py. (flutter/engine#25300)
Start migrating away from hard-coded gtest_filters in femu_test.py
2021-03-30 10:35:15 -07:00
Filip Filmar
943ae09365 [fuchsia][input] Migrate Flutter to "input3" (flutter/engine#23262) 2021-01-07 15:39:03 -08:00
Tamir Duberstein
6f70c0c330 [fuchsia] Remove fuchsia.netstack.Netstack (flutter/engine#23082) 2020-12-15 09:48:01 -08:00
freiling
4903a92b2b SKP based shader warmup (flutter/engine#20643) 2020-11-04 23:19:02 -08:00
Filip Filmar
cb5828068f [fuchsia] Adds a test for timezone change (flutter/engine#21934) 2020-10-23 18:52:02 -07:00
godofredoc
f5f38e9000 Collect logs in the background. (flutter/engine#21828)
* Collect logs in the background.

* Use fuchsia_ctl log_file option.

* Delete the correct file.

* Remove commented code.
2020-10-16 21:51:37 -07:00
George Wright
ea9cc6cf3c Run embedder_tests on Fuchsia CI (flutter/engine#21462) 2020-09-28 12:22:02 -07:00
Casey Hillers
b3d1cff1a1 [fuchsia] Add fuchsia_ctl func to test script (flutter/engine#20827) 2020-08-27 17:38:02 -07:00
Casey Hillers
ff18636371 Link to SDK version of script (flutter/engine#20798) 2020-08-26 16:03:01 -07:00
Kaushik Iska
a47cc2d479 Revert "[fuchsia] Adds a test for clock change (#19993)" (flutter/engine#20790)
This reverts commit 8b200432726241370f374071448f13bd4f5bf94d.
2020-08-26 12:29:03 -07:00
Filip Filmar
8b20043272 [fuchsia] Adds a test for clock change (flutter/engine#19993)
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
2020-08-25 16:24:25 -07:00
David Worsham
e335891caf fuchsia: Rollback broken SDK and re-enable test (flutter/engine#20699)
https://github.com/flutter/flutter/issues/64343
2020-08-21 16:05:36 -07:00
David Worsham
ee6a9a8755 fuchsia: Disable flaky test (flutter/engine#20697) 2020-08-21 12:26:15 -07:00
David Worsham
3a6e0d47c6 fuchsia: Convert legacy permutations to build flag (flutter/engine#20647) 2020-08-19 19:09:51 -07:00