blob: 2393d1361f36d941f52ac3d6fc51ac3b73a63368 [file] [log] [blame]
# Copyright 2024 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/bind/bind.gni")
import("//build/components.gni")
import("//build/drivers.gni")
import("//build/fidl/fidl.gni")
import("//build/test.gni")
driver_bind_rules("test-power-integration-board-bind") {
rules = "test-power-integration.bind"
deps = [
"//sdk/fidl/fuchsia.hardware.platform.bus:fuchsia.hardware.platform.bus_bindlib",
"//src/devices/bind/fuchsia.test.platform",
]
}
fuchsia_driver("test-power-integration-board-driver") {
output_name = "power-integration-board"
sources = [ "test-power-integration-board.cc" ]
deps = [
":test-power-integration-board-bind",
"//sdk/fidl/fuchsia.hardware.platform.bus:fuchsia.hardware.platform.bus_cpp",
"//sdk/lib/driver/component/cpp:cpp",
"//sdk/lib/driver/logging/cpp:cpp",
"//src/devices/bind/fuchsia:fuchsia_cpp",
"//src/devices/bind/fuchsia.test.platform:fuchsia.test.platform_cpp",
"//src/devices/lib/driver:driver_runtime",
"//zircon/system/ulib/fbl",
]
}
fuchsia_driver_component("test-power-integration-board") {
deps = [ ":test-power-integration-board-driver" ]
info = "test-power-integration-board-info.json"
manifest = "meta/test-power-board.cml"
}
driver_bind_rules("test-power-parent-bind") {
rules = "test-power-parent.bind"
deps = [ "//src/devices/bind/fuchsia.test.platform" ]
}
fuchsia_driver("test-power-parent-driver") {
output_name = "test-power-parent"
sources = [ "test-power-parent-device.cc" ]
deps = [
":test-power-parent-bind",
"//sdk/fidl/fuchsia.component.decl:fuchsia.component.decl_cpp",
"//sdk/fidl/fuchsia.hardware.platform.device:fuchsia.hardware.platform.device_cpp",
"//sdk/fidl/fuchsia.hardware.power:fuchsia.hardware.power_bindlib_cpp",
"//sdk/fidl/fuchsia.hardware.power:fuchsia.hardware.power_cpp",
"//sdk/fidl/fuchsia.power.broker:fuchsia.power.broker_cpp",
"//sdk/lib/driver/component/cpp:cpp",
"//sdk/lib/driver/logging/cpp:cpp",
"//sdk/lib/driver/power/cpp",
"//sdk/lib/sys/service/cpp",
"//src/devices/bind/fuchsia:fuchsia_cpp",
"//src/devices/bind/fuchsia.test.platform:fuchsia.test.platform_cpp",
"//src/devices/lib/driver:driver_runtime",
"//zircon/system/ulib/async:async-cpp",
]
}
driver_bind_rules("test-power-child-bind") {
rules = "test-power-child.bind"
deps = [ "//src/devices/bind/fuchsia.test.platform" ]
}
fuchsia_driver("test-power-child-driver") {
output_name = "test-power-child"
sources = [ "test-power-child-device.cc" ]
deps = [
":test-power-child-bind",
"//sdk/fidl/fuchsia.hardware.platform.device:fuchsia.hardware.platform.device_cpp",
"//sdk/fidl/fuchsia.hardware.power:fuchsia.hardware.power_cpp",
"//sdk/fidl/fuchsia.power.broker:fuchsia.power.broker_cpp",
"//sdk/lib/driver/component/cpp:cpp",
"//sdk/lib/driver/logging/cpp:cpp",
"//sdk/lib/driver/power/cpp",
"//src/devices/lib/driver:driver_runtime",
]
}
fuchsia_driver_component("test-power-child") {
component_name = "test-power-child"
deps = [ ":test-power-child-driver" ]
info = "test-power-child-info.json"
manifest = "meta/test-power-child.cml"
}
fuchsia_driver_component("test-power-parent") {
component_name = "test-power-parent"
deps = [ ":test-power-parent-driver" ]
info = "test-power-parent-info.json"
manifest = "meta/test-power-parent.cml"
}
fidl("fuchsia.test.drivers.power") {
testonly = true
sources = [ "power_test.fidl" ]
}
executable("mock-power-broker-bin") {
sources = [ "mock-power-broker.cc" ]
testonly = true
output_name = "mock-power-broker"
deps = [
":fuchsia.test.drivers.power_cpp",
"//sdk/fidl/fuchsia.power.broker:fuchsia.power.broker_cpp",
"//sdk/lib/driver/component/cpp:cpp",
"//sdk/lib/driver/logging/cpp:cpp",
"//sdk/lib/sys/cpp:cpp",
"//sdk/lib/syslog/cpp:cpp",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
]
}
fuchsia_component("mock-power-broker") {
testonly = true
manifest = "meta/mock-power-broker.cml"
deps = [ ":mock-power-broker-bin" ]
}
test("power-integration-test-test") {
sources = [ "test-power-integration.cc" ]
deps = [
":fuchsia.test.drivers.power_cpp",
"//sdk/fidl/fuchsia.driver.test:fuchsia.driver.test_cpp",
"//sdk/fidl/fuchsia.hardware.platform.bus:fuchsia.hardware.platform.bus_cpp",
"//sdk/fidl/fuchsia.io:fuchsia.io_cpp",
"//sdk/fidl/fuchsia.power.broker:fuchsia.power.broker_cpp",
"//sdk/lib/device-watcher/cpp",
"//sdk/lib/driver/logging/cpp:cpp",
"//sdk/lib/driver_test_realm/realm_builder/cpp",
"//sdk/lib/sys/component/cpp/testing:cpp",
"//src/devices/lib/driver:driver_runtime",
"//src/lib/fxl/test:gtest_main",
"//src/lib/testing/loop_fixture",
"//zircon/system/ulib/async-loop:async-loop-cpp",
]
}
fuchsia_unittest_package("power-integration-tests-package") {
package_name = "power-integration-tests"
deps = [
":mock-power-broker",
":power-integration-test-test",
":test-power-child",
":test-power-integration-board",
":test-power-parent",
"//src/devices/bus/drivers/platform:platform-bus",
]
}