blob: 3cef08714eedca2f74ae96ea812691b18163297f [file] [log] [blame]
# Copyright 2025 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/rust-driver.bind"
bind_output = "rust.bindbc"
deps = [ "//examples/drivers/bind/bindlib:gizmo.example" ]
}
fuchsia_rust_driver("driver") {
edition = "2024"
output_name = "power_rust_driver"
sources = [ "src/lib.rs" ]
deps = [
"//sdk/fidl/fuchsia.driver.framework:fuchsia.driver.framework_rust",
"//sdk/lib/driver/component/rust",
"//sdk/lib/driver/power/rust",
"//sdk/lib/driver/runtime/rust",
"//sdk/rust/zx",
"//src/devices/bind/fuchsia.test:fuchsia.test_rust",
"//src/lib/fidl/rust/fidl",
"//third_party/rust_crates:log",
]
}
fuchsia_driver_component("component") {
component_name = "power_rust_driver"
manifest = "meta/rust-driver.cml"
deps = [
":bind",
":driver",
]
info = "meta/component-info.json"
}
fuchsia_driver_package("pkg") {
package_name = "power_rust_driver"
driver_components = [ ":component" ]
}
rustc_test("realm-test") {
output_name = "power-rust-driver-realm-test"
edition = "2024"
testonly = true
source_root = "realm_test.rs"
sources = [ "realm_test.rs" ]
deps = [
"//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-rust-driver-realm-test"
deps = [
# Test component
":realm-test",
# The driver
":component",
]
# 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" ]
}