1# Copyright 2013 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5{ 6 'targets': [ 7 # Test support files for the 'sync_core' target. 8 # GN version: //sync:test_support_sync_core 9 { 10 'target_name': 'test_support_sync_core', 11 'type': 'static_library', 12 'variables': { 'enable_wexit_time_destructors': 1, }, 13 'include_dirs': [ 14 '..', 15 ], 16 'defines': [ 17 'SYNC_TEST' 18 ], 19 'dependencies': [ 20 '../base/base.gyp:base', 21 '../testing/gmock.gyp:gmock', 22 '../testing/gtest.gyp:gtest', 23 'sync', 24 ], 25 'export_dependent_settings': [ 26 '../testing/gmock.gyp:gmock', 27 '../testing/gtest.gyp:gtest', 28 'sync', 29 ], 30 'sources': [ 31 'internal_api/public/base/model_type_test_util.cc', 32 'internal_api/public/base/model_type_test_util.h', 33 'js/js_test_util.cc', 34 'js/js_test_util.h', 35 'sessions/test_util.cc', 36 'sessions/test_util.h', 37 'test/callback_counter.h', 38 'test/engine/fake_model_worker.cc', 39 'test/engine/fake_model_worker.h', 40 'test/engine/fake_sync_scheduler.cc', 41 'test/engine/fake_sync_scheduler.h', 42 'test/engine/injectable_sync_context_proxy.cc', 43 'test/engine/injectable_sync_context_proxy.h', 44 'test/engine/mock_connection_manager.cc', 45 'test/engine/mock_connection_manager.h', 46 'test/engine/mock_model_type_sync_proxy.cc', 47 'test/engine/mock_model_type_sync_proxy.h', 48 'test/engine/mock_model_type_sync_worker.cc', 49 'test/engine/mock_model_type_sync_worker.h', 50 'test/engine/mock_nudge_handler.cc', 51 'test/engine/mock_nudge_handler.h', 52 'test/engine/mock_update_handler.cc', 53 'test/engine/mock_update_handler.h', 54 'test/engine/single_type_mock_server.cc', 55 'test/engine/single_type_mock_server.h', 56 'test/engine/test_directory_setter_upper.cc', 57 'test/engine/test_directory_setter_upper.h', 58 'test/engine/test_id_factory.h', 59 'test/engine/test_syncable_utils.cc', 60 'test/engine/test_syncable_utils.h', 61 'test/fake_encryptor.cc', 62 'test/fake_encryptor.h', 63 'test/fake_sync_encryption_handler.cc', 64 'test/fake_sync_encryption_handler.h', 65 'test/mock_invalidation.cc', 66 'test/mock_invalidation.h', 67 'test/mock_invalidation_tracker.cc', 68 'test/mock_invalidation_tracker.h', 69 'test/trackable_mock_invalidation.cc', 70 'test/trackable_mock_invalidation.h', 71 'test/null_directory_change_delegate.cc', 72 'test/null_directory_change_delegate.h', 73 'test/null_transaction_observer.cc', 74 'test/null_transaction_observer.h', 75 'test/sessions/test_scoped_session_event_listener.h', 76 'test/sessions/mock_debug_info_getter.h', 77 'test/sessions/mock_debug_info_getter.cc', 78 'test/test_directory_backing_store.cc', 79 'test/test_directory_backing_store.h', 80 'test/test_transaction_observer.cc', 81 'test/test_transaction_observer.h', 82 'util/test_unrecoverable_error_handler.cc', 83 'util/test_unrecoverable_error_handler.h', 84 ], 85 }, 86 87 # Test support files for the python sync test server. 88 # GN version: //sync:test_support_sync_testserver 89 { 90 'target_name': 'test_support_sync_testserver', 91 'type': 'static_library', 92 'variables': { 'enable_wexit_time_destructors': 1, }, 93 'include_dirs': [ 94 '..', 95 ], 96 'dependencies': [ 97 '../base/base.gyp:base', 98 '../net/net.gyp:net_test_support', 99 # The sync test server uses Python modules generated by the sync protos. 100 '../third_party/protobuf/protobuf.gyp:py_proto', 101 'sync', 102 ], 103 'export_dependent_settings': [ 104 '../base/base.gyp:base', 105 '../net/net.gyp:net_test_support', 106 ], 107 'sources': [ 108 'test/local_sync_test_server.cc', 109 'test/local_sync_test_server.h', 110 ], 111 }, 112 113 # Test support files for the fake sync server. 114 # GN version: //sync:test_support_sync_fake_server 115 { 116 'target_name': 'test_support_sync_fake_server', 117 'type': 'static_library', 118 'variables': { 'enable_wexit_time_destructors': 1, }, 119 'include_dirs': [ 120 '..', 121 ], 122 'dependencies': [ 123 '../base/base.gyp:base', 124 '../net/net.gyp:net', 125 '../testing/gtest.gyp:gtest', 126 '../third_party/protobuf/protobuf.gyp:protobuf_lite', 127 'sync', 128 ], 129 'export_dependent_settings': [ 130 'sync', 131 ], 132 'sources': [ 133 'test/fake_server/bookmark_entity.cc', 134 'test/fake_server/bookmark_entity.h', 135 'test/fake_server/bookmark_entity_builder.cc', 136 'test/fake_server/bookmark_entity_builder.h', 137 'test/fake_server/entity_builder.cc', 138 'test/fake_server/entity_builder.h', 139 'test/fake_server/entity_builder_factory.cc', 140 'test/fake_server/entity_builder_factory.h', 141 'test/fake_server/fake_server.cc', 142 'test/fake_server/fake_server.h', 143 'test/fake_server/fake_server_entity.cc', 144 'test/fake_server/fake_server_entity.h', 145 'test/fake_server/fake_server_http_post_provider.cc', 146 'test/fake_server/fake_server_http_post_provider.h', 147 'test/fake_server/fake_server_network_resources.cc', 148 'test/fake_server/fake_server_network_resources.h', 149 'test/fake_server/fake_server_verifier.cc', 150 'test/fake_server/fake_server_verifier.h', 151 'test/fake_server/permanent_entity.cc', 152 'test/fake_server/permanent_entity.h', 153 'test/fake_server/tombstone_entity.cc', 154 'test/fake_server/tombstone_entity.h', 155 'test/fake_server/unique_client_entity.cc', 156 'test/fake_server/unique_client_entity.h', 157 ], 158 }, 159 160 # Test support files for the 'sync_internal_api' target. 161 # GN version: //sync:test_support_sync_internal_api 162 { 163 'target_name': 'test_support_sync_internal_api', 164 'type': 'static_library', 165 'variables': { 'enable_wexit_time_destructors': 1, }, 166 'include_dirs': [ 167 '..', 168 ], 169 'defines': [ 170 'SYNC_TEST' 171 ], 172 'dependencies': [ 173 '../base/base.gyp:base', 174 '../testing/gtest.gyp:gtest', 175 'sync', 176 'test_support_sync_core', 177 ], 178 'export_dependent_settings': [ 179 '../testing/gtest.gyp:gtest', 180 'sync', 181 'test_support_sync_core', 182 ], 183 'sources': [ 184 'internal_api/public/test/fake_sync_manager.h', 185 'internal_api/public/test/null_sync_context_proxy.h', 186 'internal_api/public/test/sync_manager_factory_for_profile_sync_test.h', 187 'internal_api/public/test/test_entry_factory.h', 188 'internal_api/public/test/test_internal_components_factory.h', 189 'internal_api/public/test/test_user_share.h', 190 'internal_api/test/fake_sync_manager.cc', 191 'internal_api/test/null_sync_context_proxy.cc', 192 'internal_api/test/sync_manager_factory_for_profile_sync_test.cc', 193 'internal_api/test/sync_manager_for_profile_sync_test.cc', 194 'internal_api/test/sync_manager_for_profile_sync_test.h', 195 'internal_api/test/test_entry_factory.cc', 196 'internal_api/test/test_internal_components_factory.cc', 197 'internal_api/test/test_user_share.cc', 198 ], 199 }, 200 201 # Test support files for the 'sync_api' target. 202 # GN version: //sync:test_support_sync_api 203 { 204 'target_name': 'test_support_sync_api', 205 'type': 'static_library', 206 'include_dirs': [ 207 '..', 208 ], 209 'defines': [ 210 'SYNC_TEST' 211 ], 212 'dependencies': [ 213 '../testing/gmock.gyp:gmock', 214 'sync', 215 ], 216 'export_dependent_settings': [ 217 '../testing/gmock.gyp:gmock', 218 'sync', 219 ], 220 'sources': [ 221 'api/fake_syncable_service.cc', 222 'api/fake_syncable_service.h', 223 'api/fake_sync_change_processor.cc', 224 'api/fake_sync_change_processor.h', 225 'api/sync_change_processor_wrapper_for_test.cc', 226 'api/sync_change_processor_wrapper_for_test.h', 227 'api/sync_error_factory_mock.cc', 228 'api/sync_error_factory_mock.h', 229 ], 230 }, 231 232 # The unit test executable for sync tests. 233 # GN version: //sync:sync_unit_tests 234 { 235 'target_name': 'sync_unit_tests', 236 'type': '<(gtest_target_type)', 237 # Typed-parametrized tests generate exit-time destructors. 238 'variables': { 'enable_wexit_time_destructors': 0, }, 239 'defines': [ 240 'SYNC_TEST', 241 ], 242 'dependencies': [ 243 '../base/base.gyp:base', 244 '../base/base.gyp:run_all_unittests', 245 '../google_apis/google_apis.gyp:google_apis', 246 '../google_apis/google_apis.gyp:google_apis_test_support', 247 '../net/net.gyp:net', 248 '../net/net.gyp:net_test_support', 249 '../sql/sql.gyp:sql', 250 '../testing/gmock.gyp:gmock', 251 '../testing/gtest.gyp:gtest', 252 '../third_party/protobuf/protobuf.gyp:protobuf_lite', 253 'sync', 254 'test_support_sync_core', 255 'test_support_sync_internal_api', 256 ], 257 'include_dirs': [ 258 '..', 259 ], 260 'sources': [ 261 'api/attachments/attachment_id_unittest.cc', 262 'api/attachments/attachment_unittest.cc', 263 'api/attachments/fake_attachment_store_unittest.cc', 264 'api/sync_change_unittest.cc', 265 'api/sync_data_unittest.cc', 266 'api/sync_error_unittest.cc', 267 'api/sync_merge_result_unittest.cc', 268 'engine/apply_control_data_updates_unittest.cc', 269 'engine/backoff_delay_provider_unittest.cc', 270 'engine/directory_commit_contribution_unittest.cc', 271 'engine/directory_update_handler_unittest.cc', 272 'engine/entity_tracker_unittest.cc', 273 'engine/get_updates_processor_unittest.cc', 274 'engine/model_type_entity_unittest.cc', 275 'engine/model_type_sync_proxy_impl_unittest.cc', 276 'engine/model_type_sync_worker_impl_unittest.cc', 277 'engine/sync_scheduler_unittest.cc', 278 'engine/syncer_proto_util_unittest.cc', 279 'engine/syncer_unittest.cc', 280 'engine/syncer_util_unittest.cc', 281 'internal_api/attachments/attachment_downloader_impl_unittest.cc', 282 'internal_api/attachments/attachment_service_impl_unittest.cc', 283 'internal_api/attachments/attachment_service_proxy_unittest.cc', 284 'internal_api/attachments/attachment_uploader_impl_unittest.cc', 285 'internal_api/attachments/fake_attachment_downloader_unittest.cc', 286 'internal_api/attachments/fake_attachment_uploader_unittest.cc', 287 'internal_api/attachments/task_queue_unittest.cc', 288 'internal_api/debug_info_event_listener_unittest.cc', 289 'internal_api/http_bridge_unittest.cc', 290 'internal_api/js_mutation_event_observer_unittest.cc', 291 'internal_api/js_sync_encryption_handler_observer_unittest.cc', 292 'internal_api/js_sync_manager_observer_unittest.cc', 293 'internal_api/protocol_event_buffer_unittest.cc', 294 'internal_api/public/base/attachment_id_proto_unittest.cc', 295 'internal_api/public/base/cancelation_signal_unittest.cc', 296 'internal_api/public/base/enum_set_unittest.cc', 297 'internal_api/public/base/node_ordinal_unittest.cc', 298 'internal_api/public/base/ordinal_unittest.cc', 299 'internal_api/public/base/unique_position_unittest.cc', 300 'internal_api/public/change_record_unittest.cc', 301 'internal_api/public/engine/model_safe_worker_unittest.cc', 302 'internal_api/public/sessions/sync_session_snapshot_unittest.cc', 303 'internal_api/public/util/immutable_unittest.cc', 304 'internal_api/public/util/weak_handle_unittest.cc', 305 'internal_api/sync_backup_manager_unittest.cc', 306 'internal_api/sync_context_proxy_impl_unittest.cc', 307 'internal_api/sync_encryption_handler_impl_unittest.cc', 308 'internal_api/sync_manager_impl_unittest.cc', 309 'internal_api/sync_rollback_manager_base_unittest.cc', 310 'internal_api/sync_rollback_manager_unittest.cc', 311 'internal_api/syncapi_server_connection_manager_unittest.cc', 312 'js/js_event_details_unittest.cc', 313 'js/sync_js_controller_unittest.cc', 314 'protocol/proto_enum_conversions_unittest.cc', 315 'protocol/proto_value_conversions_unittest.cc', 316 'sessions/model_type_registry_unittest.cc', 317 'sessions/nudge_tracker_unittest.cc', 318 'sessions/status_controller_unittest.cc', 319 'syncable/deferred_on_disk_directory_backing_store_unittest.cc', 320 'syncable/directory_backing_store_unittest.cc', 321 'syncable/directory_unittest.cc', 322 'syncable/directory_unittest.h', 323 'syncable/entry_kernel_unittest.cc', 324 'syncable/model_type_unittest.cc', 325 'syncable/nigori_util_unittest.cc', 326 'syncable/parent_child_index_unittest.cc', 327 'syncable/syncable_enum_conversions_unittest.cc', 328 'syncable/syncable_id_unittest.cc', 329 'syncable/syncable_unittest.cc', 330 'syncable/syncable_util_unittest.cc', 331 'util/cryptographer_unittest.cc', 332 'util/data_type_histogram_unittest.cc', 333 'util/get_session_name_unittest.cc', 334 'util/nigori_unittest.cc', 335 'util/protobuf_unittest.cc', 336 ], 337 'conditions': [ 338 # TODO(akalin): This is needed because histogram.cc uses 339 # leak_annotations.h, which pulls this in. Make 'base' 340 # propagate this dependency. 341 ['OS=="linux" and use_allocator!="none"', { 342 'dependencies': [ 343 '../base/allocator/allocator.gyp:allocator', 344 ], 345 }], 346 ['OS == "android"', { 347 'dependencies': [ 348 '../testing/android/native_test.gyp:native_test_native_code', 349 ], 350 }], 351 ['OS=="linux" and chromeos==1', { 352 # Required by get_session_name_unittest.cc on Chrome OS. 353 'dependencies': [ 354 '../chromeos/chromeos.gyp:chromeos', 355 ], 356 }], 357 ['OS == "ios"', { 358 'sources!': [ 359 'internal_api/http_bridge_unittest.cc', 360 ], 361 }], 362 ], 363 }, 364 365 # Test support files for using the Test Accounts service. 366 # GN version: //sync:test_support_accounts_client 367 { 368 'target_name': 'test_support_accounts_client', 369 'type': 'static_library', 370 'direct_dependent_settings': { 371 'include_dirs': [ 372 '..', 373 ], 374 }, 375 'dependencies': [ 376 '../base/base.gyp:base', 377 '../net/net.gyp:net', 378 ], 379 'sources': [ 380 'test/accounts_client/test_accounts_client.cc', 381 'test/accounts_client/test_accounts_client.h', 382 'test/accounts_client/url_request_context_getter.cc', 383 'test/accounts_client/url_request_context_getter.h', 384 ], 385 }, 386 387 # The Sync end-to-end (and associated infrastructure) tests. 388 # GN version: //sync:sync_endtoend_tests 389 { 390 'target_name': 'sync_endtoend_tests', 391 'type': '<(gtest_target_type)', 392 'dependencies': [ 393 '../base/base.gyp:run_all_unittests', 394 '../testing/gmock.gyp:gmock', 395 '../testing/gtest.gyp:gtest', 396 '../url/url.gyp:url_lib', 397 'test_support_accounts_client', 398 ], 399 'sources': [ 400 'test/accounts_client/test_accounts_client_unittest.cc', 401 ], 402 }, 403 404 ], 405 'conditions': [ 406 ['OS != "ios"', { 407 'targets': [ 408 # A tool that can be used to launch a python sync server instance. 409 { 410 'target_name': 'run_sync_testserver', 411 'type': 'executable', 412 'dependencies': [ 413 '../base/base.gyp:base', 414 '../base/base.gyp:test_support_base', 415 '../net/net.gyp:net_test_support', 416 '../testing/gtest.gyp:gtest', 417 'test_support_sync_testserver', 418 ], 419 'sources': [ 420 'tools/testserver/run_sync_testserver.cc', 421 ], 422 }, 423 ], 424 }], 425 ['OS == "android"', { 426 'targets': [ 427 { 428 'target_name': 'sync_javatests', 429 'type': 'none', 430 'variables': { 431 'java_in_dir': '../sync/android/javatests', 432 }, 433 'dependencies': [ 434 'sync_java', 435 'sync_java_test_support', 436 '../base/base.gyp:base_java_test_support', 437 ], 438 'includes': [ '../build/java.gypi' ], 439 }, 440 { 441 'target_name': 'sync_java_test_support', 442 'type': 'none', 443 'variables': { 444 'java_in_dir': '../sync/test/android/javatests', 445 }, 446 'dependencies': [ 447 'sync_java', 448 ], 449 'includes': [ '../build/java.gypi' ], 450 }, 451 { 452 'target_name': 'sync_fake_server_jni_headers', 453 'type': 'none', 454 'sources': [ 455 '../chrome/android/sync_shell/javatests/src/chromium/chrome/browser/sync/FakeServerHelper.java', 456 ], 457 'variables': { 458 'jni_gen_package': 'sync/test/fake_server', 459 'jni_generator_ptr_type': 'long', 460 }, 461 'includes': [ '../build/jni_generator.gypi' ], 462 }, 463 { 464 'target_name': 'test_support_sync_fake_server_android', 465 'type': 'static_library', 466 'dependencies': [ 467 'sync_fake_server_jni_headers', 468 'test_support_sync_fake_server', 469 '../base/base.gyp:base', 470 ], 471 'sources': [ 472 'test/fake_server/android/fake_server_helper_android.cc', 473 'test/fake_server/android/fake_server_helper_android.h', 474 ], 475 }, 476 ], 477 }], 478 ['OS == "android"', { 479 'targets': [ 480 { 481 'target_name': 'sync_unit_tests_apk', 482 'type': 'none', 483 'dependencies': [ 484 'sync_unit_tests', 485 ], 486 'variables': { 487 'test_suite_name': 'sync_unit_tests', 488 }, 489 'includes': [ '../build/apk_test.gypi' ], 490 }, 491 ], 492 }], 493 ], 494} 495