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