| # Copyright 2021 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/bazel/export_fuchsia_package_to_bazel.gni") |
| import("//build/components.gni") |
| import("//build/drivers.gni") |
| import("//tools/cmc/build/expect_includes.gni") |
| |
| group("driver_test_realm") { |
| testonly = true |
| deps = [ |
| ":client_includes", |
| ":driver_manager_test", |
| ":driver_test_realm_component", |
| ":fake_resolver", |
| ":test_realm_manifest", |
| "//src/devices/bin/devfs:component-for-test", |
| "//src/devices/bin/driver-index:component", |
| "//src/devices/bin/driver_host:component", |
| ] |
| } |
| |
| group("realm_builder_version") { |
| deps = [ |
| ":driver_manager_test", |
| ":driver_test_realm_component", |
| ":fake_resolver", |
| ":realm_builder_includes", |
| ":test_realm_manifest", |
| "//src/devices/bin/devfs:component-for-test", |
| "//src/devices/bin/driver-index:component", |
| "//src/devices/bin/driver_host:component", |
| ] |
| } |
| |
| group("tests") { |
| testonly = true |
| deps = [ |
| ":package", |
| "platform:tests", |
| "simple:tests", |
| "tests", |
| ] |
| } |
| |
| executable("bin") { |
| output_name = "driver_test_realm" |
| sources = [ "driver_test_realm.cc" ] |
| deps = [ |
| ":driver_test_realm_config", |
| "//sdk/fidl/fuchsia.boot:fuchsia.boot_cpp", |
| "//sdk/fidl/fuchsia.component.decl:fuchsia.component.decl_cpp", |
| "//sdk/fidl/fuchsia.component.resolution:fuchsia.component.resolution_cpp", |
| "//sdk/fidl/fuchsia.device.manager:fuchsia.device.manager_cpp", |
| "//sdk/fidl/fuchsia.driver.framework:fuchsia.driver.framework_cpp", |
| "//sdk/fidl/fuchsia.driver.test:fuchsia.driver.test_cpp", |
| "//sdk/fidl/fuchsia.io:fuchsia.io_cpp", |
| "//sdk/fidl/fuchsia.kernel:fuchsia.kernel_cpp", |
| "//sdk/fidl/fuchsia.pkg:fuchsia.pkg_cpp", |
| "//sdk/lib/component/incoming/cpp", |
| "//sdk/lib/component/outgoing/cpp", |
| "//sdk/lib/sys/component/cpp/testing:cpp", |
| "//sdk/lib/syslog/cpp", |
| "//sdk/lib/zbi-format", |
| "//src/lib/ddk", |
| "//src/lib/ddk:ddk-metadata-headers", |
| "//src/lib/files", |
| "//src/storage/lib/vfs/cpp", |
| "//zircon/system/ulib/async-loop:async-loop-cpp", |
| ] |
| } |
| |
| fuchsia_component_manifest("manifest") { |
| component_name = "driver_test_realm" |
| manifest = "meta/driver_test_realm.cml" |
| } |
| |
| fuchsia_structured_config_cpp_elf_lib("driver_test_realm_config") { |
| cm_label = ":manifest" |
| } |
| |
| fuchsia_structured_config_values("driver_test_realm_config_default") { |
| cm_label = ":manifest" |
| values = { |
| tunnel_boot_items = false |
| } |
| } |
| |
| fuchsia_component("driver_test_realm_component") { |
| cm_label = ":manifest" |
| deps = [ |
| ":bin", |
| ":driver_test_realm_config_default", |
| ] |
| } |
| |
| executable("fake_resolver_bin") { |
| output_name = "fake_resolver" |
| sources = [ "fake_resolver.cc" ] |
| data_deps = [ "fake_driver:driver_package" ] |
| deps = [ |
| "//sdk/fidl/fuchsia.component.decl:fuchsia.component.decl_cpp", |
| "//sdk/fidl/fuchsia.component.resolution:fuchsia.component.resolution_cpp", |
| "//sdk/fidl/fuchsia.io:fuchsia.io_cpp", |
| "//sdk/lib/component/incoming/cpp", |
| "//sdk/lib/component/outgoing/cpp", |
| "//sdk/lib/syslog/cpp", |
| "//zircon/system/ulib/async-loop:async-loop-cpp", |
| "//zircon/system/ulib/async-loop:async-loop-default", |
| ] |
| } |
| |
| fuchsia_component("fake_resolver") { |
| manifest = "meta/fake_resolver.cml" |
| deps = [ ":fake_resolver_bin" ] |
| } |
| |
| fuchsia_component_manifest("driver_manager_manifest") { |
| component_name = "driver_manager_test" |
| manifest = "meta/driver_manager_test.cml" |
| } |
| |
| fuchsia_structured_config_values("test_config") { |
| cm_label = ":driver_manager_manifest" |
| values = { |
| set_root_driver_host_critical = false |
| delay_fallback_until_base_drivers_indexed = true |
| suspend_timeout_fallback = true |
| verbose = false |
| driver_host_crash_policy = "restart-driver-host" |
| root_driver = "fuchsia-boot:///dtr#meta/test-parent-sys.cm" |
| enable_test_shutdown_delays = false |
| } |
| } |
| |
| fuchsia_component("driver_manager_test") { |
| cm_label = ":driver_manager_manifest" |
| deps = [ |
| ":test_config", |
| "//src/devices/bin/driver_manager", |
| ] |
| } |
| |
| fuchsia_component_manifest("test_realm_manifest") { |
| component_name = "test_realm" |
| manifest = "meta/test_realm.cml" |
| restricted_features = [ |
| "allow_long_names", |
| "config_capabilities", |
| ] |
| } |
| |
| expect_includes("client_includes") { |
| includes = [ "meta/client.shard.cml" ] |
| } |
| |
| expect_includes("realm_builder_includes") { |
| includes = [ "meta/realm_builder.shard.cml" ] |
| } |
| |
| fuchsia_package("package") { |
| testonly = true |
| package_name = "driver_test_realm" |
| deps = [ |
| ":driver_test_realm", |
| "//src/devices/misc/drivers/test-parent", |
| ] |
| } |
| |
| fuchsia_package("realm_builder_version-package") { |
| package_name = "driver_test_realm_realm_builder_version" |
| deps = [ |
| ":realm_builder_version", |
| "//src/devices/misc/drivers/test-parent", |
| ] |
| } |
| |
| # Define Bazel input resource so it can be used |
| export_fuchsia_package_to_bazel("realm-builder-version-package-bazel") { |
| package = ":realm_builder_version-package" |
| package_name = "driver_test_realm" |
| } |