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