blob: 8539cb634b81aa5c6a79ac7e6242f349cf5e3c3d [file] [log] [blame]
# Copyright 2017 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/fuzzing/fuzzer.gni")
import("//src/connectivity/bluetooth/core/bt-host/build/bt_gtest_package.gni")
# Basic target with protocol definitions and no logic, suitable for test
# emulation.
source_set("definitions") {
sources = [
"hci_defs.h",
"status.cc",
"status.h",
]
public_deps = [
"//src/connectivity/bluetooth/core/bt-host/common",
"//src/connectivity/bluetooth/core/bt-host/hci-spec",
]
}
static_library("hci") {
sources = [
"acl_data_channel.cc",
"acl_data_channel.h",
"acl_data_packet.cc",
"acl_data_packet.h",
"advertising_report_parser.cc",
"advertising_report_parser.h",
"bredr_connection_request.cc",
"bredr_connection_request.h",
"command_channel.cc",
"command_channel.h",
"command_handler.h",
"connection.cc",
"connection.h",
"control_packets.cc",
"control_packets.h",
"device_wrapper.cc",
"device_wrapper.h",
"legacy_low_energy_advertiser.cc",
"legacy_low_energy_advertiser.h",
"legacy_low_energy_scanner.cc",
"legacy_low_energy_scanner.h",
"local_address_delegate.h",
"low_energy_advertiser.h",
"low_energy_connector.cc",
"low_energy_connector.h",
"low_energy_scanner.cc",
"low_energy_scanner.h",
"packet.h",
"sequential_command_runner.cc",
"sequential_command_runner.h",
"slab_allocators.h",
"transport.cc",
"transport.h",
]
public_deps = [
":definitions",
"//sdk/banjo/fuchsia.hardware.bt.hci",
"//sdk/banjo/fuchsia.hardware.bt.vendor",
"//sdk/fidl/fuchsia.hardware.bluetooth:fuchsia.hardware.bluetooth_c",
"//sdk/fidl/fuchsia.hardware.bluetooth:fuchsia.hardware.bluetooth_c_client",
"//sdk/lib/fdio",
"//sdk/lib/fit",
"//sdk/lib/fit-promise",
"//src/lib/ddk",
"//src/lib/files",
"//src/lib/fxl",
"//zircon/public/lib/fbl",
"//zircon/system/ulib/async-loop:async-loop-cpp",
"//zircon/system/ulib/async-loop:async-loop-default",
"//zircon/system/ulib/fzl",
"//zircon/system/ulib/trace:trace-driver",
]
}
source_set("testing") {
testonly = true
sources = [
"fake_connection.cc",
"fake_connection.h",
"fake_local_address_delegate.cc",
"fake_local_address_delegate.h",
"mock_acl_data_channel.h",
]
public_deps = [ ":hci" ]
deps = [ "//src/lib/fxl" ]
}
source_set("tests") {
testonly = true
sources = [
"acl_data_channel_unittest.cc",
"advertising_report_parser_unittest.cc",
"command_channel_unittest.cc",
"command_handler_unittest.cc",
"connection_unittest.cc",
"device_wrapper_unittest.cc",
"legacy_low_energy_advertiser_unittest.cc",
"legacy_low_energy_scanner_unittest.cc",
"low_energy_connector_unittest.cc",
"packet_unittest.cc",
"sequential_command_runner_unittest.cc",
"slab_allocators_unittest.cc",
"status_unittest.cc",
"transport_unittest.cc",
]
deps = [
":testing",
"//src/connectivity/bluetooth/core/bt-host/testing",
"//third_party/googletest:gtest",
]
}
bt_gtest_package("bt-host-hci-tests") {
with_death_tests = true
deps = [ ":tests" ]
}
fuzzer("read_acl_data_packet_fuzzer") {
sources = [ "acl_data_channel_read_acl_data_packet_fuzztest.cc" ]
deps = [
":testing",
"//src/connectivity/bluetooth/core/bt-host/testing",
"//src/connectivity/bluetooth/core/bt-host/testing:fuzztest_driver",
]
}
fuzzer("read_command_event_packet_fuzzer") {
sources = [ "command_channel_read_event_packet_fuzztest.cc" ]
deps = [
":testing",
"//src/connectivity/bluetooth/core/bt-host/testing",
"//src/connectivity/bluetooth/core/bt-host/testing:fuzztest_driver",
]
}