| # Copyright 2019 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/dist/component_manifest_resources.gni") |
| import("//build/test.gni") |
| import("//src/sys/build/components.gni") |
| import("//zircon/system/ulib/devmgr-integration-test/isolated_devmgr.gni") |
| |
| group("tests") { |
| testonly = true |
| deps = [ |
| ":driver-manager-tests", |
| ":driver-runner-integration-test", |
| ] |
| } |
| |
| # Common source files and dependencies between :coordinator and :test |
| source_set("lib") { |
| visibility = [ ":*" ] |
| |
| sources = [ |
| "binding.cc", |
| "binding_internal.h", |
| "component_lifecycle.cc", |
| "component_lifecycle.h", |
| "composite_device.cc", |
| "coordinator.cc", |
| "coordinator.h", |
| "devfs.cc", |
| "devfs.h", |
| "device.cc", |
| "device.h", |
| "driver.cc", |
| "driver.h", |
| "driver_host.cc", |
| "driver_host.h", |
| "driver_host_loader_service.cc", |
| "driver_host_loader_service.h", |
| "driver_test_reporter.cc", |
| "driver_test_reporter.h", |
| "env.cc", |
| "fdio.cc", |
| "fidl.cc", |
| "init_task.cc", |
| "inspect.cc", |
| "package_resolver.cc", |
| "resume_task.cc", |
| "suspend_handler.cc", |
| "suspend_matching_task.cc", |
| "suspend_task.cc", |
| "system_instance.cc", |
| "system_instance.h", |
| "system_state_manager.cc", |
| "system_state_manager.h", |
| "task.cc", |
| "unbind_task.cc", |
| "vmo_writer.cc", |
| ] |
| |
| public_deps = [ |
| ":driver_runner", |
| "//sdk/fidl/fuchsia.boot", |
| "//sdk/fidl/fuchsia.boot:fuchsia.boot_llcpp", |
| "//sdk/fidl/fuchsia.device.manager", |
| "//sdk/fidl/fuchsia.device.manager:fuchsia.device.manager_c", |
| "//sdk/fidl/fuchsia.device.manager:fuchsia.device.manager_llcpp", |
| "//sdk/fidl/fuchsia.device.manager:fuchsia.device.manager_llcpp", |
| "//sdk/fidl/fuchsia.driver.registrar:fuchsia.driver.registrar_llcpp", |
| "//sdk/fidl/fuchsia.driver.test:fuchsia.driver.test_c", |
| "//sdk/fidl/fuchsia.fshost:fuchsia.fshost_llcpp", |
| "//sdk/fidl/fuchsia.hardware.power.statecontrol", |
| "//sdk/fidl/fuchsia.hardware.power.statecontrol:fuchsia.hardware.power.statecontrol_c", |
| "//sdk/fidl/fuchsia.hardware.power.statecontrol:fuchsia.hardware.power.statecontrol_llcpp", |
| "//sdk/fidl/fuchsia.hardware.virtioconsole:fuchsia.hardware.virtioconsole_llcpp", |
| "//sdk/fidl/fuchsia.io:fuchsia.io_c", |
| "//sdk/fidl/fuchsia.io:fuchsia.io_llcpp", |
| "//sdk/fidl/fuchsia.kernel", |
| "//sdk/fidl/fuchsia.kernel:fuchsia.kernel_llcpp", |
| "//sdk/fidl/fuchsia.ldsvc:fuchsia.ldsvc_llcpp", |
| "//sdk/fidl/fuchsia.mem:fuchsia.mem_c", |
| "//sdk/fidl/fuchsia.pkg:fuchsia.pkg_llcpp", |
| "//sdk/fidl/fuchsia.power.manager:fuchsia.power.manager_llcpp", |
| "//sdk/fidl/fuchsia.process.lifecycle:fuchsia.process.lifecycle_llcpp", |
| "//sdk/lib/fdio", |
| "//sdk/lib/fdio", |
| "//sdk/lib/fdio:fdio-spawn-actions", |
| "//sdk/lib/fidl/cpp", |
| "//sdk/lib/inspect/service/cpp", |
| "//sdk/lib/stdcompat", |
| "//sdk/lib/sys/cpp", |
| "//src/devices/lib/log", |
| "//src/lib/ddk", |
| "//src/lib/files", |
| "//src/lib/loader_service", |
| "//src/lib/pkg_url", |
| "//src/storage/deprecated-fs-fidl-handler", |
| "//src/zircon/lib/zircon", |
| "//zircon/public/lib/fbl", |
| "//zircon/public/lib/fidl", |
| "//zircon/public/lib/fit", |
| "//zircon/public/lib/zircon-internal", |
| "//zircon/public/lib/zx", |
| "//zircon/public/lib/zxc", |
| "//zircon/system/public", |
| "//zircon/system/ulib/async-default", |
| "//zircon/system/ulib/async-loop:async-loop-cpp", |
| "//zircon/system/ulib/async-loop:async-loop-default", |
| "//zircon/system/ulib/devmgr-launcher", |
| "//zircon/system/ulib/driver-info", |
| "//zircon/system/ulib/fidl-async", |
| "//zircon/system/ulib/fidl-async:fidl-async-cpp", |
| "//zircon/system/ulib/fs", |
| "//zircon/system/ulib/fzl", |
| "//zircon/system/ulib/inspect", |
| "//zircon/system/ulib/inspector", |
| "//zircon/system/ulib/memfs", |
| "//zircon/system/ulib/memfs:memfs-cpp", |
| "//zircon/system/ulib/svc", |
| |
| # TODO(fxb/38132): Migrate to the new bind rules and delete the below |
| "//src/lib/ddk:ddk-deprecated-binding-headers", |
| ] |
| |
| configs += [ "//build/config:all_source" ] |
| |
| # TODO(fxbug.dev/69585): This target uses raw zx::channel with LLCPP which is deprecated. |
| # Please migrate to typed channel APIs (fidl::ClientEnd<T>, fidl::ServerEnd<T>). |
| # See linked bug for details. |
| configs += [ "//build/cpp:fidl-llcpp-deprecated-raw-channels" ] |
| } |
| |
| executable("driver_manager") { |
| sources = [ "main.cc" ] |
| |
| deps = [ |
| ":lib", |
| "//src/sys/lib/stdout-to-debuglog/cpp", |
| ] |
| |
| configs += [ "//build/config:all_source" ] |
| |
| # TODO(fxbug.dev/69585): This target uses raw zx::channel with LLCPP which is deprecated. |
| # Please migrate to typed channel APIs (fidl::ClientEnd<T>, fidl::ServerEnd<T>). |
| # See linked bug for details. |
| configs += [ "//build/cpp:fidl-llcpp-deprecated-raw-channels" ] |
| } |
| |
| test("driver_manager_test") { |
| sources = [ |
| "autobind_tests.cc", |
| "binding_test.cc", |
| "composite_device_tests.cc", |
| "coordinator_test_utils.cc", |
| "init_tests.cc", |
| "inspect_test.cc", |
| "load_driver_package_test.cc", |
| "misc_tests.cc", |
| "multiple_device_test.cc", |
| "multiple_device_test_utils.cc", |
| "resume_tests.cc", |
| "suspend_tests.cc", |
| "system_instance_test.cc", |
| "task_test.cc", |
| "unbind_tests.cc", |
| ] |
| |
| deps = [ |
| ":lib", |
| "//sdk/lib/fdio", |
| "//sdk/lib/inspect/testing/cpp:zxtest", |
| "//zircon/public/lib/zxtest", |
| "//zircon/system/ulib/mock-boot-arguments", |
| ] |
| |
| # TODO(fxbug.dev/69585): This target uses raw zx::channel with LLCPP which is deprecated. |
| # Please migrate to typed channel APIs (fidl::ClientEnd<T>, fidl::ServerEnd<T>). |
| # See linked bug for details. |
| configs += [ "//build/cpp:fidl-llcpp-deprecated-raw-channels" ] |
| } |
| |
| fuchsia_unittest_component("driver-manager-test") { |
| manifest = "meta/driver-manager-test.cmx" |
| deps = [ |
| ":driver_manager_test", |
| "testing:ambient_vmex_test_util", |
| "testing:new_process_test_util", |
| "//src/devices/bin/driver_host", |
| "//src/devices/bus/drivers/platform", |
| "//src/devices/internal/drivers/fragment", |
| "//src/devices/tests/mock-device", |
| ] |
| } |
| |
| # This is a separate test binary because this test fixture uses gtest, not zxtest |
| test("driver_host_loader_service_test") { |
| sources = [ "driver_host_loader_service_test.cc" ] |
| deps = [ |
| ":lib", |
| "//src/lib/loader_service:loader_service_test_fixture", |
| ] |
| |
| # TODO(fxbug.dev/69585): This target uses raw zx::channel with LLCPP which is deprecated. |
| # Please migrate to typed channel APIs (fidl::ClientEnd<T>, fidl::ServerEnd<T>). |
| # See linked bug for details. |
| configs += [ "//build/cpp:fidl-llcpp-deprecated-raw-channels" ] |
| } |
| |
| fuchsia_unittest_component("driver-host-loader-service-test") { |
| manifest = "meta/driver-host-loader-service-test.cmx" |
| deps = [ ":driver_host_loader_service_test" ] |
| } |
| |
| source_set("driver_runner") { |
| sources = [ |
| "driver_runner.cc", |
| "driver_runner.h", |
| ] |
| |
| public_deps = [ |
| "//sdk/fidl/fuchsia.component.runner", |
| "//sdk/fidl/fuchsia.component.runner:fuchsia.component.runner_llcpp", |
| "//sdk/fidl/fuchsia.driver.framework:fuchsia.driver.framework_llcpp", |
| "//sdk/fidl/fuchsia.sys2:fuchsia.sys2_llcpp", |
| "//src/devices/lib/driver2:llcpp", |
| "//src/devices/lib/log", |
| "//zircon/public/lib/zxc", |
| "//zircon/system/ulib/fs", |
| "//zircon/system/ulib/inspect", |
| ] |
| |
| # TODO(fxbug.dev/69585): This target uses raw zx::channel with LLCPP which is deprecated. |
| # Please migrate to typed channel APIs (fidl::ClientEnd<T>, fidl::ServerEnd<T>). |
| # See linked bug for details. |
| configs += [ "//build/cpp:fidl-llcpp-deprecated-raw-channels" ] |
| } |
| |
| executable("driver_runner_test") { |
| testonly = true |
| sources = [ "driver_runner_test.cc" ] |
| |
| deps = [ |
| ":driver_runner", |
| "//sdk/fidl/fuchsia.driver.framework", |
| "//sdk/fidl/fuchsia.sys2", |
| "//sdk/lib/inspect/testing/cpp", |
| "//sdk/lib/sys/cpp/testing:unit", |
| "//src/lib/fxl/test:gtest_main", |
| "//src/lib/testing/loop_fixture", |
| "//zircon/system/ulib/async-loop:async-loop-cpp", |
| "//zircon/system/ulib/async-loop:async-loop-default", |
| ] |
| |
| # TODO(fxbug.dev/69585): This target uses raw zx::channel with LLCPP which is deprecated. |
| # Please migrate to typed channel APIs (fidl::ClientEnd<T>, fidl::ServerEnd<T>). |
| # See linked bug for details. |
| configs += [ "//build/cpp:fidl-llcpp-deprecated-raw-channels" ] |
| } |
| |
| fuchsia_unittest_component("driver-runner-test") { |
| manifest = "meta/driver_runner_test.cml" |
| |
| deps = [ ":driver_runner_test" ] |
| } |
| |
| fuchsia_test_package("driver-manager-tests") { |
| test_components = [ |
| ":driver-host-loader-service-test", |
| ":driver-manager-test", |
| ":driver-runner-test", |
| ] |
| } |
| |
| executable("driver_runner_integration_test") { |
| testonly = true |
| sources = [ "driver_runner_integration_test.cc" ] |
| |
| deps = [ |
| "//src/devices/misc/drivers/test", |
| "//src/devices/tests/sysdev", |
| "//zircon/public/lib/zxtest", |
| "//zircon/system/ulib/devmgr-integration-test", |
| ] |
| } |
| |
| isolated_devmgr_unittest_package("driver-runner-integration-test") { |
| executable_path = "bin/driver_runner_integration_test" |
| deps = [ ":driver_runner_integration_test" ] |
| } |
| |
| component_manifest_resources("meta") { |
| sources = [ "meta/driver_manager.cml" ] |
| } |
| |
| group("bootfs") { |
| deps = [ |
| ":driver_manager", |
| ":meta", |
| ] |
| } |