| # Copyright 2013 The Flutter Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| assert(is_fuchsia) |
| |
| import("//build/fuchsia/sdk.gni") |
| import("//flutter/common/config.gni") |
| import("//flutter/shell/gpu/gpu.gni") |
| import("//flutter/testing/testing.gni") |
| import("//flutter/tools/fuchsia/dart.gni") |
| import("//flutter/tools/fuchsia/fuchsia_archive.gni") |
| import("//flutter/tools/fuchsia/fuchsia_libs.gni") |
| import("//flutter/vulkan/config.gni") |
| |
| # Fuchsia uses its own custom Surface implementation. |
| shell_gpu_configuration("fuchsia_gpu_configuration") { |
| enable_software = false |
| enable_gl = false |
| |
| # TODO(dworsham): Enable once Fuchsia supports Vulkan through the embedder. |
| enable_vulkan = false |
| enable_metal = false |
| } |
| |
| config("runner_base_config") { |
| defines = [ "FML_USED_ON_EMBEDDER" ] |
| } |
| |
| config("runner_debug_config") { |
| defines = [ "DEBUG" ] # Needed due to direct dart dependencies. |
| } |
| |
| config("runner_flutter_profile_config") { |
| defines = [ "FLUTTER_PROFILE" ] |
| } |
| |
| config("runner_product_config") { |
| defines = [ "DART_PRODUCT" ] |
| } |
| |
| template("runner_sources") { |
| assert(defined(invoker.product), "runner_sources must define product") |
| |
| runner_configs = [ ":runner_base_config" ] |
| if (is_debug) { |
| runner_configs += [ ":runner_debug_config" ] |
| } |
| if (flutter_runtime_mode == "profile") { |
| runner_configs += [ ":runner_flutter_profile_config" ] |
| } |
| if (invoker.product) { |
| runner_configs += [ ":runner_product_config" ] |
| } |
| |
| source_set(target_name) { |
| sources = [ |
| "accessibility_bridge.cc", |
| "accessibility_bridge.h", |
| "component_v1.cc", |
| "component_v1.h", |
| "component_v2.cc", |
| "component_v2.h", |
| "engine.cc", |
| "engine.h", |
| "file_in_namespace_buffer.cc", |
| "file_in_namespace_buffer.h", |
| "flatland_connection.cc", |
| "flatland_connection.h", |
| "flatland_external_view_embedder.cc", |
| "flatland_external_view_embedder.h", |
| "flatland_platform_view.cc", |
| "flatland_platform_view.h", |
| "flutter_runner_product_configuration.cc", |
| "flutter_runner_product_configuration.h", |
| "focus_delegate.cc", |
| "focus_delegate.h", |
| "fuchsia_intl.cc", |
| "fuchsia_intl.h", |
| "gfx_external_view_embedder.cc", |
| "gfx_external_view_embedder.h", |
| "gfx_platform_view.cc", |
| "gfx_platform_view.h", |
| "gfx_session_connection.cc", |
| "gfx_session_connection.h", |
| "isolate_configurator.cc", |
| "isolate_configurator.h", |
| "keyboard.cc", |
| "keyboard.h", |
| "logging.h", |
| "platform_view.cc", |
| "platform_view.h", |
| "pointer_delegate.cc", |
| "pointer_delegate.h", |
| "pointer_injector_delegate.cc", |
| "pointer_injector_delegate.h", |
| "program_metadata.h", |
| "runner.cc", |
| "runner.h", |
| "software_surface.cc", |
| "software_surface.h", |
| "software_surface_producer.cc", |
| "software_surface_producer.h", |
| "surface.cc", |
| "surface.h", |
| "surface_producer.h", |
| "task_runner_adapter.cc", |
| "task_runner_adapter.h", |
| "text_delegate.cc", |
| "text_delegate.h", |
| "unique_fdio_ns.h", |
| "vsync_waiter.cc", |
| "vsync_waiter.h", |
| "vulkan_surface.cc", |
| "vulkan_surface.h", |
| "vulkan_surface_pool.cc", |
| "vulkan_surface_pool.h", |
| "vulkan_surface_producer.cc", |
| "vulkan_surface_producer.h", |
| ] |
| |
| public_configs = runner_configs |
| |
| # The use of these dependencies is temporary and will be moved behind the |
| # embedder API. |
| flutter_public_deps = [ |
| "//flutter/common/graphics", |
| "//flutter/flow", |
| "//flutter/lib/ui", |
| "//flutter/runtime", |
| "//flutter/shell/common", |
| "//flutter/shell/platform/common/client_wrapper:client_wrapper", |
| ] |
| flutter_deps = [ |
| ":fuchsia_gpu_configuration", |
| "//flutter/assets", |
| "//flutter/common", |
| "//flutter/fml", |
| "//flutter/shell/platform/common/client_wrapper:client_wrapper_library_stubs", |
| "//flutter/vulkan", |
| ] |
| |
| public_deps = [ |
| "$fuchsia_sdk_root/pkg:inspect", |
| "$fuchsia_sdk_root/pkg:scenic_cpp", |
| "$fuchsia_sdk_root/pkg:sys_cpp", |
| "$fuchsia_sdk_root/pkg:sys_inspect_cpp", |
| "//flutter/shell/platform/fuchsia/runtime/dart/utils", |
| ] + flutter_public_deps |
| |
| deps = [ |
| "$fuchsia_sdk_root/fidl:fuchsia.accessibility.semantics", |
| "$fuchsia_sdk_root/fidl:fuchsia.component.runner", |
| "$fuchsia_sdk_root/fidl:fuchsia.fonts", |
| "$fuchsia_sdk_root/fidl:fuchsia.images", |
| "$fuchsia_sdk_root/fidl:fuchsia.intl", |
| "$fuchsia_sdk_root/fidl:fuchsia.io", |
| "$fuchsia_sdk_root/fidl:fuchsia.memorypressure", |
| "$fuchsia_sdk_root/fidl:fuchsia.sys", |
| "$fuchsia_sdk_root/fidl:fuchsia.ui.app", |
| "$fuchsia_sdk_root/fidl:fuchsia.ui.composition", |
| "$fuchsia_sdk_root/fidl:fuchsia.ui.pointer", |
| "$fuchsia_sdk_root/fidl:fuchsia.ui.views", |
| "$fuchsia_sdk_root/fidl:fuchsia.ui.scenic", |
| "$fuchsia_sdk_root/fidl:fuchsia.ui.pointerinjector", |
| "$fuchsia_sdk_root/pkg:async-cpp", |
| "$fuchsia_sdk_root/pkg:async-default", |
| "$fuchsia_sdk_root/pkg:async-loop", |
| "$fuchsia_sdk_root/pkg:async-loop-cpp", |
| "$fuchsia_sdk_root/pkg:fdio", |
| "$fuchsia_sdk_root/pkg:fidl_cpp", |
| "$fuchsia_sdk_root/pkg:syslog", |
| "$fuchsia_sdk_root/pkg:trace", |
| "$fuchsia_sdk_root/pkg:trace-engine", |
| "$fuchsia_sdk_root/pkg:trace-provider-so", |
| "$fuchsia_sdk_root/pkg:vfs_cpp", |
| "$fuchsia_sdk_root/pkg:zx", |
| "//flutter/shell/platform/fuchsia/dart-pkg/fuchsia", |
| "//flutter/shell/platform/fuchsia/dart-pkg/zircon", |
| ] + flutter_deps |
| } |
| } |
| |
| runner_sources("flutter_runner_sources") { |
| product = false |
| } |
| |
| runner_sources("flutter_runner_sources_product") { |
| product = true |
| } |
| |
| # Things that explicitly being excluded: |
| # 1. Kernel snapshot framework mode. |
| # 2. Profiler symbols. |
| |
| # Builds a flutter_runner |
| # |
| # Parameters: |
| # |
| # output_name (required): |
| # The name of the resulting binary. |
| # |
| # extra_deps (required): |
| # Any additional dependencies. |
| # |
| # product (required): |
| # Whether to link against a Product mode Dart VM. |
| # |
| # extra_defines (optional): |
| # Any additional preprocessor defines. |
| template("flutter_runner") { |
| assert(defined(invoker.output_name), "flutter_runner must define output_name") |
| assert(defined(invoker.extra_deps), "flutter_runner must define extra_deps") |
| assert(defined(invoker.product), "flutter_runner must define product") |
| |
| invoker_output_name = invoker.output_name |
| extra_deps = invoker.extra_deps |
| |
| product_suffix = "" |
| if (invoker.product) { |
| product_suffix = "_product" |
| } |
| |
| executable(target_name) { |
| output_name = invoker_output_name |
| |
| sources = [ "main.cc" ] |
| |
| deps = [ |
| ":flutter_runner_sources${product_suffix}", |
| "$fuchsia_sdk_root/pkg:async-loop-cpp", |
| "$fuchsia_sdk_root/pkg:trace", |
| "$fuchsia_sdk_root/pkg:trace-provider-so", |
| ] + extra_deps |
| |
| # The flags below are needed so that Dart's CPU profiler can walk the |
| # C++ stack. |
| cflags = [ "-fno-omit-frame-pointer" ] |
| |
| if (invoker.product) { |
| # Fuchsia's default stack size was resulting in test failures in a |
| # downstream project. Provide some extra room. |
| ldflags = [ "-Wl,-z,stack-size=0x100000" ] |
| } else { |
| # This flag is needed so that the call to dladdr() in Dart's native symbol |
| # resolver can report good symbol information for the CPU profiler. |
| ldflags = [ |
| "-Wl,-z,stack-size=0x100000", |
| "-rdynamic", |
| ] |
| } |
| } |
| } |
| |
| flutter_runner("jit") { |
| output_name = "flutter_jit_runner" |
| product = false |
| |
| extra_deps = [ |
| "//third_party/dart/runtime:libdart_jit", |
| "//third_party/dart/runtime/platform:libdart_platform_jit", |
| ] |
| } |
| |
| flutter_runner("jit_product") { |
| output_name = "flutter_jit_product_runner" |
| product = true |
| |
| extra_deps = [ |
| "//third_party/dart/runtime:libdart_jit", |
| "//third_party/dart/runtime/platform:libdart_platform_jit", |
| ] |
| } |
| |
| flutter_runner("aot") { |
| output_name = "flutter_aot_runner" |
| product = false |
| |
| extra_deps = [ |
| "//third_party/dart/runtime:libdart_precompiled_runtime", |
| "//third_party/dart/runtime/platform:libdart_platform_precompiled_runtime", |
| ] |
| } |
| |
| flutter_runner("aot_product") { |
| output_name = "flutter_aot_product_runner" |
| product = true |
| |
| extra_deps = [ |
| "//third_party/dart/runtime:libdart_precompiled_runtime", |
| "//third_party/dart/runtime/platform:libdart_platform_precompiled_runtime", |
| ] |
| } |
| |
| template("jit_runner") { |
| product = defined(invoker.product) && invoker.product |
| |
| product_suffix = "" |
| |
| if (product) { |
| product_suffix = "_product" |
| } |
| |
| fuchsia_archive(target_name) { |
| snapshot_label = "kernel:kernel_core_snapshot${product_suffix}" |
| snapshot_gen_dir = get_label_info(snapshot_label, "target_gen_dir") |
| |
| deps = [ |
| ":jit${product_suffix}", |
| snapshot_label, |
| ] |
| |
| if (!product) { |
| deps += [ |
| "//flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols:flutter_jit_runner", |
| observatory_target, |
| ] |
| } |
| |
| binary = "flutter_jit${product_suffix}_runner" |
| |
| cmx_file = rebase_path("meta/flutter_jit${product_suffix}_runner.cmx") |
| cml_file = rebase_path("meta/flutter_jit${product_suffix}_runner.cml") |
| |
| resources = [ |
| { |
| path = rebase_path("//third_party/icu/common/icudtl.dat") |
| dest = "icudtl.dat" |
| }, |
| ] |
| |
| if (!product) { |
| resources += [ |
| { |
| path = rebase_path(observatory_archive_file) |
| dest = "observatory.tar" |
| }, |
| { |
| path = rebase_path( |
| get_label_info( |
| "//flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols:flutter_jit_runner", |
| "target_gen_dir") + |
| "/flutter_jit_runner.dartprofilersymbols") |
| dest = "flutter_jit_runner.dartprofilersymbols" |
| }, |
| ] |
| } |
| |
| resources += [ |
| { |
| path = rebase_path( |
| "$snapshot_gen_dir/vm_isolate_snapshot${product_suffix}.bin") |
| dest = "vm_snapshot_data.bin" |
| }, |
| { |
| path = rebase_path( |
| "$snapshot_gen_dir/vm_snapshot_instructions${product_suffix}.bin") |
| dest = "vm_snapshot_instructions.bin" |
| }, |
| { |
| path = rebase_path( |
| "$snapshot_gen_dir/isolate_snapshot${product_suffix}.bin") |
| dest = "isolate_core_snapshot_data.bin" |
| }, |
| { |
| path = rebase_path( |
| "$snapshot_gen_dir/isolate_snapshot_instructions${product_suffix}.bin") |
| dest = "isolate_core_snapshot_instructions.bin" |
| }, |
| ] |
| |
| _vulkan_icds = [] |
| _libs = common_libs |
| if (enable_vulkan_validation_layers) { |
| _libs += vulkan_validation_libs |
| _vulkan_icds += vulkan_icds |
| } |
| |
| resources += _vulkan_icds |
| |
| libraries = _libs |
| } |
| } |
| |
| template("aot_runner") { |
| product = defined(invoker.product) && invoker.product |
| product_suffix = "" |
| if (product) { |
| product_suffix = "_product" |
| } |
| |
| fuchsia_archive(target_name) { |
| deps = [ ":aot${product_suffix}" ] |
| |
| if (!product) { |
| deps += [ |
| "//flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols:flutter_aot_runner", |
| observatory_target, |
| ] |
| } |
| |
| cmx_file = rebase_path("meta/flutter_aot${product_suffix}_runner.cmx") |
| cml_file = rebase_path("meta/flutter_aot${product_suffix}_runner.cml") |
| |
| binary = "flutter_aot${product_suffix}_runner" |
| |
| resources = [ |
| { |
| path = rebase_path("//third_party/icu/common/icudtl.dat") |
| dest = "icudtl.dat" |
| }, |
| ] |
| |
| if (!product) { |
| resources += [ |
| { |
| path = rebase_path(observatory_archive_file) |
| dest = "observatory.tar" |
| }, |
| { |
| path = rebase_path( |
| get_label_info( |
| "//flutter/shell/platform/fuchsia/runtime/dart/profiler_symbols:flutter_aot_runner", |
| "target_gen_dir") + |
| "/flutter_aot_runner.dartprofilersymbols") |
| dest = "flutter_aot_runner.dartprofilersymbols" |
| }, |
| ] |
| } |
| |
| _vulkan_icds = [] |
| _libs = common_libs |
| if (enable_vulkan_validation_layers) { |
| _libs += vulkan_validation_libs |
| _vulkan_icds += vulkan_icds |
| } |
| |
| resources += _vulkan_icds |
| |
| libraries = _libs |
| } |
| } |
| |
| aot_runner("flutter_aot_runner") { |
| product = false |
| } |
| |
| aot_runner("flutter_aot_product_runner") { |
| product = true |
| } |
| |
| jit_runner("flutter_jit_runner") { |
| product = false |
| } |
| |
| jit_runner("flutter_jit_product_runner") { |
| product = true |
| } |
| |
| # "OOT" copy of the runner used by tests, to avoid conflicting with the runner |
| # in the base fuchsia image. |
| # TODO(fxbug.dev/106575): Fix this with subpackages. |
| aot_runner("oot_flutter_aot_runner") { |
| product = false |
| } |
| |
| # "OOT" copy of the runner used by tests, to avoid conflicting with the runner |
| # in the base fuchsia image. |
| # TODO(fxbug.dev/106575): Fix this with subpackages. |
| aot_runner("oot_flutter_aot_product_runner") { |
| product = true |
| } |
| |
| # "OOT" copy of the runner used by tests, to avoid conflicting with the runner |
| # in the base fuchsia image. |
| # TODO(fxbug.dev/106575): Fix this with subpackages. |
| jit_runner("oot_flutter_jit_runner") { |
| product = false |
| } |
| |
| # "OOT" copy of the runner used by tests, to avoid conflicting with the runner |
| # in the base fuchsia image. |
| # TODO(fxbug.dev/106575): Fix this with subpackages. |
| jit_runner("oot_flutter_jit_product_runner") { |
| product = true |
| } |
| |
| test_fixtures("flutter_runner_fixtures") { |
| fixtures = [] |
| } |
| |
| if (enable_unittests) { |
| executable("flutter_runner_unittests") { |
| testonly = true |
| |
| output_name = "flutter_runner_tests" |
| |
| sources = [ |
| "accessibility_bridge_unittest.cc", |
| "component_v1_unittest.cc", |
| "component_v2_unittest.cc", |
| "flutter_runner_fakes.h", |
| "focus_delegate_unittests.cc", |
| "fuchsia_intl_unittest.cc", |
| "keyboard_unittest.cc", |
| "platform_view_unittest.cc", |
| "pointer_delegate_unittests.cc", |
| "pointer_injector_delegate_unittest.cc", |
| "tests/engine_unittests.cc", |
| "tests/fake_flatland_unittests.cc", |
| "tests/fake_session_unittests.cc", |
| "tests/flatland_connection_unittests.cc", |
| "tests/flatland_external_view_embedder_unittests.cc", |
| "tests/flatland_platform_view_unittest.cc", |
| "tests/flutter_runner_product_configuration_unittests.cc", |
| "tests/gfx_external_view_embedder_unittests.cc", |
| "tests/gfx_session_connection_unittests.cc", |
| "tests/pointer_event_utility.cc", |
| "tests/pointer_event_utility.h", |
| "text_delegate_unittests.cc", |
| "vsync_waiter_unittest.cc", |
| ] |
| |
| # This is needed for //third_party/googletest for linking zircon symbols. |
| libs = [ "$fuchsia_sdk_path/arch/$target_cpu/sysroot/lib/libzircon.so" ] |
| |
| # The use of these dependencies is temporary and will be moved behind the |
| # embedder API. |
| flutter_deps = [ |
| "//flutter/assets:assets", |
| "//flutter/common/graphics", |
| "//flutter/flow", |
| "//flutter/lib/ui", |
| "//flutter/shell/common", |
| "//third_party/dart/runtime:libdart_jit", |
| "//third_party/dart/runtime/platform:libdart_platform_jit", |
| ] |
| |
| deps = [ |
| "tests/fakes", |
| ":flutter_runner_fixtures", |
| ":flutter_runner_sources", |
| "//build/fuchsia/pkg:async-testing", |
| "//build/fuchsia/pkg:sys_cpp_testing", |
| "//flutter/shell/platform/common/client_wrapper:client_wrapper_library_stubs", |
| "//flutter/testing", |
| ] + flutter_deps |
| } |
| |
| executable("flutter_runner_tzdata_unittests") { |
| testonly = true |
| |
| output_name = "flutter_runner_tzdata_tests" |
| |
| sources = [ "runner_tzdata_unittest.cc" ] |
| |
| # This is needed for //third_party/googletest for linking zircon symbols. |
| libs = [ "$fuchsia_sdk_path/arch/$target_cpu/sysroot/lib/libzircon.so" ] |
| |
| # The use of these dependencies is temporary and will be moved behind the |
| # embedder API. |
| flutter_deps = [ |
| "//flutter/lib/ui", |
| "//flutter/shell/platform/common/client_wrapper:client_wrapper_library_stubs", |
| "//third_party/dart/runtime:libdart_jit", |
| "//third_party/dart/runtime/platform:libdart_platform_jit", |
| ] |
| |
| deps = [ |
| ":flutter_runner_fixtures", |
| ":flutter_runner_sources", |
| "//flutter/testing", |
| ] + flutter_deps |
| } |
| |
| executable("flutter_runner_tzdata_missing_unittests") { |
| testonly = true |
| |
| output_name = "flutter_runner_tzdata_missing_tests" |
| |
| sources = [ "runner_tzdata_missing_unittest.cc" ] |
| |
| # This is needed for //third_party/googletest for linking zircon symbols. |
| libs = [ "$fuchsia_sdk_path/arch/$target_cpu/sysroot/lib/libzircon.so" ] |
| |
| # The use of these dependencies is temporary and will be moved behind the |
| # embedder API. |
| flutter_deps = [ |
| "//flutter/lib/ui", |
| "//flutter/shell/platform/common/client_wrapper:client_wrapper_library_stubs", |
| "//third_party/dart/runtime:libdart_jit", |
| "//third_party/dart/runtime/platform:libdart_platform_jit", |
| ] |
| |
| deps = [ |
| ":flutter_runner_fixtures", |
| ":flutter_runner_sources", |
| "//flutter/testing", |
| ] + flutter_deps |
| } |
| |
| fuchsia_test_archive("flutter_runner_tests") { |
| deps = [ ":flutter_runner_unittests" ] |
| |
| binary = "$target_name" |
| |
| resources = [ |
| { |
| path = rebase_path("//third_party/icu/common/icudtl.dat") |
| dest = "icudtl.dat" |
| }, |
| ] |
| } |
| |
| fuchsia_test_archive("flutter_runner_tzdata_tests") { |
| deps = [ ":flutter_runner_tzdata_unittests" ] |
| |
| binary = "$target_name" |
| |
| resources = [ |
| { |
| path = rebase_path("//third_party/icu/common/icudtl.dat") |
| dest = "icudtl.dat" |
| }, |
| { |
| path = rebase_path( |
| "//flutter/shell/platform/fuchsia/flutter/tests/tzdata/2019a/44/le/metaZones.res") |
| dest = "tzdata/metaZones.res" |
| }, |
| { |
| path = rebase_path( |
| "//flutter/shell/platform/fuchsia/flutter/tests/tzdata/2019a/44/le/timezoneTypes.res") |
| dest = "tzdata/timezoneTypes.res" |
| }, |
| { |
| path = rebase_path( |
| "//flutter/shell/platform/fuchsia/flutter/tests/tzdata/2019a/44/le/zoneinfo64.res") |
| dest = "tzdata/zoneinfo64.res" |
| }, |
| ] |
| } |
| |
| fuchsia_test_archive("flutter_runner_tzdata_missing_tests") { |
| deps = [ ":flutter_runner_tzdata_missing_unittests" ] |
| |
| binary = "$target_name" |
| |
| resources = [ |
| { |
| path = rebase_path("//third_party/icu/common/icudtl.dat") |
| dest = "icudtl.dat" |
| }, |
| ] |
| } |
| |
| fuchsia_test_archive("fml_tests") { |
| deps = [ "//flutter/fml:fml_unittests" ] |
| |
| binary = "fml_unittests" |
| } |
| |
| fuchsia_test_archive("display_list_tests") { |
| deps = [ "//flutter/display_list:display_list_unittests" ] |
| |
| binary = "display_list_unittests" |
| } |
| |
| fuchsia_test_archive("display_list_render_tests") { |
| deps = [ "//flutter/display_list:display_list_rendertests" ] |
| |
| binary = "display_list_rendertests" |
| } |
| |
| fuchsia_test_archive("flow_tests") { |
| deps = [ "//flutter/flow:flow_unittests" ] |
| |
| binary = "flow_unittests" |
| |
| resources = [ |
| { |
| path = rebase_path( |
| "//flutter/testing/resources/performance_overlay_gold_60fps.png") |
| dest = "flutter/testing/resources/performance_overlay_gold_60fps.png" |
| }, |
| { |
| path = rebase_path( |
| "//flutter/testing/resources/performance_overlay_gold_90fps.png") |
| dest = "flutter/testing/resources/performance_overlay_gold_90fps.png" |
| }, |
| { |
| path = rebase_path( |
| "//flutter/testing/resources/performance_overlay_gold_120fps.png") |
| dest = "flutter/testing/resources/performance_overlay_gold_120fps.png" |
| }, |
| ] |
| } |
| |
| fuchsia_test_archive("runtime_tests") { |
| deps = [ |
| "//flutter/runtime:runtime_fixtures", |
| "//flutter/runtime:runtime_unittests", |
| ] |
| |
| binary = "runtime_unittests" |
| |
| # TODO(gw280): https://github.com/flutter/flutter/issues/50294 |
| # Right now we need to manually specify all the fixtures that are |
| # declared in the test_fixtures() call above. |
| resources = [ |
| { |
| path = "$root_gen_dir/flutter/runtime/assets/kernel_blob.bin" |
| dest = "assets/kernel_blob.bin" |
| }, |
| ] |
| } |
| |
| fuchsia_test_archive("shell_tests") { |
| deps = [ |
| "//flutter/shell/common:shell_unittests", |
| "//flutter/shell/common:shell_unittests_fixtures", |
| ] |
| |
| binary = "shell_unittests" |
| |
| # TODO(gw280): https://github.com/flutter/flutter/issues/50294 |
| # Right now we need to manually specify all the fixtures that are |
| # declared in the test_fixtures() call above. |
| resources = [ |
| { |
| path = "$root_gen_dir/flutter/shell/common/assets/kernel_blob.bin" |
| dest = "assets/kernel_blob.bin" |
| }, |
| { |
| path = |
| "$root_gen_dir/flutter/shell/common/assets/shelltest_screenshot.png" |
| dest = "assets/shelltest_screenshot.png" |
| }, |
| ] |
| |
| libraries = vulkan_validation_libs |
| resources += vulkan_icds |
| } |
| |
| fuchsia_test_archive("testing_tests") { |
| deps = [ "//flutter/testing:testing_unittests" ] |
| |
| binary = "testing_unittests" |
| } |
| |
| fuchsia_test_archive("txt_tests") { |
| deps = [ "//flutter/third_party/txt:txt_unittests" ] |
| |
| binary = "txt_unittests" |
| |
| resources = [ |
| { |
| path = rebase_path("//third_party/icu/common/icudtl.dat") |
| dest = "icudtl.dat" |
| }, |
| { |
| path = rebase_path("//third_party/icu/common/icudtl.dat") |
| dest = "icudtl2.dat" |
| }, |
| ] |
| } |
| |
| fuchsia_test_archive("ui_tests") { |
| deps = [ |
| "//flutter/lib/ui:ui_unittests", |
| "//flutter/lib/ui:ui_unittests_fixtures", |
| ] |
| |
| binary = "ui_unittests" |
| |
| # TODO(gw280): https://github.com/flutter/flutter/issues/50294 |
| # Right now we need to manually specify all the fixtures that are |
| # declared in the test_fixtures() call above. |
| resources = [ |
| { |
| path = "$root_gen_dir/flutter/lib/ui/assets/kernel_blob.bin" |
| dest = "assets/kernel_blob.bin" |
| }, |
| { |
| path = "$root_gen_dir/flutter/lib/ui/assets/DashInNooglerHat.jpg" |
| dest = "assets/DashInNooglerHat.jpg" |
| }, |
| { |
| path = "$root_gen_dir/flutter/lib/ui/assets/Horizontal.jpg" |
| dest = "assets/Horizontal.jpg" |
| }, |
| { |
| path = "$root_gen_dir/flutter/lib/ui/assets/Horizontal.png" |
| dest = "assets/Horizontal.png" |
| }, |
| { |
| path = "$root_gen_dir/flutter/lib/ui/assets/hello_loop_2.gif" |
| dest = "assets/hello_loop_2.gif" |
| }, |
| { |
| path = "$root_gen_dir/flutter/lib/ui/assets/hello_loop_2.webp" |
| dest = "assets/hello_loop_2.webp" |
| }, |
| ] |
| |
| libraries = vulkan_validation_libs |
| resources += vulkan_icds |
| } |
| |
| fuchsia_test_archive("embedder_tests") { |
| deps = [ |
| "//flutter/shell/platform/embedder:embedder_unittests", |
| "//flutter/shell/platform/embedder:fixtures", |
| ] |
| |
| binary = "embedder_unittests" |
| |
| # TODO(gw280): https://github.com/flutter/flutter/issues/50294 |
| # Right now we need to manually specify all the fixtures that are |
| # declared in the test_fixtures() call above. |
| resources = [ |
| { |
| path = "$root_gen_dir/flutter/shell/platform/embedder/assets/kernel_blob.bin" |
| dest = "assets/kernel_blob.bin" |
| }, |
| { |
| path = "$root_gen_dir/flutter/shell/platform/embedder/assets/arc_end_caps.png" |
| dest = "assets/arc_end_caps.png" |
| }, |
| { |
| path = "$root_gen_dir/flutter/shell/platform/embedder/assets/compositor.png" |
| dest = "assets/compositor.png" |
| }, |
| { |
| path = "$root_gen_dir/flutter/shell/platform/embedder/assets/compositor_root_surface_xformation.png" |
| dest = "assets/compositor_root_surface_xformation.png" |
| }, |
| { |
| path = "$root_gen_dir/flutter/shell/platform/embedder/assets/compositor_software.png" |
| dest = "assets/compositor_software.png" |
| }, |
| { |
| path = "$root_gen_dir/flutter/shell/platform/embedder/assets/compositor_with_platform_layer_on_bottom.png" |
| dest = "assets/compositor_with_platform_layer_on_bottom.png" |
| }, |
| { |
| path = "$root_gen_dir/flutter/shell/platform/embedder/assets/compositor_with_root_layer_only.png" |
| dest = "assets/compositor_with_root_layer_only.png" |
| }, |
| { |
| path = "$root_gen_dir/flutter/shell/platform/embedder/assets/dpr_noxform.png" |
| dest = "assets/dpr_noxform.png" |
| }, |
| { |
| path = |
| "$root_gen_dir/flutter/shell/platform/embedder/assets/dpr_xform.png" |
| dest = "assets/dpr_xform.png" |
| }, |
| { |
| path = |
| "$root_gen_dir/flutter/shell/platform/embedder/assets/gradient.png" |
| dest = "assets/gradient.png" |
| }, |
| { |
| path = "$root_gen_dir/flutter/shell/platform/embedder/assets/gradient_xform.png" |
| dest = "assets/gradient_xform.png" |
| }, |
| { |
| path = "$root_gen_dir/flutter/shell/platform/embedder/assets/scene_without_custom_compositor.png" |
| dest = "assets/scene_without_custom_compositor.png" |
| }, |
| { |
| path = "$root_gen_dir/flutter/shell/platform/embedder/assets/scene_without_custom_compositor_with_xform.png" |
| dest = "assets/scene_without_custom_compositor_with_xform.png" |
| }, |
| { |
| path = "$root_gen_dir/flutter/shell/platform/embedder/assets/snapshot_large_scene.png" |
| dest = "assets/snapshot_large_scene.png" |
| }, |
| { |
| path = "$root_gen_dir/flutter/shell/platform/embedder/assets/verifyb143464703.png" |
| dest = "assets/verifyb143464703.png" |
| }, |
| { |
| path = "$root_gen_dir/flutter/shell/platform/embedder/assets/verifyb143464703_soft_noxform.png" |
| dest = "assets/verifyb143464703_soft_noxform.png" |
| }, |
| ] |
| } |
| |
| fuchsia_test_archive("dart_utils_tests") { |
| deps = [ "//flutter/shell/platform/fuchsia/runtime/dart/utils:dart_utils_unittests" ] |
| |
| binary = "dart_utils_unittests" |
| } |
| |
| # When adding a new dep here, please also ensure the dep is added to |
| # testing/fuchsia/test_suites.yaml. |
| group("tests") { |
| testonly = true |
| |
| deps = [ |
| ":dart_utils_tests", |
| ":display_list_render_tests", |
| ":display_list_tests", |
| ":embedder_tests", |
| ":flow_tests", |
| ":flutter_runner_tests", |
| ":flutter_runner_tzdata_missing_tests", |
| ":flutter_runner_tzdata_tests", |
| ":fml_tests", |
| ":runtime_tests", |
| ":shell_tests", |
| ":testing_tests", |
| ":txt_tests", |
| ":ui_tests", |
| "tests/integration", |
| ] |
| } |
| } |