blob: 2981d9ae1bbd1e46b35e516733ddd6c3a49fe744 [file] [log] [blame]
Avi Drissman0db84842022-09-13 19:47:041# Copyright 2015 The Chromium Authors
tfarinacdc7e5d2015-02-23 09:52:242# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//build/config/features.gni")
Scott Violetc8240b02018-03-08 22:03:596import("//device/vr/buildflags/buildflags.gni")
tfarinacdc7e5d2015-02-23 09:52:247import("//testing/test.gni")
8
scheib56010cc2015-06-25 01:29:479if (is_android) {
mcasas649deb52017-04-28 01:55:5210 import("//build/config/android/config.gni")
Sam Maier2cb3f6d2023-09-08 14:50:2011 import("//build/config/android/rules.gni")
12 import("//third_party/jni_zero/jni_zero.gni")
scheib56010cc2015-06-25 01:29:4713}
14
erikchenceb2fff2015-04-27 17:50:5415if (is_mac) {
16 import("//build/config/mac/mac_sdk.gni")
17}
18
Sean McAllister224ef732020-08-04 17:27:5519is_linux_without_udev = (is_linux || is_chromeos) && !use_udev
scheib7a4cf042015-03-31 04:33:4420
tfarinacdc7e5d2015-02-23 09:52:2421test("device_unittests") {
22 sources = [
alexis.menardb39a30822016-09-30 15:14:3923 "base/synchronization/one_writer_seqlock_unittest.cc",
Julie Jeongeun Kimcc191202023-03-08 03:43:4024 "bluetooth/adapter_unittest.cc",
25 "bluetooth/advertisement_unittest.cc",
26 "bluetooth/bluetooth_adapter_unittest.cc",
27 "bluetooth/bluetooth_advertisement_unittest.cc",
28 "bluetooth/bluetooth_device_unittest.cc",
29 "bluetooth/bluetooth_discovery_filter_unittest.cc",
30 "bluetooth/bluetooth_local_gatt_characteristic_unittest.cc",
31 "bluetooth/bluetooth_local_gatt_descriptor_unittest.cc",
Julie Jeongeun Kimcc191202023-03-08 03:43:4032 "bluetooth/bluetooth_remote_gatt_characteristic_unittest.cc",
33 "bluetooth/bluetooth_remote_gatt_descriptor_unittest.cc",
34 "bluetooth/bluetooth_remote_gatt_service_unittest.cc",
35 "bluetooth/device_unittest.cc",
Juliet Levesque6e611a82024-03-05 23:28:3036 "bluetooth/gatt_service_unittest.cc",
Julie Jeongeun Kimcc191202023-03-08 03:43:4037 "bluetooth/public/cpp/bluetooth_uuid_unittest.cc",
38 "bluetooth/server_socket_unittest.cc",
39 "bluetooth/socket_unittest.cc",
40 "bluetooth/string_util_icu_unittest.cc",
41 "bluetooth/test/bluetooth_gatt_server_test.cc",
42 "bluetooth/test/bluetooth_gatt_server_test.h",
43 "bluetooth/test/bluetooth_test.cc",
44 "bluetooth/test/bluetooth_test.h",
45 "bluetooth/test/mock_pairing_delegate.cc",
46 "bluetooth/test/mock_pairing_delegate.h",
47 "bluetooth/test/test_bluetooth_adapter_observer.cc",
48 "bluetooth/test/test_bluetooth_adapter_observer.h",
49 "bluetooth/test/test_bluetooth_advertisement_observer.cc",
50 "bluetooth/test/test_bluetooth_advertisement_observer.h",
51 "bluetooth/test/test_bluetooth_local_gatt_service_delegate.cc",
52 "bluetooth/test/test_bluetooth_local_gatt_service_delegate.h",
Matt Reynolds7c498e52017-12-06 22:06:2453 "gamepad/abstract_haptic_gamepad_unittest.cc",
Matt Reynoldscdb73c32019-08-23 00:46:2954 "gamepad/dualshock4_controller_unittest.cc",
Matt Reynolds96bd76a2019-06-12 21:15:1655 "gamepad/gamepad_blocklist_unittest.cc",
Matt Reynolds054d99b2018-12-06 02:40:2456 "gamepad/gamepad_id_list_unittest.cc",
bajonesb9bb4c42016-07-07 00:10:5157 "gamepad/gamepad_provider_unittest.cc",
ke.hebee6a642016-12-10 01:56:1958 "gamepad/gamepad_service_unittest.cc",
Matt Reynolds27a13de2019-08-20 21:03:3359 "gamepad/hid_haptic_gamepad_unittest.cc",
Oksana Zhuravlova96b546c2018-08-08 19:01:3360 "gamepad/public/cpp/gamepad_mojom_traits_unittest.cc",
Matt Reynolds5fcd224792019-08-29 21:24:0161 "gamepad/xbox_hid_controller_unittest.cc",
tfarinacdc7e5d2015-02-23 09:52:2462 "test/run_all_unittests.cc",
tfarinacdc7e5d2015-02-23 09:52:2463 ]
64
Julie Jeongeun Kimcc191202023-03-08 03:43:4065 if (is_apple) {
Julie Jeongeun Kim0c67cfe2023-03-07 03:40:5466 sources += [
Julie Jeongeun Kimcc191202023-03-08 03:43:4067 "bluetooth/bluetooth_low_energy_adapter_apple_unittest.mm",
Sylvain Defresne72188072020-10-05 11:54:4168 "bluetooth/bluetooth_low_energy_advertisement_manager_mac_unittest.mm",
69 "bluetooth/test/bluetooth_test_mac.h",
70 "bluetooth/test/bluetooth_test_mac.mm",
71 "bluetooth/test/mock_bluetooth_cbcharacteristic_mac.h",
72 "bluetooth/test/mock_bluetooth_cbcharacteristic_mac.mm",
73 "bluetooth/test/mock_bluetooth_cbdescriptor_mac.h",
74 "bluetooth/test/mock_bluetooth_cbdescriptor_mac.mm",
75 "bluetooth/test/mock_bluetooth_cbperipheral_mac.h",
76 "bluetooth/test/mock_bluetooth_cbperipheral_mac.mm",
77 "bluetooth/test/mock_bluetooth_cbservice_mac.h",
78 "bluetooth/test/mock_bluetooth_cbservice_mac.mm",
79 "bluetooth/test/mock_bluetooth_central_manager_mac.h",
80 "bluetooth/test/mock_bluetooth_central_manager_mac.mm",
81 ]
82 }
83
Julie Jeongeun Kimcc191202023-03-08 03:43:4084 if (is_mac) {
Jack Hsieh7b9d3e62024-06-07 23:30:1785 sources += [
86 "bluetooth/bluetooth_adapter_mac_unittest.mm",
87 "bluetooth/bluetooth_classic_device_mac_unittest.mm",
88 ]
Julie Jeongeun Kimcc191202023-03-08 03:43:4089 }
90
Sylvain Defresne72188072020-10-05 11:54:4191 if (is_android) {
92 sources += [
93 "bluetooth/bluetooth_adapter_android_unittest.cc",
Garfield Tan483b244f2025-03-21 21:31:4394 "bluetooth/bluetooth_socket_android_unittest.cc",
Garfield Tanae55e6322024-11-18 18:33:5695 "bluetooth/test/bluetooth_scanner_callback.cc",
96 "bluetooth/test/bluetooth_scanner_callback.h",
Sylvain Defresne72188072020-10-05 11:54:4197 "bluetooth/test/bluetooth_test_android.cc",
98 "bluetooth/test/bluetooth_test_android.h",
99 ]
100 }
101
102 if (is_win) {
103 sources += [
104 "bluetooth/bluetooth_adapter_win_unittest.cc",
105 "bluetooth/bluetooth_device_win_unittest.cc",
Sylvain Defresne72188072020-10-05 11:54:41106 "bluetooth/bluetooth_service_record_win_unittest.cc",
107 "bluetooth/bluetooth_task_manager_win_unittest.cc",
108 "bluetooth/test/bluetooth_test_win.cc",
109 "bluetooth/test/bluetooth_test_win.h",
Qiaofei Ye5a02f892021-02-05 01:49:15110 "gamepad/wgi_data_fetcher_win_unittest.cc",
Sylvain Defresne72188072020-10-05 11:54:41111 ]
112 }
113
Scott Grahambf77d352018-10-25 17:50:54114 if (is_fuchsia) {
115 sources += [
116 "bluetooth/test/bluetooth_test_fuchsia.cc",
117 "bluetooth/test/bluetooth_test_fuchsia.h",
118 ]
119 }
120
tfarinacdc7e5d2015-02-23 09:52:24121 deps = [
Ovidio Henriquez21095442019-03-06 18:22:55122 "//base",
tfarinacdc7e5d2015-02-23 09:52:24123 "//base/test:test_support",
Jun Choi3545f502018-03-14 01:30:00124 "//components/apdu",
Kim Paulhamus35995bb62018-01-05 11:47:04125 "//components/cbor",
Donna Wu4dc9df32019-05-20 03:56:21126 "//components/device_event_log",
Longbo Wei6d5e07f2024-06-17 17:17:56127 "//components/prefs:test_support",
Nina Satragno6eb69362024-02-12 23:30:36128 "//crypto:test_support",
Donna Wu4dc9df32019-05-20 03:56:21129 "//device/base",
alexis.menardb39a30822016-09-30 15:14:39130 "//device/base/synchronization",
Julie Jeongeun Kimcc191202023-03-08 03:43:40131 "//device/bluetooth",
132 "//device/bluetooth:deprecated_experimental_mojo",
133 "//device/bluetooth:fake_bluetooth",
134 "//device/bluetooth:mocks",
Juliet Levesque4ffba5d2024-03-07 23:09:22135 "//device/bluetooth/public/mojom:deprecated_experimental_interfaces",
bajonesb9bb4c42016-07-07 00:10:51136 "//device/gamepad",
137 "//device/gamepad:test_helpers",
juncai2f298a82017-04-18 03:51:39138 "//device/gamepad/public/cpp:shared_with_blink",
James Hollyer24f30cb722021-06-18 21:22:24139 "//device/gamepad/public/cpp:switches",
Reilly Grantfa93b142018-02-01 02:13:48140 "//device/gamepad/public/mojom",
Ken Rockot9b26bc52018-07-04 19:57:49141 "//mojo/core/embedder",
rockot85dce0862015-11-13 01:33:59142 "//mojo/public/cpp/bindings",
Oksana Zhuravlova96b546c2018-08-08 19:01:33143 "//mojo/public/cpp/test_support:test_utils",
tfarinacdc7e5d2015-02-23 09:52:24144 "//net",
145 "//testing/gmock",
146 "//testing/gtest",
Nathaniel Manistaca9287e72024-04-02 15:40:57147 "//third_party/abseil-cpp:absl",
Blink Reformata30d4232018-04-07 15:31:06148 "//third_party/blink/public:blink_headers",
Ovidio Henriquez21095442019-03-06 18:22:55149 "//ui/base",
tfarinacdc7e5d2015-02-23 09:52:24150 "//url",
151 ]
152
Ovidio Henriquez21095442019-03-06 18:22:55153 data_deps = [
Julie Jeongeun Kimcc191202023-03-08 03:43:40154 "bluetooth/strings:bluetooth_test_strings",
Haiyang Pan1c813ca2021-11-24 18:52:16155 "//testing/buildbot/filters:device_unittests_filters",
Ovidio Henriquez21095442019-03-06 18:22:55156 "//ui/resources:ui_test_pak_data",
157 ]
158
Renuga Nanjappana42eda422024-05-09 16:30:13159 if (is_android && enable_chrome_android_internal) {
160 data_deps += [ "//clank/build/bot/filters:device_unittests_filters" ]
161 }
162
Julie Jeongeun Kim0c67cfe2023-03-07 03:40:54163 if (!is_ios) {
Julie Jeongeun Kim0c67cfe2023-03-07 03:40:54164 deps += [
Julie Jeongeun Kim0c67cfe2023-03-07 03:40:54165 "//device/fido",
166 "//device/fido:test_support",
167 ]
Julie Jeongeun Kim0c67cfe2023-03-07 03:40:54168 }
169
Nina Satragno1867ead2020-06-15 18:38:13170 # Most of the FIDO implementation is not compiled in for Android.
Julie Jeongeun Kim0c67cfe2023-03-07 03:40:54171 if (!is_android && !is_ios) {
Nina Satragno1867ead2020-06-15 18:38:13172 sources += [
173 "fido/attestation_statement_formats_unittest.cc",
Martin Kreichgauerdc572252020-10-16 17:46:10174 "fido/auth_token_requester_unittest.cc",
Nina Satragno1867ead2020-06-15 18:38:13175 "fido/bio/enrollment_handler_unittest.cc",
176 "fido/ble_adapter_manager_unittest.cc",
177 "fido/cable/fido_ble_connection_unittest.cc",
178 "fido/cable/fido_ble_frames_unittest.cc",
179 "fido/cable/fido_ble_transaction_unittest.cc",
180 "fido/cable/fido_cable_device_unittest.cc",
181 "fido/cable/fido_cable_discovery_unittest.cc",
182 "fido/cable/fido_cable_handshake_handler_unittest.cc",
183 "fido/cable/v2_handshake_unittest.cc",
184 "fido/cbor_extract_unittest.cc",
185 "fido/credential_management_handler_unittest.cc",
186 "fido/ctap_request_unittest.cc",
187 "fido/ctap_response_unittest.cc",
Adam Langley91083102025-01-06 23:35:33188 "fido/enclave/attestation_unittest.cc",
Ken Buchanan414814902023-11-28 21:15:18189 "fido/enclave/enclave_protocol_utils_unittest.cc",
Nina Satragno1867ead2020-06-15 18:38:13190 "fido/fake_fido_discovery_unittest.cc",
Nina Satragno395c0fb2020-09-14 22:30:07191 "fido/fido_device_authenticator_unittest.cc",
Nina Satragno1867ead2020-06-15 18:38:13192 "fido/fido_device_discovery_unittest.cc",
Nina Satragno80fb0f12024-11-07 22:57:09193 "fido/fido_discovery_factory_unittest.cc",
Nina Satragno1867ead2020-06-15 18:38:13194 "fido/fido_parsing_utils_unittest.cc",
195 "fido/fido_request_handler_unittest.cc",
Adam Langley051b97932021-01-11 19:11:23196 "fido/filter_unittest.cc",
Nina Satragno1867ead2020-06-15 18:38:13197 "fido/get_assertion_handler_unittest.cc",
198 "fido/get_assertion_task_unittest.cc",
199 "fido/hid/fido_hid_message_unittest.cc",
Nina Satragno395c0fb2020-09-14 22:30:07200 "fido/large_blob_unittest.cc",
Nina Satragno1867ead2020-06-15 18:38:13201 "fido/make_credential_handler_unittest.cc",
202 "fido/make_credential_task_unittest.cc",
Martin Kreichgauer0787dc32020-10-05 17:44:11203 "fido/pin_unittest.cc",
Nina Satragno1867ead2020-06-15 18:38:13204 "fido/u2f_command_constructor_unittest.cc",
205 "fido/u2f_register_operation_unittest.cc",
206 "fido/u2f_sign_operation_unittest.cc",
207 "fido/virtual_ctap2_device_unittest.cc",
Nina Satragnob4edd6762022-05-16 20:51:47208 "fido/virtual_fido_device_authenticator_unittest.cc",
Nina Satragno1867ead2020-06-15 18:38:13209 "fido/virtual_u2f_device_unittest.cc",
Nina Satragno1867ead2020-06-15 18:38:13210 ]
211
Nina Satragno7f33f9b2023-01-31 22:09:03212 deps += [
Ken Buchanan414814902023-11-28 21:15:18213 "//components/sync/protocol:protocol",
Nina Satragno7f33f9b2023-01-31 22:09:03214 "//device/fido:mocks",
215 "//services/data_decoder/public/cpp:test_support",
216 ]
Martin Kreichgauer108eb102022-06-29 23:08:41217
218 if (is_mac) {
219 data_deps += [ "fido/strings:fido_test_strings" ]
220 }
Nina Satragno1867ead2020-06-15 18:38:13221 }
222
Sylvain Defresne72188072020-10-05 11:54:41223 if (is_mac) {
224 sources += [
Avi Drissman36cfbd8d2023-06-13 19:37:25225 "fido/mac/authenticator_unittest.mm",
226 "fido/mac/browsing_data_deletion_unittest.mm",
Sylvain Defresne72188072020-10-05 11:54:41227 "fido/mac/credential_metadata_unittest.cc",
Avi Drissman36cfbd8d2023-06-13 19:37:25228 "fido/mac/credential_store_unittest.mm",
229 "fido/mac/get_assertion_operation_unittest_mac.mm",
230 "fido/mac/icloud_keychain_unittest.mm",
231 "fido/mac/make_credential_operation_unittest_mac.mm",
Sylvain Defresne72188072020-10-05 11:54:41232 "fido/mac/util_unittest.cc",
233 ]
Nina Satragnoc04208c2024-04-24 17:59:45234 deps += [
235 "//components/trusted_vault",
236 "//device/fido:icloud_keychain_test_support",
237 ]
Sylvain Defresne72188072020-10-05 11:54:41238 }
239
240 if (is_win) {
Nina Satragno115ceadb2022-05-25 20:59:46241 sources += [
242 "fido/win/authenticator_unittest.cc",
243 "fido/win/type_conversions_unittest.cc",
244 ]
Sylvain Defresne72188072020-10-05 11:54:41245 }
246
Nina Satragno1867ead2020-06-15 18:38:13247 # FIDO HID:
scheibcfdca0e2015-04-01 05:27:58248 # Android doesn't compile.
scheib7a4cf042015-03-31 04:33:44249 # Linux, requires udev.
Julie Jeongeun Kim0c67cfe2023-03-07 03:40:54250 if (!is_linux_without_udev && !is_android && !is_ios) {
scheib7a4cf042015-03-31 04:33:44251 sources += [
Kim Paulhamus534308e2018-07-23 20:58:43252 "fido/hid/fido_hid_device_unittest.cc",
253 "fido/hid/fido_hid_discovery_unittest.cc",
scheib7a4cf042015-03-31 04:33:44254 ]
255 deps += [
jdoerrie3e747742018-02-05 16:04:16256 "//device/fido:test_support",
Matt Reynolds11d261c2022-07-22 23:42:48257 "//services/device/public/cpp:test_support",
scheib7a4cf042015-03-31 04:33:44258 ]
259 }
260
261 if (use_udev) {
Matt Reynoldsd4103e72020-05-07 21:33:50262 sources += [
263 "udev_linux/udev_unittest.cc",
264 "udev_linux/udev_watcher_unittest.cc",
265 ]
Zentaro Kavanagh8c7826f2020-04-30 22:11:03266 deps += [
267 "//device/udev_linux",
268 "//device/udev_linux:test_support",
269 ]
scheib7a4cf042015-03-31 04:33:44270 }
271
scheib56010cc2015-06-25 01:29:47272 if (is_android) {
agrieve97176362015-12-01 16:36:19273 deps += [
274 ":bluetooth_test_java",
275 ":bluetooth_test_jni_headers",
276 ]
scheib56010cc2015-06-25 01:29:47277 }
278
Nico Weberd73c90382022-03-30 20:37:50279 if (is_chromeos) {
Michael Hansen3d4544f2021-07-19 20:37:56280 sources += [
281 "bluetooth/bluetooth_low_energy_scan_filter_unittest.cc",
Theo Johnson-Kanue80a4f22021-07-21 15:59:45282 "bluetooth/chromeos/bluetooth_connection_logger_unittest.cc",
Michael Hansen3d4544f2021-07-19 20:37:56283 "bluetooth/chromeos/bluetooth_utils_unittest.cc",
284 ]
Georg Neis448e12c2025-02-07 03:26:53285 deps += [
286 "//ash/constants",
287 "//chromeos/ash/services/nearby/public/cpp/",
288 "//chromeos/ash/services/secure_channel/public/cpp/shared",
289 "//chromeos/constants",
290 ]
Ryan Hansberry27c9c582019-03-22 04:38:52291 }
292
dnicoara59acb3022015-12-17 18:13:16293 if ((is_chromeos || is_linux) && use_dbus) {
agrieve95ba4442016-04-25 15:47:13294 configs += [ "//build/config/linux/dbus" ]
rkc41077042015-11-06 07:20:58295
296 sources += [
Michael Hansend7b356d2022-03-10 22:42:45297 "bluetooth/bluez/bluetooth_adapter_bluez_unittest.cc",
rkc122239752016-04-20 23:59:08298 "bluetooth/bluez/bluetooth_adapter_profile_bluez_unittest.cc",
299 "bluetooth/bluez/bluetooth_advertisement_bluez_unittest.cc",
rkc122239752016-04-20 23:59:08300 "bluetooth/bluez/bluetooth_bluez_unittest.cc",
301 "bluetooth/bluez/bluetooth_gatt_bluez_unittest.cc",
rkc2ffd5612016-06-24 02:00:22302 "bluetooth/bluez/bluetooth_service_attribute_value_bluez_unittest.cc",
303 "bluetooth/bluez/bluetooth_service_record_bluez_unittest.cc",
rkc122239752016-04-20 23:59:08304 "bluetooth/bluez/bluetooth_socket_bluez_unittest.cc",
rkca7a149d2016-04-29 08:15:37305 "bluetooth/dbus/bluetooth_gatt_application_service_provider_unittest.cc",
Chris Mumford6627ae42021-05-03 18:54:40306 "bluetooth/dbus/bluetooth_gatt_characteristic_service_provider_unittest.cc",
Sonny Sasaka4840018f2021-10-19 20:31:06307 "bluetooth/floss/bluetooth_floss_unittest.cc",
Abhishek Pandit-Subedif88888a2022-10-19 16:29:48308 "bluetooth/floss/bluetooth_gatt_floss_unittest.cc",
Sarvesh Kalwitcd3f12d2024-04-09 01:49:12309 "bluetooth/floss/bluetooth_local_gatt_service_floss_unittest.cc",
Abhishek Pandit-Subedi7d053582022-08-20 05:15:29310 "bluetooth/floss/bluetooth_socket_floss_unittest.cc",
Sonny Sasaka54ac834a2022-08-09 19:59:11311 "bluetooth/floss/exported_callback_manager_unittest.cc",
Abhishek Pandit-Subedi61837982021-08-23 17:19:39312 "bluetooth/floss/floss_adapter_client_unittest.cc",
howardchungcc9f7702022-11-11 09:02:59313 "bluetooth/floss/floss_admin_client_unittest.cc",
John Laic3f3d5f2022-10-26 08:28:12314 "bluetooth/floss/floss_advertiser_client_unittest.cc",
Jesse Melhuishf9d0feb2022-11-03 01:25:26315 "bluetooth/floss/floss_battery_manager_client_unittest.cc",
WhaleChangfccdf2f42023-08-02 07:41:14316 "bluetooth/floss/floss_bluetooth_telephony_client_unittest.cc",
Sonny Sasakab0d8c3f32022-09-30 01:23:14317 "bluetooth/floss/floss_dbus_client_unittest.cc",
Yun-Hao Chungd20ee712023-10-04 05:11:49318 "bluetooth/floss/floss_dbus_manager_unittest.cc",
Sarveshc94e10db2023-01-31 22:05:58319 "bluetooth/floss/floss_gatt_manager_client_unittest.cc",
Katherine Lai579c4672022-09-09 19:22:30320 "bluetooth/floss/floss_lescan_client_unittest.cc",
Abhishek Pandit-Subedidf109c62021-08-18 19:30:55321 "bluetooth/floss/floss_manager_client_unittest.cc",
Abhishek Pandit-Subedi3cba9a5d2022-08-11 17:55:11322 "bluetooth/floss/floss_socket_manager_unittest.cc",
Ying Hsu0fd253f2023-10-16 18:10:56323 "bluetooth/floss/floss_version_unittest.cc",
rkc519a20c62016-04-16 23:18:07324 "bluetooth/test/bluetooth_test_bluez.cc",
325 "bluetooth/test/bluetooth_test_bluez.h",
rkc41077042015-11-06 07:20:58326 ]
327
Claudius van der Merwe0e6ac6162021-08-16 11:52:21328 deps += [
329 "//dbus",
330 "//dbus:test_support",
331 ]
James Hollyer976d3eea2019-10-02 06:21:09332
Nico Weberd73c90382022-03-30 20:37:50333 if (is_chromeos) {
Claudius van der Merwed844d9f2021-08-23 19:37:19334 sources += [
335 "bluetooth/dbus/bluetooth_advertisement_monitor_application_service_provider_unittest.cc",
336 "bluetooth/dbus/bluetooth_advertisement_monitor_service_provider_unittest.cc",
337 ]
James Hollyer976d3eea2019-10-02 06:21:09338 deps += [ "//services/data_decoder/public/mojom" ]
339 }
rkc41077042015-11-06 07:20:58340 }
341
Ryan Keane2a3aa8e92022-06-09 18:51:32342 if (is_castos) {
343 # Cast does not support GATT server mode.
344 sources -= [
345 "bluetooth/bluetooth_local_gatt_characteristic_unittest.cc",
346 "bluetooth/bluetooth_local_gatt_descriptor_unittest.cc",
Ryan Keane2a3aa8e92022-06-09 18:51:32347 ]
Stephen Lanhamccd5c252018-04-10 04:21:56348
Ryan Keane2a3aa8e92022-06-09 18:51:32349 sources += [
350 "bluetooth/cast/bluetooth_adapter_cast_unittest.cc",
351 "bluetooth/cast/bluetooth_utils_unittest.cc",
352 "bluetooth/test/bluetooth_test_cast.cc",
353 "bluetooth/test/bluetooth_test_cast.h",
354 ]
Stephen Lanhamccd5c252018-04-10 04:21:56355
Ryan Keane2a3aa8e92022-06-09 18:51:32356 deps += [
357 "//chromecast/device/bluetooth:util",
358 "//chromecast/device/bluetooth/le",
359 "//chromecast/device/bluetooth/le:test_support",
360 "//chromecast/device/bluetooth/shlib:mock_shlib",
361 ]
Pavel Kalinnikov9f6591002017-11-01 22:09:18362 }
363
Julie Jeongeun Kimcc191202023-03-08 03:43:40364 if (is_apple) {
krstnmnlsn332a71cf2015-07-17 18:59:58365 deps += [ "//third_party/ocmock" ]
366 ldflags = [ "-ObjC" ]
Robert Sesek95a026b2020-06-30 23:22:01367 frameworks = [
Robert Seseke55299452020-02-19 15:18:14368 "CoreBluetooth.framework",
Martin Kreichgauere11b8a992022-06-23 17:08:26369 "Foundation.framework",
Julie Jeongeun Kimcc191202023-03-08 03:43:40370 ]
371 }
372
373 if (is_mac) {
374 frameworks += [
375 "IOBluetooth.framework",
Julie Jeongeun Kim8bb1fedd2025-04-07 20:23:00376 "IOKit.framework",
Martin Kreichgauere11b8a992022-06-23 17:08:26377 "Security.framework",
Adam Langley0436ac22023-05-12 04:47:39378 "AuthenticationServices.framework",
rsesekdbb69c72016-05-11 17:26:35379 ]
tfarinacdc7e5d2015-02-23 09:52:24380 }
gogeraldcab31232016-02-03 21:20:33381
382 if (is_win) {
383 sources += [
gogeraldb8c706a2016-02-05 01:07:37384 "bluetooth/bluetooth_classic_win_fake.cc",
385 "bluetooth/bluetooth_classic_win_fake.h",
Jan Wilken Doerriecc0bd292018-05-14 12:28:28386 "bluetooth/test/fake_bluetooth_adapter_winrt.cc",
387 "bluetooth/test/fake_bluetooth_adapter_winrt.h",
Jan Wilken Doerriec75765a752018-07-20 11:36:18388 "bluetooth/test/fake_bluetooth_le_advertisement_data_section_winrt.cc",
389 "bluetooth/test/fake_bluetooth_le_advertisement_data_section_winrt.h",
Jan Wilken Doerrief397e842018-08-23 17:40:17390 "bluetooth/test/fake_bluetooth_le_advertisement_publisher_status_changed_event_args_winrt.cc",
391 "bluetooth/test/fake_bluetooth_le_advertisement_publisher_status_changed_event_args_winrt.h",
392 "bluetooth/test/fake_bluetooth_le_advertisement_publisher_winrt.cc",
393 "bluetooth/test/fake_bluetooth_le_advertisement_publisher_winrt.h",
Jan Wilken Dörried4dc7782018-06-04 09:38:13394 "bluetooth/test/fake_bluetooth_le_advertisement_received_event_args_winrt.cc",
395 "bluetooth/test/fake_bluetooth_le_advertisement_received_event_args_winrt.h",
396 "bluetooth/test/fake_bluetooth_le_advertisement_watcher_winrt.cc",
397 "bluetooth/test/fake_bluetooth_le_advertisement_watcher_winrt.h",
398 "bluetooth/test/fake_bluetooth_le_advertisement_winrt.cc",
399 "bluetooth/test/fake_bluetooth_le_advertisement_winrt.h",
Jan Wilken Doerried9b78b92018-06-18 17:35:43400 "bluetooth/test/fake_bluetooth_le_device_winrt.cc",
401 "bluetooth/test/fake_bluetooth_le_device_winrt.h",
Jan Wilken Doerriec75765a752018-07-20 11:36:18402 "bluetooth/test/fake_bluetooth_le_manufacturer_data_winrt.cc",
403 "bluetooth/test/fake_bluetooth_le_manufacturer_data_winrt.h",
Jan Wilken Doerrie7aa28512018-08-17 08:11:41404 "bluetooth/test/fake_device_information_custom_pairing_winrt.cc",
405 "bluetooth/test/fake_device_information_custom_pairing_winrt.h",
Jan Wilken Doerrie9092f832018-08-14 07:05:11406 "bluetooth/test/fake_device_information_pairing_winrt.cc",
407 "bluetooth/test/fake_device_information_pairing_winrt.h",
Jan Wilken Doerrie7c0e41dc2018-05-16 08:37:52408 "bluetooth/test/fake_device_information_winrt.cc",
409 "bluetooth/test/fake_device_information_winrt.h",
Jan Wilken Doerrie7aa28512018-08-17 08:11:41410 "bluetooth/test/fake_device_pairing_requested_event_args_winrt.cc",
411 "bluetooth/test/fake_device_pairing_requested_event_args_winrt.h",
412 "bluetooth/test/fake_device_pairing_result_winrt.cc",
413 "bluetooth/test/fake_device_pairing_result_winrt.h",
Jan Wilken Doerriebcd90ba2018-08-30 12:36:29414 "bluetooth/test/fake_device_watcher_winrt.cc",
415 "bluetooth/test/fake_device_watcher_winrt.h",
Jan Wilken Doerried66e0a92018-07-07 10:48:19416 "bluetooth/test/fake_gatt_characteristic_winrt.cc",
417 "bluetooth/test/fake_gatt_characteristic_winrt.h",
418 "bluetooth/test/fake_gatt_characteristics_result_winrt.cc",
419 "bluetooth/test/fake_gatt_characteristics_result_winrt.h",
Jan Wilken Doerrie2a3e6c92018-07-31 08:39:16420 "bluetooth/test/fake_gatt_descriptor_winrt.cc",
421 "bluetooth/test/fake_gatt_descriptor_winrt.h",
422 "bluetooth/test/fake_gatt_descriptors_result_winrt.cc",
423 "bluetooth/test/fake_gatt_descriptors_result_winrt.h",
Jan Wilken Doerried9b78b92018-06-18 17:35:43424 "bluetooth/test/fake_gatt_device_service_winrt.cc",
425 "bluetooth/test/fake_gatt_device_service_winrt.h",
426 "bluetooth/test/fake_gatt_device_services_result_winrt.cc",
427 "bluetooth/test/fake_gatt_device_services_result_winrt.h",
Jan Wilken Doerrie1bd49ee2018-07-30 10:59:00428 "bluetooth/test/fake_gatt_read_result_winrt.cc",
429 "bluetooth/test/fake_gatt_read_result_winrt.h",
Martin Kreichgauer3d6c10d2020-06-16 17:25:51430 "bluetooth/test/fake_gatt_session_winrt.cc",
431 "bluetooth/test/fake_gatt_session_winrt.h",
Jan Wilken Dörriee0029d12018-08-06 14:06:08432 "bluetooth/test/fake_gatt_value_changed_event_args_winrt.cc",
433 "bluetooth/test/fake_gatt_value_changed_event_args_winrt.h",
Jan Wilken Doerrief5b008c42018-08-01 08:12:56434 "bluetooth/test/fake_gatt_write_result_winrt.cc",
435 "bluetooth/test/fake_gatt_write_result_winrt.h",
Jan Wilken Dörriedc7c81c2018-06-12 07:34:38436 "bluetooth/test/fake_radio_winrt.cc",
437 "bluetooth/test/fake_radio_winrt.h",
gogeraldcab31232016-02-03 21:20:33438 ]
439 }
bajones7ab52ec32016-08-19 19:54:25440
Bill Orr1862b4f2018-05-10 17:56:45441 if (enable_vr) {
Michael Thiessen21e56152017-10-16 18:55:17442 sources += [
Anna Maria114d35052017-12-08 23:13:29443 "vr/orientation/orientation_device_provider_unittest.cc",
444 "vr/orientation/orientation_device_unittest.cc",
Bill Orrb35b4cd82019-03-05 00:13:39445 "vr/util/fps_meter_unittest.cc",
446 "vr/util/sliding_average_unittest.cc",
Alex Cooper93f1c752019-11-22 23:58:02447 "vr/util/stage_utils_unittest.cc",
Michael Thiessen21e56152017-10-16 18:55:17448 "vr/vr_device_base_unittest.cc",
Michael Thiessen21e56152017-10-16 18:55:17449 ]
bajones7ab52ec32016-08-19 19:54:25450
Alexander Cooper5f50a632024-10-30 01:30:44451 if (enable_openxr) {
452 sources += [ "vr/openxr/openxr_hand_utils_unittest.cc" ]
453 }
454
Bill Orr1862b4f2018-05-10 17:56:45455 defines = [ "DEVICE_VR_IMPLEMENTATION" ]
456
bajones7ab52ec32016-08-19 19:54:25457 deps += [
458 "//device/vr",
Alexander Cooper53e25812020-04-01 17:35:58459 "//device/vr:vr_fakes",
Alex Cooper51ea2f3c2021-02-18 03:51:26460 "//device/vr:vr_util",
Alexander Coopercb573b02020-04-21 22:16:35461 "//device/vr/orientation",
Rafael Cintron5b95b8d2020-11-04 01:58:10462 "//device/vr/public/mojom:isolated_xr_service",
Anna Maria114d35052017-12-08 23:13:29463 "//services/device/public/cpp/generic_sensor",
464 "//ui/display",
Roman Karasev72254172018-04-05 18:10:03465 "//ui/display:test_support",
bajones7ab52ec32016-08-19 19:54:25466 ]
467 }
Matt Reynoldsb37eb1292019-03-19 22:19:40468
469 # Some gamepad tests require the HID service. Only build these tests on
470 # platforms where the HID service is enabled.
Julie Jeongeun Kim0c67cfe2023-03-07 03:40:54471 if (!is_android && !is_fuchsia && !is_ios) {
Matt Reynoldsb37eb1292019-03-19 22:19:40472 sources += [ "gamepad/nintendo_data_fetcher_unittest.cc" ]
473
474 deps += [
475 "//services/device:test_support",
476 "//services/device/hid",
Matt Reynolds11d261c2022-07-22 23:42:48477 "//services/device/public/cpp:test_support",
Matt Reynoldsb37eb1292019-03-19 22:19:40478 ]
479 }
Martin Kreichgauerd15e7e42021-02-26 06:54:22480
Howard Yang72a1412b2022-04-13 00:16:02481 if (is_chromeos) {
Martin Kreichgauerd15e7e42021-02-26 06:54:22482 deps += [ "//chromeos/dbus/u2f" ]
483 }
tfarinacdc7e5d2015-02-23 09:52:24484}
scheib56010cc2015-06-25 01:29:47485
486if (is_android) {
Matt Reynolds7c498e52017-12-06 22:06:24487 bluetooth_java_sources_needing_jni = [
Garfield Tanae55e6322024-11-18 18:33:56488 "bluetooth/test/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothLeScannerTestUtil.java",
James Hollyerf8e00682019-11-20 02:11:21489 "bluetooth/test/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothScanFilter.java",
Garfield Tanae55e6322024-11-18 18:33:56490 "bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java",
Matt Reynolds7c498e52017-12-06 22:06:24491 ]
scheib56010cc2015-06-25 01:29:47492
493 generate_jni("bluetooth_test_jni_headers") {
Eric Stevenson4c4d6342019-10-04 20:02:47494 testonly = true
scheib56010cc2015-06-25 01:29:47495 sources = bluetooth_java_sources_needing_jni
scheib56010cc2015-06-25 01:29:47496 }
497
498 android_library("bluetooth_test_java") {
Shimi Zhang0d7b74af2018-02-08 17:28:02499 testonly = true
Andrew Grieveff870b02023-06-13 20:50:36500
Natalie Chouinard8b9cf7c2019-12-20 02:21:40501 sources = bluetooth_java_sources_needing_jni
scheib56010cc2015-06-25 01:29:47502 deps = [
503 "//base:base_java",
ortuno5966ddb2016-07-01 02:07:25504 "//components/location/android:location_java",
scheib56010cc2015-06-25 01:29:47505 "//device/bluetooth:java",
Peter Wen22bc3ec2019-03-28 22:18:02506 "//third_party/android_sdk:android_test_mock_java",
Peter Kotwicz04093722021-02-13 00:35:37507 "//third_party/androidx:androidx_annotation_annotation_java",
Sam Maier1fcc2d52023-10-17 18:34:53508 "//third_party/jni_zero:jni_zero_java",
scheib56010cc2015-06-25 01:29:47509 ]
ortunocc9b46d12016-08-25 16:47:23510
Andrew Grieveff870b02023-06-13 20:50:36511 srcjar_deps = [
512 ":bluetooth_test_javagen",
513 ":bluetooth_test_jni_headers",
514 ]
scheib56010cc2015-06-25 01:29:47515 }
bajonesb9bb4c42016-07-07 00:10:51516
Mohamed Heikalbf107d92022-06-24 20:42:00517 robolectric_binary("device_junit_tests") {
Matt Reynolds29cbad52021-03-19 23:37:55518 sources = [
519 "gamepad/android/junit/src/org/chromium/device/gamepad/GamepadDeviceTest.java",
520 "gamepad/android/junit/src/org/chromium/device/gamepad/GamepadMappingsTest.java",
utzcoz477e5a22025-03-05 17:46:51521 "vr/public/junit/src/org/chromium/device/vr/XrFeatureStatusTest.java",
Matt Reynolds29cbad52021-03-19 23:37:55522 ]
bajonesb9bb4c42016-07-07 00:10:51523 deps = [
mcasas649deb52017-04-28 01:55:52524 "$google_play_services_package:google_play_services_base_java",
525 "$google_play_services_package:google_play_services_basement_java",
526 "$google_play_services_package:google_play_services_location_java",
utzcoz477e5a22025-03-05 17:46:51527 "//base:base_java",
bajonesb9bb4c42016-07-07 00:10:51528 "//base:base_java_test_support",
Andrew Grieve916bc9b2018-02-02 01:38:59529 "//base:base_junit_test_support",
bajonesb9bb4c42016-07-07 00:10:51530 "//device/gamepad:java",
utzcoz477e5a22025-03-05 17:46:51531 "//device/vr/public:java",
alexander.shalamov55ac6a4c2016-11-30 09:04:17532 "//mojo/public/java:bindings_java",
Peter Kotwicz04093722021-02-13 00:35:37533 "//third_party/androidx:androidx_annotation_annotation_java",
Andrew Walbrand8f55c92020-07-01 17:09:03534 "//third_party/hamcrest:hamcrest_java",
bajonesb9bb4c42016-07-07 00:10:51535 ]
536 srcjar_deps = [ "//device/gamepad:java_enums_srcjar" ]
537 }
ortunocc9b46d12016-08-25 16:47:23538
539 java_cpp_enum("bluetooth_test_javagen") {
Nico Weberb355af2e2020-01-14 03:27:58540 sources = [ "bluetooth/test/bluetooth_test.h" ]
ortunocc9b46d12016-08-25 16:47:23541 }
scheib56010cc2015-06-25 01:29:47542}