PNaCl Coordinator: Fix response headers parsing.
[chromium-blink-merge.git] / sync / sync_tests.gypi
blobfffefa52a3018ce24b61c8867346a66aff664550
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.
6   'targets': [
7     # Test support files for the 'sync_core' target.
8     {
9       'target_name': 'test_support_sync_core',
10       'type': 'static_library',
11       'variables': { 'enable_wexit_time_destructors': 1, },
12       'include_dirs': [
13         '..',
14       ],
15       'defines': [
16         'SYNC_TEST'
17       ],
18       'dependencies': [
19         '../base/base.gyp:base',
20         '../testing/gmock.gyp:gmock',
21         '../testing/gtest.gyp:gtest',
22         'sync',
23       ],
24       'export_dependent_settings': [
25         '../testing/gmock.gyp:gmock',
26         '../testing/gtest.gyp:gtest',
27         'sync',
28       ],
29       'sources': [
30         'internal_api/public/base/model_type_test_util.cc',
31         'internal_api/public/base/model_type_test_util.h',
32         'js/js_test_util.cc',
33         'js/js_test_util.h',
34         'sessions/test_util.cc',
35         'sessions/test_util.h',
36         'test/callback_counter.h',
37         'test/engine/fake_model_worker.cc',
38         'test/engine/fake_model_worker.h',
39         'test/engine/fake_sync_scheduler.cc',
40         'test/engine/fake_sync_scheduler.h',
41         'test/engine/mock_connection_manager.cc',
42         'test/engine/mock_connection_manager.h',
43         'test/engine/mock_update_handler.cc',
44         'test/engine/mock_update_handler.h',
45         'test/engine/test_directory_setter_upper.cc',
46         'test/engine/test_directory_setter_upper.h',
47         'test/engine/test_id_factory.h',
48         'test/engine/test_syncable_utils.cc',
49         'test/engine/test_syncable_utils.h',
50         'test/fake_encryptor.cc',
51         'test/fake_encryptor.h',
52         'test/fake_sync_encryption_handler.cc',
53         'test/fake_sync_encryption_handler.h',
54         'test/null_directory_change_delegate.cc',
55         'test/null_directory_change_delegate.h',
56         'test/null_transaction_observer.cc',
57         'test/null_transaction_observer.h',
58         'test/sessions/test_scoped_session_event_listener.h',
59         'test/sessions/mock_debug_info_getter.h',
60         'test/sessions/mock_debug_info_getter.cc',
61         'test/test_directory_backing_store.cc',
62         'test/test_directory_backing_store.h',
63         'test/test_transaction_observer.cc',
64         'test/test_transaction_observer.h',
65         'util/test_unrecoverable_error_handler.cc',
66         'util/test_unrecoverable_error_handler.h',
67       ],
68     },
70     # Test support files for the python sync test server.
71     {
72       'target_name': 'test_support_sync_testserver',
73       'type': 'static_library',
74       'variables': { 'enable_wexit_time_destructors': 1, },
75       'include_dirs': [
76         '..',
77       ],
78       'dependencies': [
79         '../base/base.gyp:base',
80         '../net/net.gyp:net_test_support',
81         # The sync test server uses Python modules generated by the sync protos.
82         '../third_party/protobuf/protobuf.gyp:py_proto',
83         'sync',
84       ],
85       'export_dependent_settings': [
86         '../base/base.gyp:base',
87         '../net/net.gyp:net_test_support',
88       ],
89       'sources': [
90         'test/local_sync_test_server.cc',
91         'test/local_sync_test_server.h',
92       ],
93     },
95     # Test support files for the fake sync server.
96     {
97       'target_name': 'test_support_sync_fake_server',
98       'type': 'static_library',
99       'variables': { 'enable_wexit_time_destructors': 1, },
100       'include_dirs': [
101         '..',
102       ],
103       'dependencies': [
104         '../base/base.gyp:base',
105         '../net/net.gyp:net',
106         '../testing/gtest.gyp:gtest',
107         '../third_party/protobuf/protobuf.gyp:protobuf_lite',
108         'sync',
109       ],
110       'export_dependent_settings': [
111         'sync',
112       ],
113       'sources': [
114         'test/fake_server/bookmark_entity.cc',
115         'test/fake_server/bookmark_entity.h',
116         'test/fake_server/fake_server.cc',
117         'test/fake_server/fake_server.h',
118         'test/fake_server/fake_server_entity.cc',
119         'test/fake_server/fake_server_entity.h',
120         'test/fake_server/fake_server_http_post_provider.cc',
121         'test/fake_server/fake_server_http_post_provider.h',
122         'test/fake_server/fake_server_network_resources.cc',
123         'test/fake_server/fake_server_network_resources.h',
124         'test/fake_server/fake_server_verifier.cc',
125         'test/fake_server/fake_server_verifier.h',
126         'test/fake_server/permanent_entity.cc',
127         'test/fake_server/permanent_entity.h',
128         'test/fake_server/tombstone_entity.cc',
129         'test/fake_server/tombstone_entity.h',
130         'test/fake_server/unique_client_entity.cc',
131         'test/fake_server/unique_client_entity.h',
132       ],
133     },
135     # Test support files for the 'sync_notifier' target.
136     {
137       'target_name': 'test_support_sync_notifier',
138       'type': 'static_library',
139       'include_dirs': [
140         '..',
141       ],
142       'defines': [
143         'SYNC_TEST'
144       ],
145       'dependencies': [
146         '../testing/gmock.gyp:gmock',
147         '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_proto_cpp',
148         'sync',
149       ],
150       'export_dependent_settings': [
151         '../testing/gmock.gyp:gmock',
152         '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation_proto_cpp',
153         'sync',
154       ],
155       'sources': [
156         'notifier/fake_invalidation_handler.cc',
157         'notifier/fake_invalidation_handler.h',
158         'notifier/fake_invalidation_state_tracker.cc',
159         'notifier/fake_invalidation_state_tracker.h',
160         'notifier/fake_invalidator.cc',
161         'notifier/fake_invalidator.h',
162         'notifier/invalidator_test_template.cc',
163         'notifier/invalidator_test_template.h',
164         'notifier/unacked_invalidation_set_test_util.cc',
165         'notifier/unacked_invalidation_set_test_util.h',
166         'internal_api/public/base/object_id_invalidation_map_test_util.h',
167         'internal_api/public/base/object_id_invalidation_map_test_util.cc',
168       ],
169     },
171     # Test support files for the 'sync_internal_api' target.
172     {
173       'target_name': 'test_support_sync_internal_api',
174       'type': 'static_library',
175       'variables': { 'enable_wexit_time_destructors': 1, },
176       'include_dirs': [
177         '..',
178       ],
179       'defines': [
180         'SYNC_TEST'
181       ],
182       'dependencies': [
183         '../base/base.gyp:base',
184         '../testing/gtest.gyp:gtest',
185         'sync',
186         'test_support_sync_core',
187       ],
188       'export_dependent_settings': [
189         '../testing/gtest.gyp:gtest',
190         'sync',
191         'test_support_sync_core',
192       ],
193       'sources': [
194         'internal_api/public/base/invalidation_test_util.cc',
195         'internal_api/public/base/invalidation_test_util.h',
196         'internal_api/public/test/fake_sync_manager.h',
197         'internal_api/public/test/null_sync_core_proxy.h',
198         'internal_api/public/test/sync_manager_factory_for_profile_sync_test.h',
199         'internal_api/public/test/test_entry_factory.h',
200         'internal_api/public/test/test_internal_components_factory.h',
201         'internal_api/public/test/test_user_share.h',
202         'internal_api/test/fake_sync_manager.cc',
203         'internal_api/test/null_sync_core_proxy.cc',
204         'internal_api/test/sync_manager_factory_for_profile_sync_test.cc',
205         'internal_api/test/sync_manager_for_profile_sync_test.cc',
206         'internal_api/test/sync_manager_for_profile_sync_test.h',
207         'internal_api/test/test_entry_factory.cc',
208         'internal_api/test/test_internal_components_factory.cc',
209         'internal_api/test/test_user_share.cc',
210       ],
211     },
213     # Test support files for the 'sync_api' target.
214     {
215       'target_name': 'test_support_sync_api',
216       'type': 'static_library',
217       'include_dirs': [
218         '..',
219       ],
220       'defines': [
221         'SYNC_TEST'
222       ],
223       'dependencies': [
224         '../testing/gmock.gyp:gmock',
225         'sync',
226       ],
227       'export_dependent_settings': [
228         '../testing/gmock.gyp:gmock',
229         'sync',
230       ],
231       'sources': [
232         'api/fake_syncable_service.cc',
233         'api/fake_syncable_service.h',
234         'api/fake_sync_change_processor.cc',
235         'api/fake_sync_change_processor.h',
236         'api/sync_change_processor_wrapper_for_test.cc',
237         'api/sync_change_processor_wrapper_for_test.h',
238         'api/sync_error_factory_mock.cc',
239         'api/sync_error_factory_mock.h',
240       ],
241     },
243     # Unit tests for the 'sync_core' target.  This cannot be a static
244     # library because the unit test files have to be compiled directly
245     # into the executable, so we push the target files to the
246     # depending executable target via direct_dependent_settings.
247     {
248       'target_name': 'sync_core_tests',
249       'type': 'none',
250       # We only want unit test executables to include this target.
251       'suppress_wildcard': 1,
252       'dependencies': [
253         '../base/base.gyp:base',
254         '../sql/sql.gyp:sql',
255         '../testing/gmock.gyp:gmock',
256         '../testing/gtest.gyp:gtest',
257         'sync',
258         'test_support_sync_core',
259       ],
260       'conditions': [
261         ['OS=="linux" and chromeos==1', {
262           # Required by get_session_name_unittest.cc on Chrome OS.
263           'dependencies': [
264             '../chromeos/chromeos.gyp:chromeos',
265           ],
266         }],
267       ],
268       # Propagate all dependencies since the actual compilation
269       # happens in the dependents.
270       'export_dependent_settings': [
271         '../base/base.gyp:base',
272         '../sql/sql.gyp:sql',
273         '../testing/gmock.gyp:gmock',
274         '../testing/gtest.gyp:gtest',
275         'sync',
276         'test_support_sync_core',
277       ],
278       'direct_dependent_settings': {
279         'include_dirs': [
280           '..',
281         ],
282         'sources': [
283           'internal_api/public/base/cancelation_signal_unittest.cc',
284           'internal_api/public/base/enum_set_unittest.cc',
285           'internal_api/public/base/node_ordinal_unittest.cc',
286           'internal_api/public/base/ordinal_unittest.cc',
287           'internal_api/public/base/unique_position_unittest.cc',
288           'internal_api/public/engine/model_safe_worker_unittest.cc',
289           'internal_api/public/util/immutable_unittest.cc',
290           'internal_api/public/util/weak_handle_unittest.cc',
291           'engine/apply_control_data_updates_unittest.cc',
292           'engine/backoff_delay_provider_unittest.cc',
293           'engine/directory_commit_contribution_unittest.cc',
294           'engine/directory_update_handler_unittest.cc',
295           'engine/get_updates_processor_unittest.cc',
296           'engine/sync_scheduler_unittest.cc',
297           'engine/syncer_proto_util_unittest.cc',
298           'engine/syncer_unittest.cc',
299           'js/js_event_details_unittest.cc',
300           'js/sync_js_controller_unittest.cc',
301           'protocol/proto_enum_conversions_unittest.cc',
302           'protocol/proto_value_conversions_unittest.cc',
303           'sessions/model_type_registry_unittest.cc',
304           'sessions/nudge_tracker_unittest.cc',
305           'sessions/status_controller_unittest.cc',
306           'syncable/directory_unittest.cc',
307           'syncable/directory_unittest.h',
308           'syncable/directory_backing_store_unittest.cc',
309           'syncable/entry_kernel_unittest.cc',
310           'syncable/model_type_unittest.cc',
311           'syncable/nigori_util_unittest.cc',
312           'syncable/parent_child_index_unittest.cc',
313           'syncable/syncable_enum_conversions_unittest.cc',
314           'syncable/syncable_id_unittest.cc',
315           'syncable/syncable_unittest.cc',
316           'syncable/syncable_util_unittest.cc',
317           'util/cryptographer_unittest.cc',
318           'util/data_type_histogram_unittest.cc',
319           'util/get_session_name_unittest.cc',
320           'util/nigori_unittest.cc',
321           'util/protobuf_unittest.cc',
322         ],
323       },
324     },
326     # Unit tests for the 'sync_notifier' target.  This cannot be a static
327     # library because the unit test files have to be compiled directly
328     # into the executable, so we push the target files to the
329     # depending executable target via direct_dependent_settings.
330     {
331       'target_name': 'sync_notifier_tests',
332       'type': 'none',
333       # We only want unit test executables to include this target.
334       'suppress_wildcard': 1,
335       'dependencies': [
336         '../base/base.gyp:base',
337         '../google_apis/google_apis.gyp:google_apis',
338         '../jingle/jingle.gyp:notifier_test_util',
339         '../net/net.gyp:net_test_support',
340         '../testing/gmock.gyp:gmock',
341         '../testing/gtest.gyp:gtest',
342         '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation',
343         '../third_party/libjingle/libjingle.gyp:libjingle',
344         'sync',
345         'test_support_sync_notifier',
346       ],
347       # Propagate all dependencies since the actual compilation
348       # happens in the dependents.
349       'export_dependent_settings': [
350         '../base/base.gyp:base',
351         '../google_apis/google_apis.gyp:google_apis',
352         '../jingle/jingle.gyp:notifier_test_util',
353         '../net/net.gyp:net_test_support',
354         '../testing/gmock.gyp:gmock',
355         '../testing/gtest.gyp:gtest',
356         '../third_party/cacheinvalidation/cacheinvalidation.gyp:cacheinvalidation',
357         '../third_party/libjingle/libjingle.gyp:libjingle',
358         'sync',
359         'test_support_sync_notifier',
360       ],
361       'direct_dependent_settings': {
362         'include_dirs': [
363           '..',
364         ],
365         'conditions': [
366           ['OS != "android"', {
367             'sources': [
368               'notifier/fake_invalidator_unittest.cc',
369               'notifier/gcm_network_channel_unittest.cc',
370               'notifier/invalidation_notifier_unittest.cc',
371               'notifier/invalidator_registrar_unittest.cc',
372               'notifier/non_blocking_invalidator_unittest.cc',
373               'notifier/object_id_invalidation_map_unittest.cc',
374               'notifier/p2p_invalidator_unittest.cc',
375               'notifier/push_client_channel_unittest.cc',
376               'notifier/registration_manager_unittest.cc',
377               'notifier/single_object_invalidation_set_unittest.cc',
378               'notifier/sync_invalidation_listener_unittest.cc',
379               'notifier/sync_system_resources_unittest.cc',
380               'notifier/unacked_invalidation_set_unittest.cc',
381             ],
382           }],
383         ],
384       },
385     },
387     # Unit tests for the 'sync_internal_api' target.  This cannot be a static
388     # library because the unit test files have to be compiled directly
389     # into the executable, so we push the target files to the
390     # depending executable target via direct_dependent_settings.
391     {
392       'target_name': 'sync_internal_api_tests',
393       'type': 'none',
394       # We only want unit test executables to include this target.
395       'suppress_wildcard': 1,
396       'dependencies': [
397         '../base/base.gyp:base',
398         '../net/net.gyp:net',
399         '../net/net.gyp:net_test_support',
400         '../testing/gmock.gyp:gmock',
401         '../testing/gtest.gyp:gtest',
402         'sync',
403         'test_support_sync_internal_api',
404       ],
405       # Propagate all dependencies since the actual compilation
406       # happens in the dependents.
407       'export_dependent_settings': [
408         '../base/base.gyp:base',
409         '../net/net.gyp:net',
410         '../net/net.gyp:net_test_support',
411         '../testing/gmock.gyp:gmock',
412         '../testing/gtest.gyp:gtest',
413         'sync',
414         'test_support_sync_internal_api',
415       ],
416       'direct_dependent_settings': {
417         'include_dirs': [
418           '..',
419         ],
420         'sources': [
421           'internal_api/debug_info_event_listener_unittest.cc',
422           'internal_api/http_bridge_unittest.cc',
423           'internal_api/js_mutation_event_observer_unittest.cc',
424           'internal_api/js_sync_encryption_handler_observer_unittest.cc',
425           'internal_api/js_sync_manager_observer_unittest.cc',
426           'internal_api/protocol_event_buffer_unittest.cc',
427           'internal_api/public/change_record_unittest.cc',
428           'internal_api/public/sessions/sync_session_snapshot_unittest.cc',
429           'internal_api/sync_backup_manager_unittest.cc',
430           'internal_api/sync_core_proxy_impl_unittest.cc',
431           'internal_api/sync_encryption_handler_impl_unittest.cc',
432           'internal_api/sync_manager_impl_unittest.cc',          
433           'internal_api/sync_rollback_manager_base_unittest.cc',
434           'internal_api/sync_rollback_manager_unittest.cc',
435           'internal_api/syncapi_server_connection_manager_unittest.cc',
436         ],
437         'conditions': [
438           ['OS == "ios"', {
439             'sources!': [
440               'internal_api/http_bridge_unittest.cc',
441             ],
442           }],
443         ],
444       },
445     },
447     # Unit tests for the 'sync_api' target.  This cannot be a static
448     # library because the unit test files have to be compiled directly
449     # into the executable, so we push the target files to the
450     # depending executable target via direct_dependent_settings.
451     {
452       'target_name': 'sync_api_tests',
453       'type': 'none',
454       # We only want unit test executables to include this target.
455       'suppress_wildcard': 1,
456       'dependencies': [
457         '../base/base.gyp:base',
458         '../testing/gtest.gyp:gtest',
459         'sync',
460         'test_support_sync_internal_api',
461       ],
462       # Propagate all dependencies since the actual compilation
463       # happens in the dependents.
464       'export_dependent_settings': [
465         '../base/base.gyp:base',
466         '../testing/gtest.gyp:gtest',
467         'sync',
468         'test_support_sync_internal_api',
469       ],
470       'direct_dependent_settings': {
471         'include_dirs': [
472           '..',
473         ],
474         'sources': [
475           'api/attachments/attachment_unittest.cc',
476           'api/attachments/attachment_id_unittest.cc',
477           'api/attachments/attachment_service_proxy_unittest.cc',
478           'api/attachments/fake_attachment_store_unittest.cc',
479           'api/sync_change_unittest.cc',
480           'api/sync_data_unittest.cc',
481           'api/sync_error_unittest.cc',
482           'api/sync_merge_result_unittest.cc',
483         ],
484       },
485     },
487     # The unit test executable for sync tests.
488     {
489       'target_name': 'sync_unit_tests',
490       'type': '<(gtest_target_type)',
491       # Typed-parametrized tests generate exit-time destructors.
492       'variables': { 'enable_wexit_time_destructors': 0, },
493       'defines': [
494         'SYNC_TEST',
495       ],
496       'dependencies': [
497         '../base/base.gyp:run_all_unittests',
498         'sync_api_tests',
499         'sync_core_tests',
500         'sync_internal_api_tests',
501         'sync_notifier_tests',
502       ],
503       'conditions': [
504         # TODO(akalin): This is needed because histogram.cc uses
505         # leak_annotations.h, which pulls this in.  Make 'base'
506         # propagate this dependency.
507         # TODO(dmikurube): Kill linux_use_tcmalloc. http://crbug.com/345554
508         ['OS=="linux" and ((use_allocator!="none" and use_allocator!="see_use_tcmalloc") or (use_allocator=="see_use_tcmalloc" and linux_use_tcmalloc==1))', {
509           'dependencies': [
510             '../base/allocator/allocator.gyp:allocator',
511           ],
512         }],
513         ['OS == "android" and gtest_target_type == "shared_library"', {
514           'dependencies': [
515             '../testing/android/native_test.gyp:native_test_native_code',
516           ],
517         }],
518       ],
519     },
521     # Test support files for using the Test Accounts service.
522     {
523       'target_name': 'test_support_accounts_client',
524       'type': 'static_library',
525       'direct_dependent_settings': {
526         'include_dirs': [
527           '..',
528         ],
529       },
530       'dependencies': [
531         '../base/base.gyp:base',
532         '../net/net.gyp:net',
533       ],
534       'sources': [
535         'test/accounts_client/test_accounts_client.cc',
536         'test/accounts_client/test_accounts_client.h',
537         'test/accounts_client/url_request_context_getter.cc',
538         'test/accounts_client/url_request_context_getter.h',
539       ],
540     },
542     # The Sync end-to-end (and associated infrastructure) tests.
543     {
544       'target_name': 'sync_endtoend_tests',
545       'type': '<(gtest_target_type)',
546       'dependencies': [
547         '../base/base.gyp:run_all_unittests',
548         '../testing/gmock.gyp:gmock',
549         '../testing/gtest.gyp:gtest',
550         '../url/url.gyp:url_lib',
551         'test_support_accounts_client',
552       ],
553       'sources': [
554         'test/accounts_client/test_accounts_client_unittest.cc',
555       ],
556     },
558   ],
559   'conditions': [
560     ['OS != "ios"', {
561       'targets': [
562         {
563           'target_name': 'sync_tools_helper',
564           'type': 'static_library',
565           'defines': [
566             'SYNC_IMPLEMENTATION',
567           ],
568           'include_dirs': [
569             '..',
570           ],
571           'dependencies': [
572             '../base/base.gyp:base',
573             'sync',
574           ],
575           'export_dependent_settings': [
576             '../base/base.gyp:base',
577             'sync',
578           ],
579           'sources': [
580             'tools/null_invalidation_state_tracker.cc',
581             'tools/null_invalidation_state_tracker.h',
582           ],
583         },
585         # A tool that can be used to launch a python sync server instance.
586         {
587           'target_name': 'run_sync_testserver',
588           'type': 'executable',
589           'dependencies': [
590             '../base/base.gyp:base',
591             '../base/base.gyp:test_support_base',
592             '../net/net.gyp:net_test_support',
593             '../testing/gtest.gyp:gtest',
594             'test_support_sync_testserver',
595           ],
596           'sources': [
597             'tools/testserver/run_sync_testserver.cc',
598           ],
599         },
601         # A standalone executable that runs a Sync FakeServer instance.
602         {
603           'target_name': 'run_sync_fake_server',
604           'type': 'executable',
605           'dependencies': [
606             '../base/base.gyp:base',
607             '../base/base.gyp:test_support_base',
608             '../net/net.gyp:http_server',
609             '../net/net.gyp:net',
610             '../net/net.gyp:net_test_support',
611             '../testing/gtest.gyp:gtest',
612             '../url/url.gyp:url_lib',
613             'test_support_sync_fake_server',
614           ],
615           'sources': [
616             'test/fake_server/run_sync_fake_server.cc',
617             'test/fake_server/fake_sync_server_http_handler.cc',
618             'test/fake_server/fake_sync_server_http_handler.h',
619           ],
620         },
622         # A tool to listen to sync notifications and print them out.
623         {
624           'target_name': 'sync_listen_notifications',
625           'type': 'executable',
626           'defines': [
627             'SYNC_TEST',
628           ],
629           'dependencies': [
630             '../base/base.gyp:base',
631             '../jingle/jingle.gyp:notifier',
632             '../net/net.gyp:net',
633             '../net/net.gyp:net_test_support',
634             'sync',
635             'sync_tools_helper',
636           ],
637           'sources': [
638             'tools/sync_listen_notifications.cc',
639           ],
640         },
642         # A standalone command-line sync client.
643         {
644           'target_name': 'sync_client',
645           'type': 'executable',
646           'defines': [
647             'SYNC_TEST',
648           ],
649           'dependencies': [
650             '../base/base.gyp:base',
651             '../jingle/jingle.gyp:notifier',
652             '../net/net.gyp:net',
653             '../net/net.gyp:net_test_support',
654             'sync',
655             'sync_tools_helper',
656             'test_support_sync_core'
657           ],
658           'sources': [
659             'tools/sync_client.cc',
660           ],
661         },
662       ],
663     }],
664     ['OS == "android"', {
665       'targets': [
666         {
667           'target_name': 'sync_javatests',
668           'type': 'none',
669           'variables': {
670             'java_in_dir': '../sync/android/javatests',
671           },
672           'dependencies': [
673             'sync_java',
674             'sync_java_test_support',
675             '../base/base.gyp:base_java_test_support',
676           ],
677           'includes': [ '../build/java.gypi' ],
678         },
679         {
680           'target_name': 'sync_java_test_support',
681           'type': 'none',
682           'variables': {
683             'package_name': 'sync_java_test_support',
684             'java_in_dir': '../sync/test/android/javatests',
685           },
686           'dependencies': [
687             'sync_java',
688           ],
689           'includes': [ '../build/java.gypi' ],
690         },
691       ],
692     }],
693     # Special target to wrap a gtest_target_type==shared_library
694     # sync_unit_tests into an android apk for execution.
695     ['OS == "android" and gtest_target_type == "shared_library"', {
696       'targets': [
697         {
698           'target_name': 'sync_unit_tests_apk',
699           'type': 'none',
700           'dependencies': [
701             'sync_unit_tests',
702           ],
703           'variables': {
704             'test_suite_name': 'sync_unit_tests',
705           },
706           'includes': [ '../build/apk_test.gypi' ],
707         },
708       ],
709     }],
710   ],