| # Copyright 2023 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/components.gni") |
| import("//build/cpp/sdk_source_set.gni") |
| import("//build/test.gni") |
| |
| group("tests") { |
| testonly = true |
| deps = [ ":devicetree-manager-test-package" ] |
| } |
| |
| sdk_source_set("headers") { |
| sdk_name = "devicetree-manager-headers" |
| category = "internal" |
| include_base = "//sdk" |
| public = [ |
| "manager.h", |
| "node.h", |
| "visitor.h", |
| ] |
| |
| public_deps = [ |
| "//sdk/fidl/fuchsia.driver.framework:fuchsia.driver.framework_cpp", |
| "//sdk/fidl/fuchsia.hardware.platform.bus:fuchsia.hardware.platform.bus_cpp", |
| "//sdk/lib/driver/incoming/cpp", |
| "//zircon/kernel/lib/devicetree", |
| "//zircon/system/ulib/zx", |
| ] |
| } |
| |
| sdk_source_set("manager") { |
| sdk_name = "devicetree-manager" |
| category = "internal" |
| include_base = "//sdk" |
| sources = [ |
| "manager.cc", |
| "node.cc", |
| ] |
| public = [ |
| "manager.h", |
| "node.h", |
| "visitor.h", |
| ] |
| |
| non_sdk_deps = [ |
| "//src/devices/bind/fuchsia:fuchsia_cpp", |
| "//src/devices/bind/fuchsia.platform:fuchsia.platform_cpp", |
| ] |
| |
| deps = [ |
| "//sdk/fidl/fuchsia.hardware.platform.bus:fuchsia.hardware.platform.bus_cpp", |
| "//sdk/lib/driver/component/cpp", |
| "//sdk/lib/zbi-format", |
| "//src/devices/bind/fuchsia", |
| "//src/devices/bind/fuchsia.platform", |
| ] |
| |
| public_deps = [ ":headers" ] |
| } |
| |
| sdk_source_set("manager-test-helper") { |
| sdk_name = "devicetree_manager_test_helper" |
| category = "internal" |
| include_base = "//sdk" |
| sources = [ |
| "manager-test-helper.cc", |
| "manager-test-helper.h", |
| ] |
| deps = [ "//sdk/lib/driver/logging/cpp" ] |
| public_deps = [ |
| ":headers", |
| ":manager", |
| "//sdk/lib/async_patterns/cpp", |
| "//sdk/lib/driver/testing/cpp", |
| "//sdk/lib/driver/testing/cpp:scoped_global_logger", |
| "//sdk/lib/syslog/cpp", |
| "//src/devices/bin/driver_runtime", |
| ] |
| } |
| |
| test("devicetree-manager-test") { |
| deps = [ |
| ":manager-test-helper", |
| "//sdk/lib/driver/devicetree/visitors:driver-visitor", |
| "//sdk/lib/driver/devicetree/visitors:registry", |
| "//sdk/lib/driver/devicetree/visitors/default", |
| "//src/devices/bind/fuchsia:fuchsia_cpp", |
| "//src/devices/bind/fuchsia.devicetree:fuchsia.devicetree_cpp", |
| "//src/devices/bind/fuchsia.platform:fuchsia.platform_cpp", |
| "//src/lib/fxl/test:gtest_main", |
| ] |
| |
| sources = [ "manager-test.cc" ] |
| } |
| |
| fuchsia_unittest_component("devicetree-manager-test-component") { |
| component_name = "devicetree-manager-test" |
| deps = [ |
| ":devicetree-manager-test", |
| "test-data:all-test-dtb", |
| ] |
| } |
| |
| fuchsia_test_package("devicetree-manager-test-package") { |
| test_components = [ ":devicetree-manager-test-component" ] |
| package_name = "devicetree-manager-test" |
| } |