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.
Tweak the primary flutter build rule so that fuchsia is more similar to
other platforms in how tests and the shell are built.
Only embedder_unittests and GLFW tests are disabled on Fuchsia now.
TEST: Ran unittests on host/fuchsia; workstation on fuchsia
BUG: fxb/53847, fxb/54056
Adds a test that verifies that the view of the local time is the same in
the Dart isolate and the process that is running the test.
Specifically, this test is useful to verify that the code paths for
timezone retrieval do not break while the underlying FIDL protocols are
being refactored.
However, since the check is generally useful, the test is written as a
general flutter test.
Running this on Fuchsia required adding `fuchsia.intl.ProfileProvider`
to the CMX file that is used for all build Fuchsia packages.
Testing is a bit involved on Fuchsia. You must build the Fuchsia
package `fluter/shell/common:shell_tests` and publish it to the dev
repository for your Fuchsia device. It seems that a way to do so is to
modify the script `flutter/tools/fuchsia/build_fuchsia_artifacts.py` and
modify its function `GetTargetsToBuild` like so:
```
def GetTargetsToBuild(product=False):
targets_to_build = [
'flutter/shell/platform/fuchsia:fuchsia',
'flutter/shell/common:shell_tests',
]
return targets_to_build
```
Next, the Fuchsia packages need to be compiled and published.
Once done, the following `fx` invocation will run the test, assuming
that you have your Fuchsia setup:
```
fx shell run \
fuchsia-pkg://fuchsia.com/shell_tests#meta/shell_tests.cmx \
-- --gtest_filter=ShellTest.LocaltimesMatch
```
* Updates to use predefined keys.
It starts using:
* timeouts for paving.
* timeouts for ssh commands.
* timeouts for tests.
https://github.com/flutter/flutter/issues/54416
* Update key location and autogenerate public key.
* Use ssh-keygen instead of openssl.
* Fix typo on test name.
* Add logs between fuchsia test steps.
Adding logs and date time in between steps will simplify finding the
steps that are failing during the fuchsia tests.
https://github.com/flutter/flutter/issues/54253
* Use date command instead of DATE..
* Remove extra log line.
* Same spacer lenght for all the log lines.
This change creates a test only implementation of flutter::Surface backed by an
offscreen Vulkan GrContext. Much of the code in this test Surface was lifted
from flutter::VulkanWindow which I was unable to use without extricating it
from the VkSurface/VkSwapchain code which we do not want to use in offscreen
tests. I would recommend refactoring VulkanWindow to separate GrContext
creation and VkSwapchain creation in order to promote greater code reuse
between onscreen and offscreen vulkan paths.
This change is excersised thoroughly by the shell tests and was manually
tested against these tests on Fuchsia on Intel.
This change creates a test only implementation of flutter::Surface backed by an
offscreen Vulkan GrContext. Much of the code in this test Surface was lifted
from flutter::VulkanWindow which I was unable to use without extricating it
from the VkSurface/VkSwapchain code which we do not want to use in offscreen
tests. I would recommend refactoring VulkanWindow to separate GrContext
creation and VkSwapchain creation in order to promote greater code reuse
between onscreen and offscreen vulkan paths.
This change is excersised thoroughly by the shell tests and was manually
tested against these tests on Fuchsia on Intel.