BUILD.gn 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354
  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. import("//build/config/chromeos/ui_mode.gni")
  5. import("//build/config/features.gni")
  6. import("//testing/test.gni")
  7. group("sync") {
  8. public_deps = [
  9. "//components/sync/driver",
  10. "//components/sync/engine",
  11. "//components/sync/model",
  12. "//components/sync/nigori",
  13. ]
  14. if (!is_android) {
  15. public_deps += [ "//components/sync/trusted_vault" ]
  16. }
  17. if (is_chromeos) {
  18. public_deps += [ "//components/sync/chromeos" ]
  19. }
  20. }
  21. static_library("test_support") {
  22. testonly = true
  23. sources = [
  24. "base/model_type_test_util.cc",
  25. "base/model_type_test_util.h",
  26. "driver/data_type_manager_mock.cc",
  27. "driver/data_type_manager_mock.h",
  28. "driver/fake_data_type_controller.cc",
  29. "driver/fake_data_type_controller.h",
  30. "driver/fake_sync_api_component_factory.cc",
  31. "driver/fake_sync_api_component_factory.h",
  32. "driver/fake_sync_service.cc",
  33. "driver/fake_sync_service.h",
  34. "driver/mock_sync_service.cc",
  35. "driver/mock_sync_service.h",
  36. "driver/mock_trusted_vault_client.cc",
  37. "driver/mock_trusted_vault_client.h",
  38. "driver/sync_client_mock.cc",
  39. "driver/sync_client_mock.h",
  40. "driver/sync_service_impl_bundle.cc",
  41. "driver/sync_service_impl_bundle.h",
  42. "driver/sync_user_settings_mock.cc",
  43. "driver/sync_user_settings_mock.h",
  44. "driver/test_sync_service.cc",
  45. "driver/test_sync_service.h",
  46. "driver/test_sync_user_settings.cc",
  47. "driver/test_sync_user_settings.h",
  48. "engine/cycle/mock_debug_info_getter.cc",
  49. "engine/cycle/mock_debug_info_getter.h",
  50. "invalidations/mock_sync_invalidations_service.cc",
  51. "invalidations/mock_sync_invalidations_service.h",
  52. "nigori/nigori_test_utils.cc",
  53. "nigori/nigori_test_utils.h",
  54. "test/bookmark_entity_builder.cc",
  55. "test/bookmark_entity_builder.h",
  56. "test/entity_builder_factory.cc",
  57. "test/entity_builder_factory.h",
  58. "test/fake_cryptographer.cc",
  59. "test/fake_cryptographer.h",
  60. "test/fake_model_type_connector.cc",
  61. "test/fake_model_type_connector.h",
  62. "test/fake_model_type_controller_delegate.cc",
  63. "test/fake_model_type_controller_delegate.h",
  64. "test/fake_model_type_processor.cc",
  65. "test/fake_model_type_processor.h",
  66. "test/fake_model_type_sync_bridge.cc",
  67. "test/fake_model_type_sync_bridge.h",
  68. "test/fake_server.cc",
  69. "test/fake_server.h",
  70. "test/fake_server_http_post_provider.cc",
  71. "test/fake_server_http_post_provider.h",
  72. "test/fake_server_network_resources.cc",
  73. "test/fake_server_network_resources.h",
  74. "test/fake_server_nigori_helper.cc",
  75. "test/fake_server_nigori_helper.h",
  76. "test/fake_server_verifier.cc",
  77. "test/fake_server_verifier.h",
  78. "test/fake_sync_change_processor.cc",
  79. "test/fake_sync_change_processor.h",
  80. "test/fake_sync_encryption_handler.cc",
  81. "test/fake_sync_encryption_handler.h",
  82. "test/fake_sync_engine.cc",
  83. "test/fake_sync_engine.h",
  84. "test/fake_sync_manager.cc",
  85. "test/fake_sync_manager.h",
  86. "test/fake_sync_scheduler.cc",
  87. "test/fake_sync_scheduler.h",
  88. "test/forwarding_model_type_change_processor.cc",
  89. "test/forwarding_model_type_change_processor.h",
  90. "test/mock_connection_manager.cc",
  91. "test/mock_connection_manager.h",
  92. "test/mock_invalidation.cc",
  93. "test/mock_invalidation.h",
  94. "test/mock_invalidation_tracker.cc",
  95. "test/mock_invalidation_tracker.h",
  96. "test/mock_model_type_change_processor.cc",
  97. "test/mock_model_type_change_processor.h",
  98. "test/mock_model_type_processor.cc",
  99. "test/mock_model_type_processor.h",
  100. "test/mock_model_type_worker.cc",
  101. "test/mock_model_type_worker.h",
  102. "test/mock_nudge_handler.cc",
  103. "test/mock_nudge_handler.h",
  104. "test/mock_sync_engine.cc",
  105. "test/mock_sync_engine.h",
  106. "test/mock_update_handler.cc",
  107. "test/mock_update_handler.h",
  108. "test/model_type_store_test_util.cc",
  109. "test/model_type_store_test_util.h",
  110. "test/sessions_hierarchy.cc",
  111. "test/sessions_hierarchy.h",
  112. "test/single_type_mock_server.cc",
  113. "test/single_type_mock_server.h",
  114. "test/stub_model_type_sync_bridge.cc",
  115. "test/stub_model_type_sync_bridge.h",
  116. "test/sync_change_processor_wrapper_for_test.cc",
  117. "test/sync_change_processor_wrapper_for_test.h",
  118. "test/sync_engine_host_stub.cc",
  119. "test/sync_engine_host_stub.h",
  120. "test/sync_error_factory_mock.cc",
  121. "test/sync_error_factory_mock.h",
  122. "test/test_engine_components_factory.cc",
  123. "test/test_engine_components_factory.h",
  124. "test/test_matchers.h",
  125. "test/test_model_type_store_service.cc",
  126. "test/test_model_type_store_service.h",
  127. "test/trackable_mock_invalidation.cc",
  128. "test/trackable_mock_invalidation.h",
  129. ]
  130. public_deps = [
  131. ":sync",
  132. "//base",
  133. "//components/sync/invalidations",
  134. "//services/network:test_support",
  135. "//testing/gmock",
  136. "//testing/gtest",
  137. "//third_party/protobuf:protobuf_lite",
  138. ]
  139. deps = [
  140. "//base",
  141. "//base/test:test_support",
  142. "//build:chromeos_buildflags",
  143. "//components/bookmarks/browser",
  144. "//components/invalidation/impl:test_support",
  145. "//components/pref_registry",
  146. "//components/prefs:test_support",
  147. "//components/signin/public/base",
  148. "//components/signin/public/identity_manager:test_support",
  149. "//components/version_info",
  150. "//components/version_info:generate_version_info",
  151. "//google_apis",
  152. "//net",
  153. "//net:test_support",
  154. "//services/network:test_support",
  155. "//services/network/public/cpp:cpp",
  156. "//testing/gtest",
  157. "//ui/gfx",
  158. "//url",
  159. ]
  160. configs += [ "//build/config/compiler:wexit_time_destructors" ]
  161. if (!is_android) {
  162. sources += [
  163. "trusted_vault/fake_security_domains_server.cc",
  164. "trusted_vault/fake_security_domains_server.h",
  165. ]
  166. }
  167. if (is_chromeos_lacros) {
  168. sources += [
  169. "chromeos/lacros/fake_sync_explicit_passphrase_client_ash.cc",
  170. "chromeos/lacros/fake_sync_explicit_passphrase_client_ash.h",
  171. "chromeos/lacros/fake_sync_mojo_service.cc",
  172. "chromeos/lacros/fake_sync_mojo_service.h",
  173. "chromeos/lacros/fake_sync_user_settings_client_ash.cc",
  174. "chromeos/lacros/fake_sync_user_settings_client_ash.h",
  175. ]
  176. public_deps += [
  177. "//chromeos/crosapi/mojom",
  178. "//mojo/public/cpp/bindings",
  179. "//testing/gmock",
  180. ]
  181. }
  182. }
  183. source_set("unit_tests") {
  184. testonly = true
  185. sources = [
  186. "base/client_tag_hash_unittest.cc",
  187. "base/model_type_unittest.cc",
  188. "base/page_transition_conversion_unittest.cc",
  189. "base/protobuf_unittest.cc",
  190. "base/sync_prefs_unittest.cc",
  191. "base/sync_util_unittest.cc",
  192. "base/unique_position_unittest.cc",
  193. "base/weak_handle_unittest.cc",
  194. "driver/backend_migrator_unittest.cc",
  195. "driver/data_type_manager_impl_unittest.cc",
  196. "driver/glue/sync_engine_impl_unittest.cc",
  197. "driver/glue/sync_transport_data_prefs_unittest.cc",
  198. "driver/model_load_manager_unittest.cc",
  199. "driver/model_type_controller_unittest.cc",
  200. "driver/passphrase_type_metrics_provider_unittest.cc",
  201. "driver/startup_controller_unittest.cc",
  202. "driver/sync_auth_manager_unittest.cc",
  203. "driver/sync_internals_util_unittest.cc",
  204. "driver/sync_service_crypto_unittest.cc",
  205. "driver/sync_service_impl_startup_unittest.cc",
  206. "driver/sync_service_impl_unittest.cc",
  207. "driver/sync_service_utils_unittest.cc",
  208. "driver/sync_session_durations_metrics_recorder_unittest.cc",
  209. "driver/sync_stopped_reporter_unittest.cc",
  210. "driver/sync_user_settings_impl_unittest.cc",
  211. "engine/backoff_delay_provider_unittest.cc",
  212. "engine/bookmark_update_preprocessing_unittest.cc",
  213. "engine/cancelation_signal_unittest.cc",
  214. "engine/commit_contribution_impl_unittest.cc",
  215. "engine/commit_processor_unittest.cc",
  216. "engine/cycle/commit_quota_unittest.cc",
  217. "engine/cycle/nudge_tracker_unittest.cc",
  218. "engine/cycle/status_controller_unittest.cc",
  219. "engine/cycle/sync_cycle_snapshot_unittest.cc",
  220. "engine/debug_info_event_listener_unittest.cc",
  221. "engine/events/protocol_event_buffer_unittest.cc",
  222. "engine/get_updates_processor_unittest.cc",
  223. "engine/loopback_server/loopback_server_unittest.cc",
  224. "engine/loopback_server/persistent_bookmark_entity_unittest.cc",
  225. "engine/loopback_server/persistent_permanent_entity_unittest.cc",
  226. "engine/loopback_server/persistent_tombstone_entity_unittest.cc",
  227. "engine/loopback_server/persistent_unique_client_entity_unittest.cc",
  228. "engine/model_type_registry_unittest.cc",
  229. "engine/model_type_worker_unittest.cc",
  230. "engine/net/http_bridge_unittest.cc",
  231. "engine/net/sync_server_connection_manager_unittest.cc",
  232. "engine/nigori/nigori_unittest.cc",
  233. "engine/sync_manager_impl_unittest.cc",
  234. "engine/sync_scheduler_impl_unittest.cc",
  235. "engine/syncer_proto_util_unittest.cc",
  236. "engine/syncer_unittest.cc",
  237. "invalidations/fcm_handler_unittest.cc",
  238. "invalidations/interested_data_types_manager_unittest.cc",
  239. "model/client_tag_based_model_type_processor_unittest.cc",
  240. "model/client_tag_based_remote_update_handler_unittest.cc",
  241. "model/in_memory_metadata_change_list_unittest.cc",
  242. "model/model_type_store_backend_unittest.cc",
  243. "model/model_type_store_impl_unittest.cc",
  244. "model/model_type_store_service_impl_unittest.cc",
  245. "model/model_type_sync_bridge_unittest.cc",
  246. "model/mutable_data_batch_unittest.cc",
  247. "model/processor_entity_tracker_unittest.cc",
  248. "model/processor_entity_unittest.cc",
  249. "model/string_ordinal_unittest.cc",
  250. "model/sync_change_unittest.cc",
  251. "model/sync_data_unittest.cc",
  252. "model/sync_error_unittest.cc",
  253. "model/syncable_service_based_bridge_unittest.cc",
  254. "nigori/cryptographer_impl_unittest.cc",
  255. "nigori/keystore_keys_cryptographer_unittest.cc",
  256. "nigori/nigori_key_bag_unittest.cc",
  257. "nigori/nigori_model_type_processor_unittest.cc",
  258. "nigori/nigori_state_unittest.cc",
  259. "nigori/nigori_storage_impl_unittest.cc",
  260. "nigori/nigori_sync_bridge_impl_unittest.cc",
  261. "protocol/entity_data_unittest.cc",
  262. "protocol/proto_enum_conversions_unittest.cc",
  263. "protocol/proto_value_conversions_unittest.cc",
  264. ]
  265. if (!is_android) {
  266. sources += [
  267. "trusted_vault/download_keys_response_handler_unittest.cc",
  268. "trusted_vault/proto_string_bytes_conversion_unittest.cc",
  269. "trusted_vault/securebox_unittest.cc",
  270. "trusted_vault/standalone_trusted_vault_backend_unittest.cc",
  271. "trusted_vault/trusted_vault_access_token_fetcher_frontend_unittest.cc",
  272. "trusted_vault/trusted_vault_connection_impl_unittest.cc",
  273. "trusted_vault/trusted_vault_crypto_unittest.cc",
  274. "trusted_vault/trusted_vault_degraded_recoverability_handler_unittest.cc",
  275. "trusted_vault/trusted_vault_request_unittest.cc",
  276. "trusted_vault/trusted_vault_server_constants_unittest.cc",
  277. ]
  278. }
  279. if (is_chromeos) {
  280. sources += [ "chromeos/explicit_passphrase_mojo_utils_unittest.cc" ]
  281. }
  282. configs += [ "//build/config:precompiled_headers" ]
  283. data = [
  284. "//chrome/test/data/sync/",
  285. "//net/tools/testserver/",
  286. ]
  287. deps = [
  288. ":sync",
  289. ":test_support",
  290. "//base",
  291. "//base/test:test_support",
  292. "//build:chromeos_buildflags",
  293. "//components/gcm_driver:test_support",
  294. "//components/invalidation/impl",
  295. "//components/os_crypt",
  296. "//components/os_crypt:test_support",
  297. "//components/policy/core/common:test_support",
  298. "//components/prefs:test_support",
  299. "//components/signin/public/base:test_support",
  300. "//components/signin/public/identity_manager:test_support",
  301. "//components/variations:test_support",
  302. "//components/version_info",
  303. "//components/version_info:generate_version_info",
  304. "//components/version_info:version_string",
  305. "//google_apis:test_support",
  306. "//google_apis/gcm:gcm",
  307. "//net",
  308. "//net:test_support",
  309. "//services/network:test_support",
  310. "//services/network/public/cpp",
  311. "//sql",
  312. "//sql:test_support",
  313. "//testing/gmock",
  314. "//testing/gtest",
  315. "//third_party/crc32c",
  316. "//third_party/leveldatabase",
  317. "//third_party/protobuf:protobuf_lite",
  318. "//third_party/zlib/google:compression_utils",
  319. "//ui/base",
  320. "//url",
  321. ]
  322. if (is_ios) {
  323. sources -= [ "engine/net/http_bridge_unittest.cc" ]
  324. }
  325. if (!is_ios) {
  326. sources += [ "driver/sync_policy_handler_unittest.cc" ]
  327. deps += [
  328. "//components/policy:generated",
  329. "//components/policy/core/browser",
  330. ]
  331. }
  332. if (is_chromeos_ash) {
  333. deps += [ "//ash/constants" ]
  334. }
  335. }