tree: cd6ca57eafa1c46a8209d1ac93a014ee9c9e4b38 [path history] [tgz]
  1. embedder/
  2. mouse-input/
  3. text-input/
  4. touch-input/
  5. utils/
  6. BUILD.gn
  7. README.md
shell/platform/fuchsia/flutter/tests/integration/README.md

Flutter runner integration tests

To run the Flutter runner integration tests locally, first start a Fuchsia package server:

cd "$FUCHSIA_DIR"
fx serve

Then run the integration test:

$ENGINE_DIR/flutter/tools/fuchsia/devshell/run_integration_test.sh <integration_test_folder_name> --no-lto

For example, to run the embedder integration test:

$ENGINE_DIR/flutter/tools/fuchsia/devshell/run_integration_test.sh embedder --no-lto

Command-line options:

  • Pass --unoptimized to disable C++ compiler optimizations.
  • Add --fuchsia-cpu x64 or --fuchsia-cpu arm64 to target a particular architecture. The default is x64.
  • Add --runtime-mode debug or --runtime-mode profile to switch between JIT and AOT builds. These correspond to a vanilla Fuchsia build and a --release Fuchsia build respectively. The default is debug/JIT builds.
  • For Googlers, add the --goma argument when using goma, and add the --xcode-symlinks argument when using goma on macOS.
  • Remove --no-lto if you care about performance or binary size; unfortunately it results in a much slower build.

Iterating on tests

By default, run_integration_test.sh will build Fuchsia and start up a Fuchsia emulator to ensure that the test runs on the correct environment.

However, this is slow for iterating on tests. Once you‘ve run run_integration_tests.sh once, you don’t need to build Fuchsia or start the emulator anymore, and can pass --skip-fuchsia-build and --skip-fuchsia-emu to skip those steps.

$ENGINE_DIR/flutter/tools/fuchsia/devshell/run_integration_test.sh embedder --no-lto --skip-fuchsia-build --skip-fuchsia-emu