blob: 81b4e2b1c901d3bdab2b7b36a7f316f54033b038 [file] [log] [blame]
# 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"
}