blob: ba2f5e1302e4fbe4c29d32d867eee81262bb9e09 [file] [log] [blame] [edit]
# 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/test.gni")
driver_bind_rules("bind") {
rules = "meta/power_driver.bind"
bind_output = "power_driver.bindbc"
deps = [ "//examples/drivers/bind/bindlib:gizmo.example" ]
}
fuchsia_component_manifest("component-manifest") {
component_name = "power_driver"
manifest = "meta/power_driver.cml"
}
fuchsia_driver_component("component") {
cm_label = ":component-manifest"
deps = [
":bind",
":driver",
]
info = "meta/component-info.json"
}
fuchsia_structured_config_cpp_elf_lib("component-config") {
cm_label = ":component-manifest"
}
fuchsia_cc_driver("driver") {
output_name = "power_driver"
sources = [ "power_driver.cc" ]
deps = [
"//examples/fidl/fuchsia.examples:fuchsia.examples_cpp",
"//sdk/lib/driver/component/cpp",
"//sdk/lib/driver/power/cpp",
"//src/devices/lib/driver:driver_runtime",
]
public_deps = [ ":component-config" ]
}
fuchsia_component_manifest("component-manifest-suspend-disabled") {
component_name = "power_driver_suspend_disabled"
manifest = "meta/power_driver_suspend_disabled.cml"
}
fuchsia_driver_component("component-suspend-disabled") {
cm_label = ":component-manifest-suspend-disabled"
deps = [
":bind",
":driver",
]
info = "meta/component-info.json"
}
fuchsia_driver_package("pkg") {
package_name = "power_driver"
driver_components = [ ":component" ]
}
rustc_test("realm-test") {
output_name = "power-driver-realm-test"
edition = "2024"
testonly = true
source_root = "realm_test.rs"
sources = [ "realm_test.rs" ]
deps = [
"//examples/fidl/fuchsia.examples:fuchsia.examples_rust",
"//sdk/fidl/fuchsia.component.test:fuchsia.component.test_rust",
"//sdk/fidl/fuchsia.driver.test:fuchsia.driver.test_rust",
"//sdk/fidl/fuchsia.power.system:fuchsia.power.system_rust",
"//sdk/lib/driver_test_realm/realm_builder/rust",
"//sdk/rust/zx",
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-component",
"//src/lib/fuchsia-component-test",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:futures",
]
}
fuchsia_unittest_package("realm-test-pkg") {
package_name = "power-driver-realm-test"
deps = [
# Test component
":realm-test",
# The drivers
":component",
":component-suspend-disabled",
]
# There's expected error logs that happen due to races in driver enumeration.
test_specs = {
log_settings = {
max_severity = "ERROR"
}
}
}
group("hermetic_tests") {
testonly = true
deps = [ ":realm-test-pkg" ]
}