| # 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/components.gni") |
| import("//build/dist/resource.gni") |
| import("//build/test.gni") |
| import("//build/testing/cc_test_executable.gni") |
| |
| group("tests") { |
| testonly = true |
| deps = [ |
| ":playback_integration_test", |
| ":serialization_unittest", |
| ] |
| } |
| |
| source_set("playback_config_validation") { |
| sources = [ |
| "playback_config_validation.cc", |
| "playback_config_validation.h", |
| ] |
| |
| public_deps = |
| [ "//sdk/fidl/fuchsia.hardware.sensors:fuchsia.hardware.sensors_cpp" ] |
| } |
| |
| source_set("serialization") { |
| sources = [ |
| "proto_conversion.cc", |
| "proto_conversion.h", |
| "serialization.cc", |
| "serialization.h", |
| ] |
| |
| deps = [ "//src/sensors/playback/proto:dataset_proto" ] |
| |
| public_deps = [ |
| "//sdk/fidl/fuchsia.hardware.sensors:fuchsia.hardware.sensors_cpp", |
| "//sdk/lib/fdio", |
| "//sdk/lib/fit", |
| "//sdk/lib/fit-promise", |
| "//sdk/lib/syslog/cpp", |
| "//third_party/protobuf:protobuf_full", |
| "//zircon/system/ulib/zx", |
| ] |
| } |
| |
| test("serialization_test") { |
| sources = [ "serialization_unittest.cc" ] |
| deps = [ |
| ":serialization", |
| "//src/lib/fxl/test:gtest_main", |
| "//src/sys/test_runners:tmp_storage", |
| "//third_party/googletest:gtest", |
| "//third_party/protobuf:protobuf_full", |
| ] |
| } |
| |
| fuchsia_unittest_package("serialization_unittest") { |
| test_specs = { |
| log_settings = { |
| max_severity = "ERROR" |
| } |
| } |
| deps = [ ":serialization_test" ] |
| } |
| |
| source_set("file_reader") { |
| sources = [ |
| "file_reader.cc", |
| "file_reader.h", |
| ] |
| |
| deps = [ ":serialization" ] |
| |
| public_deps = [ |
| "//sdk/fidl/fuchsia.hardware.sensors:fuchsia.hardware.sensors_cpp", |
| "//sdk/lib/async:async-cpp", |
| "//sdk/lib/async-loop:async-loop-cpp", |
| "//sdk/lib/async-loop:async-loop-default", |
| "//sdk/lib/fdio", |
| "//sdk/lib/fit", |
| "//sdk/lib/fit-promise", |
| "//sdk/lib/syslog/cpp", |
| "//src/camera/lib/actor:actor_base", |
| "//zircon/system/ulib/zx", |
| ] |
| } |
| |
| source_set("playback_controller") { |
| sources = [ |
| "playback_controller.cc", |
| "playback_controller.h", |
| ] |
| |
| deps = [ |
| ":file_reader", |
| ":playback_config_validation", |
| ] |
| |
| public_deps = [ |
| "//sdk/fidl/fuchsia.hardware.sensors:fuchsia.hardware.sensors_cpp", |
| "//sdk/lib/async:async-cpp", |
| "//sdk/lib/async-loop:async-loop-cpp", |
| "//sdk/lib/async-loop:async-loop-default", |
| "//sdk/lib/fit", |
| "//sdk/lib/fit-promise", |
| "//sdk/lib/syslog/cpp", |
| "//src/camera/lib/actor:actor_base", |
| "//zircon/system/ulib/zx", |
| ] |
| } |
| |
| source_set("driver_impl") { |
| sources = [ |
| "driver_impl.cc", |
| "driver_impl.h", |
| ] |
| |
| deps = [ ":playback_controller" ] |
| |
| public_deps = [ |
| "//sdk/fidl/fuchsia.hardware.sensors:fuchsia.hardware.sensors_cpp", |
| "//sdk/lib/async:async-cpp", |
| "//sdk/lib/async-loop:async-loop-cpp", |
| "//sdk/lib/async-loop:async-loop-default", |
| "//sdk/lib/fit", |
| "//sdk/lib/fit-promise", |
| "//sdk/lib/syslog/cpp", |
| "//src/camera/lib/actor:actor_base", |
| "//zircon/system/ulib/zx", |
| ] |
| } |
| |
| source_set("playback_impl") { |
| sources = [ |
| "playback_impl.cc", |
| "playback_impl.h", |
| ] |
| |
| deps = [ ":playback_controller" ] |
| |
| public_deps = [ |
| "//sdk/fidl/fuchsia.hardware.sensors:fuchsia.hardware.sensors_cpp", |
| "//sdk/lib/async:async-cpp", |
| "//sdk/lib/async-loop:async-loop-cpp", |
| "//sdk/lib/async-loop:async-loop-default", |
| "//sdk/lib/fit", |
| "//sdk/lib/fit-promise", |
| "//sdk/lib/syslog/cpp", |
| "//src/camera/lib/actor:actor_base", |
| "//zircon/system/ulib/zx", |
| ] |
| } |
| |
| executable("sensors_playback_bin") { |
| sources = [ "main.cc" ] |
| |
| deps = [ |
| ":driver_impl", |
| ":playback_controller", |
| ":playback_impl", |
| "//sdk/lib/async:async-cpp", |
| "//sdk/lib/async-loop:async-loop-cpp", |
| "//sdk/lib/async-loop:async-loop-default", |
| "//sdk/lib/component/outgoing/cpp", |
| "//sdk/lib/syslog/cpp", |
| ] |
| } |
| |
| fuchsia_component("sensors_playback_component") { |
| component_name = "sensors_playback" |
| manifest = "meta/playback.cml" |
| deps = [ ":sensors_playback_bin" ] |
| } |
| |
| fuchsia_package("sensors_playback") { |
| deps = [ ":sensors_playback_component" ] |
| } |
| |
| resource("playback_integration_test_data") { |
| testonly = true |
| sources = [ "data/integration_test/accel_gyro_dataset" ] |
| outputs = [ "data/{{source_file_part}}" ] |
| } |
| |
| fuchsia_package("sensors_playback_with_test_data") { |
| testonly = true |
| deps = [ |
| ":playback_integration_test_data", |
| ":sensors_playback_component", |
| ] |
| } |
| |
| cc_test_executable("playback_integration_test_bin") { |
| testonly = true |
| sources = [ "playback_integration_test.cc" ] |
| deps = [ |
| ":serialization", |
| "//sdk/fidl/fuchsia.component:fuchsia.component_cpp", |
| "//sdk/fidl/fuchsia.component.sandbox:fuchsia.component.sandbox_cpp", |
| "//sdk/fidl/fuchsia.hardware.sensors:fuchsia.hardware.sensors_cpp", |
| "//sdk/lib/async-loop:async-loop-cpp", |
| "//sdk/lib/async-loop:async-loop-default", |
| "//sdk/lib/component/incoming/cpp", |
| "//sdk/lib/sys/cpp", |
| "//sdk/lib/sys/cpp/testing:unit", |
| "//sdk/lib/syslog/cpp", |
| "//src/lib/fxl/test:gtest_main", |
| "//src/sensors/playback/realm_factory/fidl:fuchsia.hardware.sensors.realm_cpp", |
| "//third_party/googletest:gtest", |
| "//zircon/system/ulib/zx", |
| ] |
| } |
| |
| fuchsia_component("playback_integration_test_driver_component") { |
| testonly = true |
| component_name = "playback_integration_test_driver" |
| manifest = "meta/playback_integration_test_driver.cml" |
| deps = [ ":playback_integration_test_bin" ] |
| } |
| |
| fuchsia_package("playback_integration_test_driver") { |
| package_name = "playback_integration_test_driver" |
| testonly = true |
| deps = [ ":playback_integration_test_driver_component" ] |
| } |
| |
| fuchsia_test_component("playback_integration_test_root_component") { |
| testonly = true |
| component_name = "playback_integration_test_root_component" |
| manifest = "meta/playback_integration_test_root.cml" |
| } |
| |
| fuchsia_test_package("playback_integration_test") { |
| test_components = [ ":playback_integration_test_root_component" ] |
| subpackages = [ |
| "//src/sensors/playback/realm_factory:sensors_playback_realm_factory", |
| ":playback_integration_test_driver", |
| ] |
| } |