blob: 6e121af32dc7e23552a2785ef1a808d206c4d8bb [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 += [
Nina Satragnoc04208c2024-04-24 17:59:45225 "fido/enclave/icloud_recovery_key_mac_unittest.mm",
Avi Drissman36cfbd8d2023-06-13 19:37:25226 "fido/mac/authenticator_unittest.mm",
227 "fido/mac/browsing_data_deletion_unittest.mm",
Sylvain Defresne72188072020-10-05 11:54:41228 "fido/mac/credential_metadata_unittest.cc",
Avi Drissman36cfbd8d2023-06-13 19:37:25229 "fido/mac/credential_store_unittest.mm",
230 "fido/mac/get_assertion_operation_unittest_mac.mm",
231 "fido/mac/icloud_keychain_unittest.mm",
232 "fido/mac/make_credential_operation_unittest_mac.mm",
Sylvain Defresne72188072020-10-05 11:54:41233 "fido/mac/util_unittest.cc",
234 ]
Nina Satragnoc04208c2024-04-24 17:59:45235 deps += [
236 "//components/trusted_vault",
237 "//device/fido:icloud_keychain_test_support",
238 ]
Sylvain Defresne72188072020-10-05 11:54:41239 }
240
241 if (is_win) {
Nina Satragno115ceadb2022-05-25 20:59:46242 sources += [
243 "fido/win/authenticator_unittest.cc",
244 "fido/win/type_conversions_unittest.cc",
245 ]
Sylvain Defresne72188072020-10-05 11:54:41246 }
247
Nina Satragno1867ead2020-06-15 18:38:13248 # FIDO HID:
scheibcfdca0e2015-04-01 05:27:58249 # Android doesn't compile.
scheib7a4cf042015-03-31 04:33:44250 # Linux, requires udev.
Julie Jeongeun Kim0c67cfe2023-03-07 03:40:54251 if (!is_linux_without_udev && !is_android && !is_ios) {
scheib7a4cf042015-03-31 04:33:44252 sources += [
Kim Paulhamus534308e2018-07-23 20:58:43253 "fido/hid/fido_hid_device_unittest.cc",
254 "fido/hid/fido_hid_discovery_unittest.cc",
scheib7a4cf042015-03-31 04:33:44255 ]
256 deps += [
jdoerrie3e747742018-02-05 16:04:16257 "//device/fido:test_support",
Matt Reynolds11d261c2022-07-22 23:42:48258 "//services/device/public/cpp:test_support",
scheib7a4cf042015-03-31 04:33:44259 ]
260 }
261
262 if (use_udev) {
Matt Reynoldsd4103e72020-05-07 21:33:50263 sources += [
264 "udev_linux/udev_unittest.cc",
265 "udev_linux/udev_watcher_unittest.cc",
266 ]
Zentaro Kavanagh8c7826f2020-04-30 22:11:03267 deps += [
268 "//device/udev_linux",
269 "//device/udev_linux:test_support",
270 ]
scheib7a4cf042015-03-31 04:33:44271 }
272
scheib56010cc2015-06-25 01:29:47273 if (is_android) {
agrieve97176362015-12-01 16:36:19274 deps += [
275 ":bluetooth_test_java",
276 ":bluetooth_test_jni_headers",
277 ]
scheib56010cc2015-06-25 01:29:47278 }
279
Nico Weberd73c90382022-03-30 20:37:50280 if (is_chromeos) {
Michael Hansen3d4544f2021-07-19 20:37:56281 sources += [
282 "bluetooth/bluetooth_low_energy_scan_filter_unittest.cc",
Theo Johnson-Kanue80a4f22021-07-21 15:59:45283 "bluetooth/chromeos/bluetooth_connection_logger_unittest.cc",
Michael Hansen3d4544f2021-07-19 20:37:56284 "bluetooth/chromeos/bluetooth_utils_unittest.cc",
285 ]
Georg Neis448e12c2025-02-07 03:26:53286 deps += [
287 "//ash/constants",
288 "//chromeos/ash/services/nearby/public/cpp/",
289 "//chromeos/ash/services/secure_channel/public/cpp/shared",
290 "//chromeos/constants",
291 ]
Ryan Hansberry27c9c582019-03-22 04:38:52292 }
293
dnicoara59acb3022015-12-17 18:13:16294 if ((is_chromeos || is_linux) && use_dbus) {
agrieve95ba4442016-04-25 15:47:13295 configs += [ "//build/config/linux/dbus" ]
rkc41077042015-11-06 07:20:58296
297 sources += [
Michael Hansend7b356d2022-03-10 22:42:45298 "bluetooth/bluez/bluetooth_adapter_bluez_unittest.cc",
rkc122239752016-04-20 23:59:08299 "bluetooth/bluez/bluetooth_adapter_profile_bluez_unittest.cc",
300 "bluetooth/bluez/bluetooth_advertisement_bluez_unittest.cc",
rkc122239752016-04-20 23:59:08301 "bluetooth/bluez/bluetooth_bluez_unittest.cc",
302 "bluetooth/bluez/bluetooth_gatt_bluez_unittest.cc",
rkc2ffd5612016-06-24 02:00:22303 "bluetooth/bluez/bluetooth_service_attribute_value_bluez_unittest.cc",
304 "bluetooth/bluez/bluetooth_service_record_bluez_unittest.cc",
rkc122239752016-04-20 23:59:08305 "bluetooth/bluez/bluetooth_socket_bluez_unittest.cc",
rkca7a149d2016-04-29 08:15:37306 "bluetooth/dbus/bluetooth_gatt_application_service_provider_unittest.cc",
Chris Mumford6627ae42021-05-03 18:54:40307 "bluetooth/dbus/bluetooth_gatt_characteristic_service_provider_unittest.cc",
Sonny Sasaka4840018f2021-10-19 20:31:06308 "bluetooth/floss/bluetooth_floss_unittest.cc",
Abhishek Pandit-Subedif88888a2022-10-19 16:29:48309 "bluetooth/floss/bluetooth_gatt_floss_unittest.cc",
Sarvesh Kalwitcd3f12d2024-04-09 01:49:12310 "bluetooth/floss/bluetooth_local_gatt_service_floss_unittest.cc",
Abhishek Pandit-Subedi7d053582022-08-20 05:15:29311 "bluetooth/floss/bluetooth_socket_floss_unittest.cc",
Sonny Sasaka54ac834a2022-08-09 19:59:11312 "bluetooth/floss/exported_callback_manager_unittest.cc",
Abhishek Pandit-Subedi61837982021-08-23 17:19:39313 "bluetooth/floss/floss_adapter_client_unittest.cc",
howardchungcc9f7702022-11-11 09:02:59314 "bluetooth/floss/floss_admin_client_unittest.cc",
John Laic3f3d5f2022-10-26 08:28:12315 "bluetooth/floss/floss_advertiser_client_unittest.cc",
Jesse Melhuishf9d0feb2022-11-03 01:25:26316 "bluetooth/floss/floss_battery_manager_client_unittest.cc",
WhaleChangfccdf2f42023-08-02 07:41:14317 "bluetooth/floss/floss_bluetooth_telephony_client_unittest.cc",
Sonny Sasakab0d8c3f32022-09-30 01:23:14318 "bluetooth/floss/floss_dbus_client_unittest.cc",
Yun-Hao Chungd20ee712023-10-04 05:11:49319 "bluetooth/floss/floss_dbus_manager_unittest.cc",
Sarveshc94e10db2023-01-31 22:05:58320 "bluetooth/floss/floss_gatt_manager_client_unittest.cc",
Katherine Lai579c4672022-09-09 19:22:30321 "bluetooth/floss/floss_lescan_client_unittest.cc",
Abhishek Pandit-Subedidf109c62021-08-18 19:30:55322 "bluetooth/floss/floss_manager_client_unittest.cc",
Abhishek Pandit-Subedi3cba9a5d2022-08-11 17:55:11323 "bluetooth/floss/floss_socket_manager_unittest.cc",
Ying Hsu0fd253f2023-10-16 18:10:56324 "bluetooth/floss/floss_version_unittest.cc",
rkc519a20c62016-04-16 23:18:07325 "bluetooth/test/bluetooth_test_bluez.cc",
326 "bluetooth/test/bluetooth_test_bluez.h",
rkc41077042015-11-06 07:20:58327 ]
328
Claudius van der Merwe0e6ac6162021-08-16 11:52:21329 deps += [
330 "//dbus",
331 "//dbus:test_support",
332 ]
James Hollyer976d3eea2019-10-02 06:21:09333
Nico Weberd73c90382022-03-30 20:37:50334 if (is_chromeos) {
Claudius van der Merwed844d9f2021-08-23 19:37:19335 sources += [
336 "bluetooth/dbus/bluetooth_advertisement_monitor_application_service_provider_unittest.cc",
337 "bluetooth/dbus/bluetooth_advertisement_monitor_service_provider_unittest.cc",
338 ]
James Hollyer976d3eea2019-10-02 06:21:09339 deps += [ "//services/data_decoder/public/mojom" ]
340 }
rkc41077042015-11-06 07:20:58341 }
342
Ryan Keane2a3aa8e92022-06-09 18:51:32343 if (is_castos) {
344 # Cast does not support GATT server mode.
345 sources -= [
346 "bluetooth/bluetooth_local_gatt_characteristic_unittest.cc",
347 "bluetooth/bluetooth_local_gatt_descriptor_unittest.cc",
Ryan Keane2a3aa8e92022-06-09 18:51:32348 ]
Stephen Lanhamccd5c252018-04-10 04:21:56349
Ryan Keane2a3aa8e92022-06-09 18:51:32350 sources += [
351 "bluetooth/cast/bluetooth_adapter_cast_unittest.cc",
352 "bluetooth/cast/bluetooth_utils_unittest.cc",
353 "bluetooth/test/bluetooth_test_cast.cc",
354 "bluetooth/test/bluetooth_test_cast.h",
355 ]
Stephen Lanhamccd5c252018-04-10 04:21:56356
Ryan Keane2a3aa8e92022-06-09 18:51:32357 deps += [
358 "//chromecast/device/bluetooth:util",
359 "//chromecast/device/bluetooth/le",
360 "//chromecast/device/bluetooth/le:test_support",
361 "//chromecast/device/bluetooth/shlib:mock_shlib",
362 ]
Pavel Kalinnikov9f6591002017-11-01 22:09:18363 }
364
Julie Jeongeun Kimcc191202023-03-08 03:43:40365 if (is_apple) {
krstnmnlsn332a71cf2015-07-17 18:59:58366 deps += [ "//third_party/ocmock" ]
367 ldflags = [ "-ObjC" ]
Robert Sesek95a026b2020-06-30 23:22:01368 frameworks = [
Robert Seseke55299452020-02-19 15:18:14369 "CoreBluetooth.framework",
rsesekdbb69c72016-05-11 17:26:35370 "IOKit.framework",
Martin Kreichgauere11b8a992022-06-23 17:08:26371 "Foundation.framework",
Julie Jeongeun Kimcc191202023-03-08 03:43:40372 ]
373 }
374
375 if (is_mac) {
376 frameworks += [
377 "IOBluetooth.framework",
Martin Kreichgauere11b8a992022-06-23 17:08:26378 "Security.framework",
Adam Langley0436ac22023-05-12 04:47:39379 "AuthenticationServices.framework",
rsesekdbb69c72016-05-11 17:26:35380 ]
tfarinacdc7e5d2015-02-23 09:52:24381 }
gogeraldcab31232016-02-03 21:20:33382
383 if (is_win) {
384 sources += [
gogeraldb8c706a2016-02-05 01:07:37385 "bluetooth/bluetooth_classic_win_fake.cc",
386 "bluetooth/bluetooth_classic_win_fake.h",
Jan Wilken Doerriecc0bd292018-05-14 12:28:28387 "bluetooth/test/fake_bluetooth_adapter_winrt.cc",
388 "bluetooth/test/fake_bluetooth_adapter_winrt.h",
Jan Wilken Doerriec75765a752018-07-20 11:36:18389 "bluetooth/test/fake_bluetooth_le_advertisement_data_section_winrt.cc",
390 "bluetooth/test/fake_bluetooth_le_advertisement_data_section_winrt.h",
Jan Wilken Doerrief397e842018-08-23 17:40:17391 "bluetooth/test/fake_bluetooth_le_advertisement_publisher_status_changed_event_args_winrt.cc",
392 "bluetooth/test/fake_bluetooth_le_advertisement_publisher_status_changed_event_args_winrt.h",
393 "bluetooth/test/fake_bluetooth_le_advertisement_publisher_winrt.cc",
394 "bluetooth/test/fake_bluetooth_le_advertisement_publisher_winrt.h",
Jan Wilken Dörried4dc7782018-06-04 09:38:13395 "bluetooth/test/fake_bluetooth_le_advertisement_received_event_args_winrt.cc",
396 "bluetooth/test/fake_bluetooth_le_advertisement_received_event_args_winrt.h",
397 "bluetooth/test/fake_bluetooth_le_advertisement_watcher_winrt.cc",
398 "bluetooth/test/fake_bluetooth_le_advertisement_watcher_winrt.h",
399 "bluetooth/test/fake_bluetooth_le_advertisement_winrt.cc",
400 "bluetooth/test/fake_bluetooth_le_advertisement_winrt.h",
Jan Wilken Doerried9b78b92018-06-18 17:35:43401 "bluetooth/test/fake_bluetooth_le_device_winrt.cc",
402 "bluetooth/test/fake_bluetooth_le_device_winrt.h",
Jan Wilken Doerriec75765a752018-07-20 11:36:18403 "bluetooth/test/fake_bluetooth_le_manufacturer_data_winrt.cc",
404 "bluetooth/test/fake_bluetooth_le_manufacturer_data_winrt.h",
Jan Wilken Doerrie7aa28512018-08-17 08:11:41405 "bluetooth/test/fake_device_information_custom_pairing_winrt.cc",
406 "bluetooth/test/fake_device_information_custom_pairing_winrt.h",
Jan Wilken Doerrie9092f832018-08-14 07:05:11407 "bluetooth/test/fake_device_information_pairing_winrt.cc",
408 "bluetooth/test/fake_device_information_pairing_winrt.h",
Jan Wilken Doerrie7c0e41dc2018-05-16 08:37:52409 "bluetooth/test/fake_device_information_winrt.cc",
410 "bluetooth/test/fake_device_information_winrt.h",
Jan Wilken Doerrie7aa28512018-08-17 08:11:41411 "bluetooth/test/fake_device_pairing_requested_event_args_winrt.cc",
412 "bluetooth/test/fake_device_pairing_requested_event_args_winrt.h",
413 "bluetooth/test/fake_device_pairing_result_winrt.cc",
414 "bluetooth/test/fake_device_pairing_result_winrt.h",
Jan Wilken Doerriebcd90ba2018-08-30 12:36:29415 "bluetooth/test/fake_device_watcher_winrt.cc",
416 "bluetooth/test/fake_device_watcher_winrt.h",
Jan Wilken Doerried66e0a92018-07-07 10:48:19417 "bluetooth/test/fake_gatt_characteristic_winrt.cc",
418 "bluetooth/test/fake_gatt_characteristic_winrt.h",
419 "bluetooth/test/fake_gatt_characteristics_result_winrt.cc",
420 "bluetooth/test/fake_gatt_characteristics_result_winrt.h",
Jan Wilken Doerrie2a3e6c92018-07-31 08:39:16421 "bluetooth/test/fake_gatt_descriptor_winrt.cc",
422 "bluetooth/test/fake_gatt_descriptor_winrt.h",
423 "bluetooth/test/fake_gatt_descriptors_result_winrt.cc",
424 "bluetooth/test/fake_gatt_descriptors_result_winrt.h",
Jan Wilken Doerried9b78b92018-06-18 17:35:43425 "bluetooth/test/fake_gatt_device_service_winrt.cc",
426 "bluetooth/test/fake_gatt_device_service_winrt.h",
427 "bluetooth/test/fake_gatt_device_services_result_winrt.cc",
428 "bluetooth/test/fake_gatt_device_services_result_winrt.h",
Jan Wilken Doerrie1bd49ee2018-07-30 10:59:00429 "bluetooth/test/fake_gatt_read_result_winrt.cc",
430 "bluetooth/test/fake_gatt_read_result_winrt.h",
Martin Kreichgauer3d6c10d2020-06-16 17:25:51431 "bluetooth/test/fake_gatt_session_winrt.cc",
432 "bluetooth/test/fake_gatt_session_winrt.h",
Jan Wilken Dörriee0029d12018-08-06 14:06:08433 "bluetooth/test/fake_gatt_value_changed_event_args_winrt.cc",
434 "bluetooth/test/fake_gatt_value_changed_event_args_winrt.h",
Jan Wilken Doerrief5b008c42018-08-01 08:12:56435 "bluetooth/test/fake_gatt_write_result_winrt.cc",
436 "bluetooth/test/fake_gatt_write_result_winrt.h",
Jan Wilken Dörriedc7c81c2018-06-12 07:34:38437 "bluetooth/test/fake_radio_winrt.cc",
438 "bluetooth/test/fake_radio_winrt.h",
gogeraldcab31232016-02-03 21:20:33439 ]
440 }
bajones7ab52ec32016-08-19 19:54:25441
Bill Orr1862b4f2018-05-10 17:56:45442 if (enable_vr) {
Michael Thiessen21e56152017-10-16 18:55:17443 sources += [
Anna Maria114d35052017-12-08 23:13:29444 "vr/orientation/orientation_device_provider_unittest.cc",
445 "vr/orientation/orientation_device_unittest.cc",
Bill Orrb35b4cd82019-03-05 00:13:39446 "vr/util/fps_meter_unittest.cc",
447 "vr/util/sliding_average_unittest.cc",
Alex Cooper93f1c752019-11-22 23:58:02448 "vr/util/stage_utils_unittest.cc",
Michael Thiessen21e56152017-10-16 18:55:17449 "vr/vr_device_base_unittest.cc",
Michael Thiessen21e56152017-10-16 18:55:17450 ]
bajones7ab52ec32016-08-19 19:54:25451
Alexander Cooper5f50a632024-10-30 01:30:44452 if (enable_openxr) {
453 sources += [ "vr/openxr/openxr_hand_utils_unittest.cc" ]
454 }
455
Bill Orr1862b4f2018-05-10 17:56:45456 defines = [ "DEVICE_VR_IMPLEMENTATION" ]
457
bajones7ab52ec32016-08-19 19:54:25458 deps += [
459 "//device/vr",
Alexander Cooper53e25812020-04-01 17:35:58460 "//device/vr:vr_fakes",
Alex Cooper51ea2f3c2021-02-18 03:51:26461 "//device/vr:vr_util",
Alexander Coopercb573b02020-04-21 22:16:35462 "//device/vr/orientation",
Rafael Cintron5b95b8d2020-11-04 01:58:10463 "//device/vr/public/mojom:isolated_xr_service",
Anna Maria114d35052017-12-08 23:13:29464 "//services/device/public/cpp/generic_sensor",
465 "//ui/display",
Roman Karasev72254172018-04-05 18:10:03466 "//ui/display:test_support",
bajones7ab52ec32016-08-19 19:54:25467 ]
468 }
Matt Reynoldsb37eb1292019-03-19 22:19:40469
470 # Some gamepad tests require the HID service. Only build these tests on
471 # platforms where the HID service is enabled.
Julie Jeongeun Kim0c67cfe2023-03-07 03:40:54472 if (!is_android && !is_fuchsia && !is_ios) {
Matt Reynoldsb37eb1292019-03-19 22:19:40473 sources += [ "gamepad/nintendo_data_fetcher_unittest.cc" ]
474
475 deps += [
476 "//services/device:test_support",
477 "//services/device/hid",
Matt Reynolds11d261c2022-07-22 23:42:48478 "//services/device/public/cpp:test_support",
Matt Reynoldsb37eb1292019-03-19 22:19:40479 ]
480 }
Martin Kreichgauerd15e7e42021-02-26 06:54:22481
Howard Yang72a1412b2022-04-13 00:16:02482 if (is_chromeos) {
Martin Kreichgauerd15e7e42021-02-26 06:54:22483 deps += [ "//chromeos/dbus/u2f" ]
484 }
tfarinacdc7e5d2015-02-23 09:52:24485}
scheib56010cc2015-06-25 01:29:47486
487if (is_android) {
Matt Reynolds7c498e52017-12-06 22:06:24488 bluetooth_java_sources_needing_jni = [
Garfield Tanae55e6322024-11-18 18:33:56489 "bluetooth/test/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothLeScannerTestUtil.java",
James Hollyerf8e00682019-11-20 02:11:21490 "bluetooth/test/android/java/src/org/chromium/device/bluetooth/ChromeBluetoothScanFilter.java",
Garfield Tanae55e6322024-11-18 18:33:56491 "bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java",
Matt Reynolds7c498e52017-12-06 22:06:24492 ]
scheib56010cc2015-06-25 01:29:47493
494 generate_jni("bluetooth_test_jni_headers") {
Eric Stevenson4c4d6342019-10-04 20:02:47495 testonly = true
scheib56010cc2015-06-25 01:29:47496 sources = bluetooth_java_sources_needing_jni
scheib56010cc2015-06-25 01:29:47497 }
498
499 android_library("bluetooth_test_java") {
Shimi Zhang0d7b74af2018-02-08 17:28:02500 testonly = true
Andrew Grieveff870b02023-06-13 20:50:36501
Natalie Chouinard8b9cf7c2019-12-20 02:21:40502 sources = bluetooth_java_sources_needing_jni
scheib56010cc2015-06-25 01:29:47503 deps = [
504 "//base:base_java",
ortuno5966ddb2016-07-01 02:07:25505 "//components/location/android:location_java",
scheib56010cc2015-06-25 01:29:47506 "//device/bluetooth:java",
Peter Wen22bc3ec2019-03-28 22:18:02507 "//third_party/android_sdk:android_test_mock_java",
Peter Kotwicz04093722021-02-13 00:35:37508 "//third_party/androidx:androidx_annotation_annotation_java",
Sam Maier1fcc2d52023-10-17 18:34:53509 "//third_party/jni_zero:jni_zero_java",
scheib56010cc2015-06-25 01:29:47510 ]
ortunocc9b46d12016-08-25 16:47:23511
Andrew Grieveff870b02023-06-13 20:50:36512 srcjar_deps = [
513 ":bluetooth_test_javagen",
514 ":bluetooth_test_jni_headers",
515 ]
scheib56010cc2015-06-25 01:29:47516 }
bajonesb9bb4c42016-07-07 00:10:51517
Mohamed Heikalbf107d92022-06-24 20:42:00518 robolectric_binary("device_junit_tests") {
Matt Reynolds29cbad52021-03-19 23:37:55519 sources = [
520 "gamepad/android/junit/src/org/chromium/device/gamepad/GamepadDeviceTest.java",
521 "gamepad/android/junit/src/org/chromium/device/gamepad/GamepadMappingsTest.java",
utzcoz477e5a22025-03-05 17:46:51522 "vr/public/junit/src/org/chromium/device/vr/XrFeatureStatusTest.java",
Matt Reynolds29cbad52021-03-19 23:37:55523 ]
bajonesb9bb4c42016-07-07 00:10:51524 deps = [
mcasas649deb52017-04-28 01:55:52525 "$google_play_services_package:google_play_services_base_java",
526 "$google_play_services_package:google_play_services_basement_java",
527 "$google_play_services_package:google_play_services_location_java",
utzcoz477e5a22025-03-05 17:46:51528 "//base:base_java",
bajonesb9bb4c42016-07-07 00:10:51529 "//base:base_java_test_support",
Andrew Grieve916bc9b2018-02-02 01:38:59530 "//base:base_junit_test_support",
bajonesb9bb4c42016-07-07 00:10:51531 "//device/gamepad:java",
utzcoz477e5a22025-03-05 17:46:51532 "//device/vr/public:java",
alexander.shalamov55ac6a4c2016-11-30 09:04:17533 "//mojo/public/java:bindings_java",
Peter Kotwicz04093722021-02-13 00:35:37534 "//third_party/androidx:androidx_annotation_annotation_java",
Andrew Walbrand8f55c92020-07-01 17:09:03535 "//third_party/hamcrest:hamcrest_java",
bajonesb9bb4c42016-07-07 00:10:51536 ]
537 srcjar_deps = [ "//device/gamepad:java_enums_srcjar" ]
538 }
ortunocc9b46d12016-08-25 16:47:23539
540 java_cpp_enum("bluetooth_test_javagen") {
Nico Weberb355af2e2020-01-14 03:27:58541 sources = [ "bluetooth/test/bluetooth_test.h" ]
ortunocc9b46d12016-08-25 16:47:23542 }
scheib56010cc2015-06-25 01:29:47543}