blob: d0e8b6556e73febf0bbc9fae780e9fa870c9ceab [file] [log] [blame] [edit]
# 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/devicetree/devicetree.gni")
import("//build/test.gni")
group("tests") {
testonly = true
deps = [
":devicetree-manager-test-package",
"examples/example-board:tests",
]
}
source_set("headers") {
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_driver",
"//sdk/lib/driver/incoming/cpp",
"//zircon/kernel/lib/devicetree",
"//zircon/system/ulib/zx",
]
}
source_set("devicetree") {
sources = [
"manager.cc",
"node.cc",
]
deps = [
"//sdk/fidl/fuchsia.boot:fuchsia.boot_cpp",
"//sdk/lib/driver/component/cpp:cpp",
"//sdk/lib/driver/legacy-bind-constants",
"//sdk/lib/zbi-format",
"//src/devices/bind/fuchsia.platform:fuchsia.platform_cpp",
]
public_deps = [ ":headers" ]
}
test("devicetree-manager-test") {
deps = [
":devicetree",
"visitors:default-visitors",
"visitors:driver-visitor",
"//sdk/lib/async_patterns/testing/cpp",
"//sdk/lib/driver/legacy-bind-constants",
"//sdk/lib/driver/logging/cpp",
"//sdk/lib/driver/testing/cpp",
"//src/devices/bin/driver_runtime",
"//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" ]
}
devicetree_fragment("simple-include") {
sources = [ "test-data/simple.dtsi.S" ]
}
devicetree("simple") {
sources = [ "test-data/simple.dts" ]
golden = "test-data/simple.golden.dts"
deps = [ ":simple-include" ]
}
resource("simple-dtb") {
sources = get_target_outputs(":simple.dtb")
outputs = [ "test-data/{{source_file_part}}" ]
deps = [ ":simple" ]
}
devicetree("basic-properties") {
sources = [ "test-data/basic-properties.dts.S" ]
golden = "test-data/basic-properties.golden.dts"
outputs = [ "$target_out_dir/basic-properties.dtb" ]
deps = [ "//zircon/system/ulib/ddk-platform-defs" ]
}
resource("basic-properties-dtb") {
sources = [ "$target_out_dir/basic-properties.dtb" ]
outputs = [ "test-data/{{source_file_part}}" ]
deps = [ ":basic-properties" ]
}
fuchsia_unittest_component("devicetree-manager-test-component") {
component_name = "devicetree-manager-test"
deps = [
":basic-properties-dtb",
":devicetree-manager-test",
":simple-dtb",
]
}
fuchsia_test_package("devicetree-manager-test-package") {
test_components = [ ":devicetree-manager-test-component" ]
package_name = "devicetree-manager-test"
}