| # 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" |
| } |