blob: 173510caf2db312b65b6ecff02544ce1b5ece01b [file] [log] [blame]
# Copyright 2021 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/fidl/fidl.gni")
import("//build/test.gni")
group("transport") {
testonly = true
deps = [ ":fidl_driver_transport_tests" ]
}
fidl("test.transport") {
testonly = true
sources = [ "transport.test.fidl" ]
public_deps = [
"//sdk/fidl/fdf",
"//zircon/vdso/zx",
]
contains_drivers = true
excluded_checks = [ "vector-bounds-not-specified" ]
}
source_set("fidl_driver_transport_testing_lib") {
public = [
"assert_peer_closed_helper.h",
"scoped_fake_driver.h",
"server_on_unbound_helper.h",
]
sources = [ "assert_peer_closed_helper.cc" ]
public_deps = [ "//sdk/lib/driver/runtime:driver_runtime_env" ]
deps = [
"//sdk/lib/driver/runtime:driver_runtime_testing",
"//sdk/lib/fidl_driver",
"//sdk/lib/fit",
"//zircon/system/ulib/sync:sync-cpp",
"//zircon/system/ulib/zxtest",
]
}
test_names = [
"client_test",
"natural_async_driver_transport_end_test",
"natural_async_fdf_channel_test",
"natural_async_two_way_test",
"natural_async_zircon_handle_test",
"natural_one_way_test",
"natural_unknown_interactions_driver_test",
"server_test",
"wire_async_driver_transport_end_test",
"wire_async_two_way_empty_test",
"wire_async_two_way_test",
"wire_async_zircon_handle_test",
"wire_one_way_test",
"wire_send_event_test",
"wire_sync_fdf_channel_test",
"wire_sync_two_way_test",
"wire_sync_zircon_handle_test",
"wire_unknown_interactions_driver_test",
]
foreach(test_name, test_names) {
test("fidl_driver_" + test_name + "_bin") {
sources = [ test_name + ".cc" ]
deps = [
":fidl_driver_transport_testing_lib",
":test.transport_cpp",
"//sdk/lib/async:async-cpp",
"//sdk/lib/async-loop:async-loop-cpp",
"//sdk/lib/async-loop:async-loop-default",
"//sdk/lib/driver/runtime:driver_runtime_testing",
"//sdk/lib/driver/runtime/testing/cpp",
"//sdk/lib/fidl_driver",
"//sdk/lib/fidl_driver:fidl_driver_natural",
"//sdk/testing/fidl/protocols_tests:test.unknown.interactions_cpp",
"//src/devices/bin/driver_runtime",
"//src/devices/testing/driver-runtime-main:zxtest",
"//zircon/system/ulib/sync:sync-cpp",
"//zircon/system/ulib/zxtest",
]
}
fuchsia_unittest_component("fidl_driver_" + test_name) {
deps = [ ":fidl_driver_" + test_name + "_bin" ]
}
}
# This test uses gtest in order to exercise death conditions.
test("fidl_driver_api_test_bin") {
sources = [
"api_test.cc",
"api_test_helper.h",
"server_binding_group_test.cc",
"server_binding_test.cc",
]
deps = [
":fidl_driver_transport_testing_lib",
":test.transport_cpp",
"//sdk/lib/async:async-cpp",
"//sdk/lib/async_patterns/testing/cpp",
"//sdk/lib/driver/runtime:driver_runtime_testing",
"//sdk/lib/driver/runtime/testing/cpp",
"//sdk/lib/fidl_driver",
"//sdk/lib/fidl_driver:fidl_driver_natural",
"//sdk/testing/fidl/protocols_tests:test.unknown.interactions_cpp",
"//src/devices/bin/driver_runtime:driver_runtime_impl",
"//src/devices/testing/driver-runtime-main:gtest",
"//src/lib/testing/predicates",
"//third_party/googletest:gtest",
"//zircon/system/ulib/sync:sync-cpp",
]
}
fuchsia_unittest_component("fidl_driver_api_test") {
# Use `fuchsia.process.Launcher` for death tests
manifest = "meta/fidl_driver_api_test.cml"
deps = [ ":fidl_driver_api_test_bin" ]
}
fuchsia_test_package("fidl_driver_transport_tests") {
test_components = []
foreach(test_name, test_names) {
test_components += [ ":fidl_driver_" + test_name ]
}
test_components += [ ":fidl_driver_api_test" ]
}