Home | History | Annotate | Download | only in sync
      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