blob: e3e6448638cc565338cf4012b2cf814d9708fede [file] [log] [blame]
# 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",
]
}