• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright 2014 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
5import("//build/config/features.gni")
6
7component("sync") {
8  public_deps = [
9    ":sync_core",
10    "//sync/protocol",
11  ]
12}
13
14# GYP version: sync/sync.gyp:sync_core
15source_set("sync_core") {
16  sources = [
17    "api/attachments/attachment.cc",
18    "api/attachments/attachment.h",
19    "api/attachments/attachment_id.cc",
20    "api/attachments/attachment_id.h",
21    "api/attachments/attachment_store.cc",
22    "api/attachments/attachment_store.h",
23    "api/attachments/fake_attachment_store.cc",
24    "api/attachments/fake_attachment_store.h",
25    "api/string_ordinal.h",
26    "api/syncable_service.cc",
27    "api/syncable_service.h",
28    "api/sync_change.cc",
29    "api/sync_change.h",
30    "api/sync_change_processor.cc",
31    "api/sync_change_processor.h",
32    "api/sync_data.cc",
33    "api/sync_data.h",
34    "api/sync_error.cc",
35    "api/sync_error_factory.cc",
36    "api/sync_error_factory.h",
37    "api/sync_error.h",
38    "api/sync_merge_result.cc",
39    "api/sync_merge_result.h",
40    "api/time.h",
41    "base/sync_export.h",
42    "engine/all_status.cc",
43    "engine/all_status.h",
44    "engine/apply_control_data_updates.cc",
45    "engine/apply_control_data_updates.h",
46    "engine/backoff_delay_provider.cc",
47    "engine/backoff_delay_provider.h",
48    "engine/commit.cc",
49    "engine/commit_contribution.cc",
50    "engine/commit_contribution.h",
51    "engine/commit_contributor.cc",
52    "engine/commit_contributor.h",
53    "engine/commit.h",
54    "engine/commit_processor.cc",
55    "engine/commit_processor.h",
56    "engine/commit_util.cc",
57    "engine/commit_util.h",
58    "engine/conflict_resolver.cc",
59    "engine/conflict_resolver.h",
60    "engine/conflict_util.cc",
61    "engine/conflict_util.h",
62    "engine/directory_commit_contribution.cc",
63    "engine/directory_commit_contribution.h",
64    "engine/directory_commit_contributor.cc",
65    "engine/directory_commit_contributor.h",
66    "engine/directory_update_handler.cc",
67    "engine/directory_update_handler.h",
68    "engine/entity_tracker.cc",
69    "engine/entity_tracker.h",
70    "engine/get_commit_ids.cc",
71    "engine/get_commit_ids.h",
72    "engine/get_updates_delegate.cc",
73    "engine/get_updates_delegate.h",
74    "engine/get_updates_processor.cc",
75    "engine/get_updates_processor.h",
76    "engine/model_type_entity.cc",
77    "engine/model_type_entity.h",
78    "engine/model_type_sync_proxy.cc",
79    "engine/model_type_sync_proxy.h",
80    "engine/model_type_sync_proxy_impl.cc",
81    "engine/model_type_sync_proxy_impl.h",
82    "engine/model_type_sync_worker.cc",
83    "engine/model_type_sync_worker.h",
84    "engine/model_type_sync_worker_impl.cc",
85    "engine/model_type_sync_worker_impl.h",
86    "engine/net/server_connection_manager.cc",
87    "engine/net/server_connection_manager.h",
88    "engine/net/url_translator.cc",
89    "engine/net/url_translator.h",
90    "engine/non_blocking_type_commit_contribution.cc",
91    "engine/non_blocking_type_commit_contribution.h",
92    "engine/nudge_handler.cc",
93    "engine/nudge_handler.h",
94    "engine/nudge_source.cc",
95    "engine/nudge_source.h",
96    "engine/process_updates_util.cc",
97    "engine/process_updates_util.h",
98    "engine/sync_cycle_event.cc",
99    "engine/sync_cycle_event.h",
100    "engine/sync_engine_event_listener.cc",
101    "engine/sync_engine_event_listener.h",
102    "engine/syncer.cc",
103    "engine/syncer.h",
104    "engine/syncer_proto_util.cc",
105    "engine/syncer_proto_util.h",
106    "engine/syncer_types.h",
107    "engine/syncer_util.cc",
108    "engine/syncer_util.h",
109    "engine/sync_scheduler.cc",
110    "engine/sync_scheduler.h",
111    "engine/sync_scheduler_impl.cc",
112    "engine/sync_scheduler_impl.h",
113    "engine/traffic_logger.cc",
114    "engine/traffic_logger.h",
115    "engine/update_applicator.cc",
116    "engine/update_applicator.h",
117    "engine/update_handler.cc",
118    "engine/update_handler.h",
119    "internal_api/attachments/attachment_downloader.cc",
120    "internal_api/attachments/attachment_downloader_impl.cc",
121    "internal_api/attachments/attachment_service.cc",
122    "internal_api/attachments/attachment_service_impl.cc",
123    "internal_api/attachments/attachment_service_proxy.cc",
124    "internal_api/attachments/attachment_service_proxy_for_test.cc",
125    "internal_api/attachments/attachment_uploader.cc",
126    "internal_api/attachments/attachment_uploader_impl.cc",
127    "internal_api/attachments/fake_attachment_downloader.cc",
128    "internal_api/attachments/fake_attachment_uploader.cc",
129    "internal_api/attachments/public/attachment_downloader.h",
130    "internal_api/attachments/public/attachment_service.h",
131    "internal_api/attachments/public/attachment_service_impl.h",
132    "internal_api/attachments/public/attachment_service_proxy_for_test.h",
133    "internal_api/attachments/public/attachment_service_proxy.h",
134    "internal_api/attachments/public/attachment_uploader.h",
135    "internal_api/base_node.cc",
136    "internal_api/base_transaction.cc",
137    "internal_api/change_record.cc",
138    "internal_api/change_reorder_buffer.cc",
139    "internal_api/change_reorder_buffer.h",
140    "internal_api/debug_info_event_listener.cc",
141    "internal_api/debug_info_event_listener.h",
142    "internal_api/delete_journal.cc",
143    "internal_api/events/commit_request_event.cc",
144    "internal_api/events/commit_response_event.cc",
145    "internal_api/events/configure_get_updates_request_event.cc",
146    "internal_api/events/get_updates_response_event.cc",
147    "internal_api/events/normal_get_updates_request_event.cc",
148    "internal_api/events/poll_get_updates_request_event.cc",
149    "internal_api/events/protocol_event.cc",
150    "internal_api/http_bridge.cc",
151    "internal_api/http_bridge_network_resources.cc",
152    "internal_api/internal_components_factory_impl.cc",
153    "internal_api/js_mutation_event_observer.cc",
154    "internal_api/js_mutation_event_observer.h",
155    "internal_api/js_sync_encryption_handler_observer.cc",
156    "internal_api/js_sync_encryption_handler_observer.h",
157    "internal_api/js_sync_manager_observer.cc",
158    "internal_api/js_sync_manager_observer.h",
159    "internal_api/protocol_event_buffer.cc",
160    "internal_api/protocol_event_buffer.h",
161    "internal_api/public/attachments/attachment_downloader_impl.h",
162    "internal_api/public/attachments/attachment_uploader_impl.h",
163    "internal_api/public/attachments/fake_attachment_downloader.h",
164    "internal_api/public/attachments/fake_attachment_uploader.h",
165    "internal_api/public/base/attachment_id_proto.cc",
166    "internal_api/public/base/attachment_id_proto.h",
167    "internal_api/public/base/cancelation_observer.cc",
168    "internal_api/public/base/cancelation_observer.h",
169    "internal_api/public/base/cancelation_signal.cc",
170    "internal_api/public/base/cancelation_signal.h",
171    "internal_api/public/base/enum_set.h",
172    "internal_api/public/base/invalidation_interface.cc",
173    "internal_api/public/base/invalidation_interface.h",
174    "internal_api/public/base/model_type.h",
175    "internal_api/public/base_node.h",
176    "internal_api/public/base/node_ordinal.cc",
177    "internal_api/public/base/node_ordinal.h",
178    "internal_api/public/base/ordinal.h",
179    "internal_api/public/base/progress_marker_map.cc",
180    "internal_api/public/base/progress_marker_map.h",
181    "internal_api/public/base_transaction.h",
182    "internal_api/public/base/unique_position.cc",
183    "internal_api/public/base/unique_position.h",
184    "internal_api/public/change_record.h",
185    "internal_api/public/configure_reason.h",
186    "internal_api/public/data_type_association_stats.cc",
187    "internal_api/public/data_type_association_stats.h",
188    "internal_api/public/data_type_debug_info_listener.cc",
189    "internal_api/public/data_type_debug_info_listener.h",
190    "internal_api/public/delete_journal.h",
191    "internal_api/public/engine/model_safe_worker.cc",
192    "internal_api/public/engine/model_safe_worker.h",
193    "internal_api/public/engine/passive_model_worker.cc",
194    "internal_api/public/engine/passive_model_worker.h",
195    "internal_api/public/engine/polling_constants.cc",
196    "internal_api/public/engine/polling_constants.h",
197    "internal_api/public/engine/sync_status.cc",
198    "internal_api/public/engine/sync_status.h",
199    "internal_api/public/events/commit_request_event.h",
200    "internal_api/public/events/commit_response_event.h",
201    "internal_api/public/events/configure_get_updates_request_event.h",
202    "internal_api/public/events/get_updates_response_event.h",
203    "internal_api/public/events/normal_get_updates_request_event.h",
204    "internal_api/public/events/poll_get_updates_request_event.h",
205    "internal_api/public/events/protocol_event.h",
206    "internal_api/public/http_bridge.h",
207    "internal_api/public/http_bridge_network_resources.h",
208    "internal_api/public/http_post_provider_factory.h",
209    "internal_api/public/http_post_provider_interface.h",
210    "internal_api/public/internal_components_factory.h",
211    "internal_api/public/internal_components_factory_impl.h",
212    "internal_api/public/network_resources.h",
213    "internal_api/public/non_blocking_sync_common.cc",
214    "internal_api/public/non_blocking_sync_common.h",
215    "internal_api/public/read_node.h",
216    "internal_api/public/read_transaction.h",
217    "internal_api/public/sessions/commit_counters.cc",
218    "internal_api/public/sessions/commit_counters.h",
219    "internal_api/public/sessions/model_neutral_state.cc",
220    "internal_api/public/sessions/model_neutral_state.h",
221    "internal_api/public/sessions/status_counters.cc",
222    "internal_api/public/sessions/status_counters.h",
223    "internal_api/public/sessions/sync_session_snapshot.cc",
224    "internal_api/public/sessions/sync_session_snapshot.h",
225    "internal_api/public/sessions/type_debug_info_observer.cc",
226    "internal_api/public/sessions/type_debug_info_observer.h",
227    "internal_api/public/sessions/update_counters.cc",
228    "internal_api/public/sessions/update_counters.h",
229    "internal_api/public/shutdown_reason.h",
230    "internal_api/public/sync_auth_provider.h",
231    "internal_api/public/sync_context.h",
232    "internal_api/public/sync_context_proxy.h",
233    "internal_api/public/sync_encryption_handler.cc",
234    "internal_api/public/sync_encryption_handler.h",
235    "internal_api/public/sync_manager.cc",
236    "internal_api/public/sync_manager_factory.h",
237    "internal_api/public/sync_manager.h",
238    "internal_api/public/user_share.h",
239    "internal_api/public/util/experiments.h",
240    "internal_api/public/util/immutable.h",
241    "internal_api/public/util/report_unrecoverable_error_function.h",
242    "internal_api/public/util/sync_db_util.h",
243    "internal_api/public/util/syncer_error.cc",
244    "internal_api/public/util/syncer_error.h",
245    "internal_api/public/util/sync_string_conversions.cc",
246    "internal_api/public/util/sync_string_conversions.h",
247    "internal_api/public/util/unrecoverable_error_handler.h",
248    "internal_api/public/util/unrecoverable_error_info.cc",
249    "internal_api/public/util/unrecoverable_error_info.h",
250    "internal_api/public/util/weak_handle.cc",
251    "internal_api/public/util/weak_handle.h",
252    "internal_api/public/write_node.h",
253    "internal_api/public/write_transaction.h",
254    "internal_api/read_node.cc",
255    "internal_api/read_transaction.cc",
256    "internal_api/syncapi_internal.cc",
257    "internal_api/syncapi_internal.h",
258    "internal_api/syncapi_server_connection_manager.cc",
259    "internal_api/syncapi_server_connection_manager.h",
260    "internal_api/sync_backup_manager.cc",
261    "internal_api/sync_backup_manager.h",
262    "internal_api/sync_context.cc",
263    "internal_api/sync_context_proxy.cc",
264    "internal_api/sync_context_proxy_impl.cc",
265    "internal_api/sync_context_proxy_impl.h",
266    "internal_api/sync_db_util.cc",
267    "internal_api/sync_encryption_handler_impl.cc",
268    "internal_api/sync_encryption_handler_impl.h",
269    "internal_api/sync_manager_factory.cc",
270    "internal_api/sync_manager_impl.cc",
271    "internal_api/sync_manager_impl.h",
272    "internal_api/sync_rollback_manager_base.cc",
273    "internal_api/sync_rollback_manager_base.h",
274    "internal_api/sync_rollback_manager.cc",
275    "internal_api/sync_rollback_manager.h",
276    "internal_api/user_share.cc",
277    "internal_api/write_node.cc",
278    "internal_api/write_transaction.cc",
279    "js/js_backend.h",
280    "js/js_controller.h",
281    "js/js_event_details.cc",
282    "js/js_event_details.h",
283    "js/js_event_handler.h",
284    "js/sync_js_controller.cc",
285    "js/sync_js_controller.h",
286    "protocol/proto_enum_conversions.cc",
287    "protocol/proto_enum_conversions.h",
288    "protocol/proto_value_conversions.cc",
289    "protocol/proto_value_conversions.h",
290    "protocol/sync_protocol_error.cc",
291    "protocol/sync_protocol_error.h",
292    "sessions/data_type_tracker.cc",
293    "sessions/data_type_tracker.h",
294    "sessions/debug_info_getter.h",
295    "sessions/directory_type_debug_info_emitter.cc",
296    "sessions/directory_type_debug_info_emitter.h",
297    "sessions/model_type_registry.cc",
298    "sessions/model_type_registry.h",
299    "sessions/nudge_tracker.cc",
300    "sessions/nudge_tracker.h",
301    "sessions/status_controller.cc",
302    "sessions/status_controller.h",
303    "sessions/sync_session.cc",
304    "sessions/sync_session_context.cc",
305    "sessions/sync_session_context.h",
306    "sessions/sync_session.h",
307    "syncable/blob.h",
308    "syncable/deferred_on_disk_directory_backing_store.cc",
309    "syncable/deferred_on_disk_directory_backing_store.h",
310    "syncable/directory_backing_store.cc",
311    "syncable/directory_backing_store.h",
312    "syncable/directory.cc",
313    "syncable/directory_change_delegate.h",
314    "syncable/directory.h",
315    "syncable/dir_open_result.h",
316    "syncable/entry.cc",
317    "syncable/entry.h",
318    "syncable/entry_kernel.cc",
319    "syncable/entry_kernel.h",
320    "syncable/in_memory_directory_backing_store.cc",
321    "syncable/in_memory_directory_backing_store.h",
322    "syncable/invalid_directory_backing_store.cc",
323    "syncable/invalid_directory_backing_store.h",
324    "syncable/metahandle_set.h",
325    "syncable/model_neutral_mutable_entry.cc",
326    "syncable/model_neutral_mutable_entry.h",
327    "syncable/model_type.cc",
328    "syncable/mutable_entry.cc",
329    "syncable/mutable_entry.h",
330    "syncable/nigori_handler.cc",
331    "syncable/nigori_handler.h",
332    "syncable/nigori_util.cc",
333    "syncable/nigori_util.h",
334    "syncable/on_disk_directory_backing_store.cc",
335    "syncable/on_disk_directory_backing_store.h",
336    "syncable/parent_child_index.cc",
337    "syncable/parent_child_index.h",
338    "syncable/scoped_kernel_lock.cc",
339    "syncable/scoped_kernel_lock.h",
340    "syncable/scoped_parent_child_index_updater.cc",
341    "syncable/scoped_parent_child_index_updater.h",
342    "syncable/syncable_base_transaction.cc",
343    "syncable/syncable_base_transaction.h",
344    "syncable/syncable_base_write_transaction.cc",
345    "syncable/syncable_base_write_transaction.h",
346    "syncable/syncable_changes_version.h",
347    "syncable/syncable_columns.h",
348    "syncable/syncable_delete_journal.cc",
349    "syncable/syncable_delete_journal.h",
350    "syncable/syncable_enum_conversions.cc",
351    "syncable/syncable_enum_conversions.h",
352    "syncable/syncable_id.cc",
353    "syncable/syncable_id.h",
354    "syncable/syncable-inl.h",
355    "syncable/syncable_model_neutral_write_transaction.cc",
356    "syncable/syncable_model_neutral_write_transaction.h",
357    "syncable/syncable_proto_util.cc",
358    "syncable/syncable_proto_util.h",
359    "syncable/syncable_read_transaction.cc",
360    "syncable/syncable_read_transaction.h",
361    "syncable/syncable_util.cc",
362    "syncable/syncable_util.h",
363    "syncable/syncable_write_transaction.cc",
364    "syncable/syncable_write_transaction.h",
365    "syncable/transaction_observer.h",
366    "syncable/write_transaction_info.cc",
367    "syncable/write_transaction_info.h",
368    "util/cryptographer.cc",
369    "util/cryptographer.h",
370    "util/data_type_histogram.h",
371    "util/encryptor.h",
372    "util/extensions_activity.cc",
373    "util/extensions_activity.h",
374    "util/get_session_name.cc",
375    "util/get_session_name.h",
376    "util/get_session_name_ios.h",
377    "util/get_session_name_ios.mm",
378    "util/get_session_name_linux.cc",
379    "util/get_session_name_linux.h",
380    "util/get_session_name_mac.h",
381    "util/get_session_name_mac.mm",
382    "util/get_session_name_win.cc",
383    "util/get_session_name_win.h",
384    "util/logging.cc",
385    "util/logging.h",
386    "util/nigori.cc",
387    "util/nigori.h",
388    "util/time.cc",
389    "util/time.h",
390  ]
391
392  deps = [
393    "//base",
394    "//base:i18n",
395    "//base/third_party/dynamic_annotations",
396    "//crypto",
397    "//google_apis",
398    "//net",
399    "//sql",
400    "//third_party/zlib",
401    "//url",
402    "//sync/protocol",
403  ]
404
405  if (is_chromeos) {
406    # Required by get_session_name.cc on Chrome OS.
407    deps += [
408      "//chromeos"
409    ]
410  }
411
412  defines = [ "SYNC_IMPLEMENTATION" ]
413  configs += [ "//build/config/compiler:wexit_time_destructors" ]
414}
415
416# GYP version: sync/sync_tests.gypi:test_support_sync_core
417static_library("test_support_sync_core") {
418  testonly = true
419  sources = [
420    "internal_api/public/base/model_type_test_util.cc",
421    "internal_api/public/base/model_type_test_util.h",
422    "js/js_test_util.cc",
423    "js/js_test_util.h",
424    "sessions/test_util.cc",
425    "sessions/test_util.h",
426    "test/callback_counter.h",
427    "test/engine/fake_model_worker.cc",
428    "test/engine/fake_model_worker.h",
429    "test/engine/fake_sync_scheduler.cc",
430    "test/engine/fake_sync_scheduler.h",
431    "test/engine/injectable_sync_context_proxy.cc",
432    "test/engine/injectable_sync_context_proxy.h",
433    "test/engine/mock_connection_manager.cc",
434    "test/engine/mock_connection_manager.h",
435    "test/engine/mock_model_type_sync_proxy.cc",
436    "test/engine/mock_model_type_sync_proxy.h",
437    "test/engine/mock_model_type_sync_worker.cc",
438    "test/engine/mock_model_type_sync_worker.h",
439    "test/engine/mock_nudge_handler.cc",
440    "test/engine/mock_nudge_handler.h",
441    "test/engine/mock_update_handler.cc",
442    "test/engine/mock_update_handler.h",
443    "test/engine/single_type_mock_server.cc",
444    "test/engine/single_type_mock_server.h",
445    "test/engine/test_directory_setter_upper.cc",
446    "test/engine/test_directory_setter_upper.h",
447    "test/engine/test_id_factory.h",
448    "test/engine/test_syncable_utils.cc",
449    "test/engine/test_syncable_utils.h",
450    "test/fake_encryptor.cc",
451    "test/fake_encryptor.h",
452    "test/fake_sync_encryption_handler.cc",
453    "test/fake_sync_encryption_handler.h",
454    "test/mock_invalidation.cc",
455    "test/mock_invalidation.h",
456    "test/mock_invalidation_tracker.cc",
457    "test/mock_invalidation_tracker.h",
458    "test/trackable_mock_invalidation.cc",
459    "test/trackable_mock_invalidation.h",
460    "test/null_directory_change_delegate.cc",
461    "test/null_directory_change_delegate.h",
462    "test/null_transaction_observer.cc",
463    "test/null_transaction_observer.h",
464    "test/sessions/test_scoped_session_event_listener.h",
465    "test/sessions/mock_debug_info_getter.h",
466    "test/sessions/mock_debug_info_getter.cc",
467    "test/test_directory_backing_store.cc",
468    "test/test_directory_backing_store.h",
469    "test/test_transaction_observer.cc",
470    "test/test_transaction_observer.h",
471    "util/test_unrecoverable_error_handler.cc",
472    "util/test_unrecoverable_error_handler.h",
473  ]
474
475  public_deps = [
476    "//base",
477    "//testing/gmock",
478    "//testing/gtest",
479    "//sync",
480  ]
481
482  defines = [ "SYNC_TEST" ]
483  configs += [ "//build/config/compiler:wexit_time_destructors" ]
484}
485
486# GYP version: sync/sync_tests.gypi:test_support_sync_internal_api
487static_library("test_support_sync_internal_api") {
488  testonly = true
489  sources = [
490    "internal_api/public/test/fake_sync_manager.h",
491    "internal_api/public/test/null_sync_context_proxy.h",
492    "internal_api/public/test/sync_manager_factory_for_profile_sync_test.h",
493    "internal_api/public/test/test_entry_factory.h",
494    "internal_api/public/test/test_internal_components_factory.h",
495    "internal_api/public/test/test_user_share.h",
496    "internal_api/test/fake_sync_manager.cc",
497    "internal_api/test/null_sync_context_proxy.cc",
498    "internal_api/test/sync_manager_factory_for_profile_sync_test.cc",
499    "internal_api/test/sync_manager_for_profile_sync_test.cc",
500    "internal_api/test/sync_manager_for_profile_sync_test.h",
501    "internal_api/test/test_entry_factory.cc",
502    "internal_api/test/test_internal_components_factory.cc",
503    "internal_api/test/test_user_share.cc",
504  ]
505
506  public_deps = [
507    "//base",
508    "//testing/gtest",
509    "//sync",
510    ":test_support_sync_core",
511  ]
512
513  defines = [ "SYNC_TEST" ]
514  configs += [ "//build/config/compiler:wexit_time_destructors" ]
515}
516
517# GYP version: sync/sync_tests.gypi:test_support_sync_api
518static_library("test_support_sync_api") {
519  testonly = true
520  sources = [
521    "api/fake_syncable_service.cc",
522    "api/fake_syncable_service.h",
523    "api/fake_sync_change_processor.cc",
524    "api/fake_sync_change_processor.h",
525    "api/sync_change_processor_wrapper_for_test.cc",
526    "api/sync_change_processor_wrapper_for_test.h",
527    "api/sync_error_factory_mock.cc",
528    "api/sync_error_factory_mock.h",
529  ]
530
531  defines = [ "SYNC_TEST" ]
532
533  public_deps = [
534    "//testing/gmock",
535    "//sync",
536  ]
537}
538
539# GYP version: sync/sync_tests.gypi:sync_unit_tests
540test("sync_unit_tests") {
541  sources = [
542    "api/attachments/attachment_id_unittest.cc",
543    "api/attachments/attachment_unittest.cc",
544    "api/sync_change_unittest.cc",
545    "api/sync_data_unittest.cc",
546    "api/sync_error_unittest.cc",
547    "api/sync_merge_result_unittest.cc",
548    "engine/apply_control_data_updates_unittest.cc",
549    "engine/backoff_delay_provider_unittest.cc",
550    "engine/directory_commit_contribution_unittest.cc",
551    "engine/directory_update_handler_unittest.cc",
552    "engine/entity_tracker_unittest.cc",
553    "engine/get_updates_processor_unittest.cc",
554    "engine/model_type_entity_unittest.cc",
555    "engine/model_type_sync_proxy_impl_unittest.cc",
556    "engine/model_type_sync_worker_impl_unittest.cc",
557    "engine/sync_scheduler_unittest.cc",
558    "engine/syncer_proto_util_unittest.cc",
559    "engine/syncer_unittest.cc",
560    "engine/syncer_util_unittest.cc",
561    "internal_api/attachments/attachment_downloader_impl_unittest.cc",
562    "internal_api/attachments/attachment_service_impl_unittest.cc",
563    "internal_api/attachments/attachment_service_proxy_unittest.cc",
564    "internal_api/attachments/attachment_uploader_impl_unittest.cc",
565    "internal_api/attachments/fake_attachment_downloader_unittest.cc",
566    "internal_api/attachments/fake_attachment_uploader_unittest.cc",
567    "internal_api/debug_info_event_listener_unittest.cc",
568    "internal_api/http_bridge_unittest.cc",
569    "internal_api/js_mutation_event_observer_unittest.cc",
570    "internal_api/js_sync_encryption_handler_observer_unittest.cc",
571    "internal_api/js_sync_manager_observer_unittest.cc",
572    "internal_api/protocol_event_buffer_unittest.cc",
573    "internal_api/public/base/attachment_id_proto_unittest.cc",
574    "internal_api/public/base/cancelation_signal_unittest.cc",
575    "internal_api/public/base/enum_set_unittest.cc",
576    "internal_api/public/base/node_ordinal_unittest.cc",
577    "internal_api/public/base/ordinal_unittest.cc",
578    "internal_api/public/base/unique_position_unittest.cc",
579    "internal_api/public/change_record_unittest.cc",
580    "internal_api/public/engine/model_safe_worker_unittest.cc",
581    "internal_api/public/sessions/sync_session_snapshot_unittest.cc",
582    "internal_api/public/util/immutable_unittest.cc",
583    "internal_api/public/util/weak_handle_unittest.cc",
584    "internal_api/sync_backup_manager_unittest.cc",
585    "internal_api/sync_context_proxy_impl_unittest.cc",
586    "internal_api/sync_encryption_handler_impl_unittest.cc",
587    "internal_api/sync_manager_impl_unittest.cc",
588    "internal_api/sync_rollback_manager_base_unittest.cc",
589    "internal_api/sync_rollback_manager_unittest.cc",
590    "internal_api/syncapi_server_connection_manager_unittest.cc",
591    "js/js_event_details_unittest.cc",
592    "js/sync_js_controller_unittest.cc",
593    "protocol/proto_enum_conversions_unittest.cc",
594    "protocol/proto_value_conversions_unittest.cc",
595    "sessions/model_type_registry_unittest.cc",
596    "sessions/nudge_tracker_unittest.cc",
597    "sessions/status_controller_unittest.cc",
598    "syncable/deferred_on_disk_directory_backing_store_unittest.cc",
599    "syncable/directory_backing_store_unittest.cc",
600    "syncable/directory_unittest.cc",
601    "syncable/directory_unittest.h",
602    "syncable/entry_kernel_unittest.cc",
603    "syncable/model_type_unittest.cc",
604    "syncable/nigori_util_unittest.cc",
605    "syncable/parent_child_index_unittest.cc",
606    "syncable/syncable_enum_conversions_unittest.cc",
607    "syncable/syncable_id_unittest.cc",
608    "syncable/syncable_unittest.cc",
609    "syncable/syncable_util_unittest.cc",
610    "util/cryptographer_unittest.cc",
611    "util/data_type_histogram_unittest.cc",
612    "util/get_session_name_unittest.cc",
613    "util/nigori_unittest.cc",
614    "util/protobuf_unittest.cc",
615  ]
616
617  deps = [
618    "//base",
619    "//base/allocator",
620    "//base/test:run_all_unittests",
621    "//google_apis",
622    "//google_apis:test_support",
623    "//net",
624    "//net:test_support",
625    "//sql",
626    "//testing/gmock",
627    "//testing/gtest",
628    "//third_party/protobuf:protobuf_lite",
629    "//sync",
630    ":test_support_sync_core",
631    ":test_support_sync_internal_api",
632  ]
633
634  # TODO(GYP)
635  #   ['OS == "android"', {
636  #     'dependencies': [
637  #       '../testing/android/native_test.gyp:native_test_native_code',
638  #     ],
639  #   }],
640
641  if (is_chromeos) {
642    # Required by get_session_name_unittest.cc on Chrome OS.
643    deps += [
644      "//chromeos"
645    ]
646  }
647
648  if (is_ios) {
649    sources -= [ "internal_api/http_bridge_unittest.cc" ]
650  }
651
652  defines = [ "SYNC_TEST" ]
653}
654
655# GYP version: sync/sync_tests.gypi:test_support_sync_fake_server
656static_library("test_support_sync_fake_server") {
657  testonly = true
658  sources = [
659    "test/fake_server/bookmark_entity.cc",
660    "test/fake_server/bookmark_entity.h",
661    "test/fake_server/bookmark_entity_builder.cc",
662    "test/fake_server/bookmark_entity_builder.h",
663    "test/fake_server/entity_builder.cc",
664    "test/fake_server/entity_builder.h",
665    "test/fake_server/entity_builder_factory.cc",
666    "test/fake_server/entity_builder_factory.h",
667    "test/fake_server/fake_server.cc",
668    "test/fake_server/fake_server.h",
669    "test/fake_server/fake_server_entity.cc",
670    "test/fake_server/fake_server_entity.h",
671    "test/fake_server/fake_server_http_post_provider.cc",
672    "test/fake_server/fake_server_http_post_provider.h",
673    "test/fake_server/fake_server_network_resources.cc",
674    "test/fake_server/fake_server_network_resources.h",
675    "test/fake_server/fake_server_verifier.cc",
676    "test/fake_server/fake_server_verifier.h",
677    "test/fake_server/permanent_entity.cc",
678    "test/fake_server/permanent_entity.h",
679    "test/fake_server/tombstone_entity.cc",
680    "test/fake_server/tombstone_entity.h",
681    "test/fake_server/unique_client_entity.cc",
682    "test/fake_server/unique_client_entity.h",
683  ]
684
685  deps = [
686    "//base",
687    "//net",
688    "//testing/gtest",
689    "//third_party/protobuf:protobuf_lite",
690    "//sync",
691  ]
692
693  configs += [ "//build/config/compiler:wexit_time_destructors" ]
694}
695
696# GYP version: sync/sync_tests.gypi:test_support_sync_testserver
697static_library("test_support_sync_testserver") {
698  testonly = true
699  sources = [
700    "test/local_sync_test_server.cc",
701    "test/local_sync_test_server.h",
702  ]
703
704  configs += [ "//build/config/compiler:wexit_time_destructors" ]
705
706  public_deps = [
707    "//base",
708    "//net:test_support",
709  ]
710  deps = [
711    ":sync",
712
713    # The sync test server uses Python modules generated by the sync protos.
714    #  '../third_party/protobuf/protobuf.gyp:py_proto',  # TODO(GYP)
715  ]
716}
717
718# GYP version: sync/sync_tests.gypi:test_support_accounts_client
719static_library("test_support_accounts_client") {
720  testonly = true
721  sources = [
722    "test/accounts_client/test_accounts_client.cc",
723    "test/accounts_client/test_accounts_client.h",
724    "test/accounts_client/url_request_context_getter.cc",
725    "test/accounts_client/url_request_context_getter.h",
726  ]
727  deps = [
728    "//base",
729    "//net",
730  ]
731}
732
733# GYP version: sync/sync_tests.gypi:sync_endtoend_tests
734test("sync_endtoend_tests") {
735  sources = [
736    "test/accounts_client/test_accounts_client_unittest.cc",
737  ]
738  deps = [
739    "//base/test:run_all_unittests",
740    "//testing/gmock",
741    "//testing/gtest",
742    "//url",
743    ":test_support_accounts_client",
744  ]
745}
746
747if (!is_ios) {
748  # GYP version: sync/sync_tests.gypi:run_sync_testserver
749  executable("run_sync_testserver") {
750    testonly = true
751    sources = [ "tools/testserver/run_sync_testserver.cc" ]
752
753    deps = [
754      "//base",
755      "//base/test:test_support",
756      "//net:test_support",
757      "//testing/gtest",
758      ":test_support_sync_testserver",
759    ]
760  }
761}
762
763#TODO(GYP): Need to port sync_android.gypi and Android test targets.
764