blob: a4eec999255e591714c90348f301e0e2a40d8b48 [file] [log] [blame]
# 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/drivers.gni")
import("//build/test.gni")
driver_bind_rules("fake_battery_bind") {
rules = "fake-battery-driver.bind"
bind_output = "fake-battery-driver.bindbc"
deps = [ "//src/devices/bind/fuchsia.test" ]
deps += [ "//src/devices/bind/fuchsia.platform" ]
}
source_set("fake_battery_driver_lib") {
sources = [
"driver.cc",
"power_source_protocol_server.cc",
"power_source_state.cc",
"simulator_impl.cc",
]
public_deps = [
"//sdk/fidl/fuchsia.hardware.powersource:fuchsia.hardware.powersource_cpp",
"//sdk/fidl/fuchsia.hardware.powersource.test:fuchsia.hardware.powersource.test_cpp",
"//sdk/fidl/fuchsia.power.battery:fuchsia.power.battery_cpp",
"//sdk/lib/driver/component/cpp:cpp",
"//sdk/lib/driver/devfs/cpp",
]
}
fuchsia_driver("fake_battery_driver") {
output_name = "fake_battery"
deps = [
":fake_battery_bind",
":fake_battery_driver_lib",
"//src/devices/lib/driver:driver_runtime",
]
}
fuchsia_driver_component("fake_battery_component") {
component_name = "fake_battery"
manifest = "meta/fake_battery_driver.cml"
deps = [ ":fake_battery_driver" ]
info = "component-info.json"
}
fuchsia_driver_package("fake-battery") {
driver_components = [ ":fake_battery_component" ]
}
executable("cpp_test") {
testonly = true
output_name = "fake-battery-driver-unittests"
sources = [ "fake-battery-driver-unittest.cc" ]
metadata = {
test_component_manifest_cml = [
{
include = [ "//sdk/lib/syslog/use.shard.cml" ]
},
]
}
deps = [
":fake_battery_driver_lib",
"//sdk/lib/async_patterns/testing/cpp",
"//sdk/lib/driver/testing/cpp",
"//sdk/lib/syslog/cpp",
"//src/lib/fxl/test:gtest_main",
"//zircon/system/ulib/async-loop:async-loop",
]
}
fuchsia_unittest_package("fake-battery-driver-tests") {
deps = [ ":cpp_test" ]
}
test("driver_integration_test") {
sources = [ "integration_test.cc" ]
deps = [
"//sdk/fidl/fuchsia.driver.test:fuchsia.driver.test_cpp",
"//sdk/fidl/fuchsia.hardware.powersource:fuchsia.hardware.powersource_cpp",
"//sdk/fidl/fuchsia.hardware.powersource.test:fuchsia.hardware.powersource.test_cpp",
"//sdk/fidl/fuchsia.power.battery:fuchsia.power.battery_cpp",
"//sdk/lib/component/incoming/cpp",
"//sdk/lib/device-watcher/cpp",
"//sdk/lib/driver_test_realm/realm_builder/cpp",
"//sdk/lib/syslog/cpp",
"//src/lib/fxl/test:gtest_main",
"//src/lib/testing/loop_fixture",
]
}
fuchsia_unittest_package("integration_tests") {
package_name = "fake_battery_ingration_test"
deps = [
# Test component.
":driver_integration_test",
# Driver(s) to be tested.
":fake_battery_component",
# Include the platform bus (if driver binds to it)
"//src/devices/bus/drivers/platform:platform-bus",
]
}
group("tests") {
testonly = true
deps = [
":fake-battery-driver-tests",
":integration_tests",
]
}