BUILD.gn 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. # Copyright 2016 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/ui.gni")
  5. import("//testing/test.gni")
  6. import("//tools/v8_context_snapshot/v8_context_snapshot.gni")
  7. # One Big Target for services to register their unit test sources. This exists
  8. # to avoid having to maintain a separate test binary for every service.
  9. #
  10. # To add tests for a new service, please define a "tests" source_set in the
  11. # service subdirectory and add it as a dependency here.
  12. test("services_unittests") {
  13. use_xvfb = use_xvfb_in_this_config
  14. # The tracing unittests require this for testing unwinding. See
  15. # stack_unwinder_android_unittest.cc.
  16. if (is_android && can_unwind_with_cfi_table && is_official_build) {
  17. add_unwind_tables_in_apk = true
  18. }
  19. # If your service does not run on iOS, its tests should go in the !iOS
  20. # section below. If you are unsure, contact blundell@chromium.org.
  21. deps = [
  22. "//services/cert_verifier:tests",
  23. "//services/cert_verifier/cert_net_url_loader:tests",
  24. "//services/metrics/public/cpp:tests",
  25. "//services/network:tests",
  26. "//services/network/public/cpp:tests",
  27. "//services/test:run_all_unittests",
  28. ]
  29. data_deps = [ "//testing/buildbot/filters:services_unittests_filters" ]
  30. if (!is_ios) {
  31. deps += [
  32. "//services/audio:tests",
  33. "//services/data_decoder:tests",
  34. "//services/device:tests",
  35. "//services/image_annotation:tests",
  36. "//services/image_annotation/public/cpp:tests",
  37. "//services/media_session:tests",
  38. "//services/media_session/public/cpp:tests",
  39. "//services/proxy_resolver:tests",
  40. "//services/resource_coordinator:tests",
  41. "//services/shape_detection:tests",
  42. "//services/tracing:tests",
  43. "//services/viz/privileged/mojom:unit_tests",
  44. "//services/viz/public/cpp/compositing:tests",
  45. "//services/viz/public/cpp/gpu:tests",
  46. "//services/viz/public/cpp/hit_test:tests",
  47. ]
  48. }
  49. if (is_win) {
  50. deps += [ "//services/proxy_resolver_win:tests" ]
  51. }
  52. if (is_android) {
  53. deps += [
  54. "//components/signin/public/android:java",
  55. "//services/data_decoder/public/cpp/android:safe_json_java",
  56. "//services/device:java",
  57. "//services/media_session/public/cpp/android:media_session_java",
  58. "//services/tracing:tracing_test_helper_java",
  59. # Some tests make network requests.
  60. "//net/android:net_java",
  61. ]
  62. # Some tests need to initialize V8.
  63. if (use_v8_context_snapshot) {
  64. deps += [ "//tools/v8_context_snapshot:v8_context_snapshot_assets" ]
  65. } else {
  66. deps += [ "//v8:v8_external_startup_data_assets" ]
  67. }
  68. }
  69. if (!is_android && !is_ios) {
  70. # NOTE: We do not currently support standalone service binaries on Android
  71. # or iOS, so any tests which use the ServiceTest framework to connect to
  72. # standalone services must be added here.
  73. deps += [ "//services/video_capture:tests" ]
  74. }
  75. if (is_fuchsia) {
  76. use_cfv1 = false
  77. test_runner_shard = "//build/config/fuchsia/test/elf_test_ambient_exec_runner.shard.test-cml"
  78. additional_manifest_fragments =
  79. [ "//build/config/fuchsia/test/network.shard.test-cml" ]
  80. }
  81. }
  82. if (!is_ios) {
  83. test("services_perftests") {
  84. deps = [
  85. "//services/device:perftests",
  86. "//services/test:run_all_unittests",
  87. "//services/viz/public/cpp/compositing:perftests",
  88. ]
  89. }
  90. }
  91. if (is_android) {
  92. robolectric_binary("services_junit_tests") {
  93. sources = [
  94. "device/generic_sensor/android/junit/src/org/chromium/device/sensors/PlatformSensorAndProviderTest.java",
  95. "device/geolocation/android/junit/src/org/chromium/device/geolocation/LocationProviderTest.java",
  96. "device/nfc/android/junit/src/org/chromium/device/nfc/NFCTest.java",
  97. "device/nfc/android/junit/src/org/chromium/device/nfc/NfcBlocklistTest.java",
  98. "shape_detection/android/junit/src/org/chromium/shape_detection/BitmapUtilsTest.java",
  99. ]
  100. deps = [
  101. "$google_play_services_package:google_play_services_base_java",
  102. "$google_play_services_package:google_play_services_basement_java",
  103. "$google_play_services_package:google_play_services_location_java",
  104. "$google_play_services_package:google_play_services_vision_common_java",
  105. "$google_play_services_package:google_play_services_vision_java",
  106. "//base:base_java",
  107. "//base:base_java_test_support",
  108. "//base:base_junit_test_support",
  109. "//mojo/public/java:base_java",
  110. "//mojo/public/java:bindings_java",
  111. "//mojo/public/java:system_java",
  112. "//services/device/generic_sensor:java",
  113. "//services/device/geolocation:geolocation_java",
  114. "//services/device/nfc/android:java",
  115. "//services/device/public/java:geolocation_java_test_support",
  116. "//services/device/public/java:nfc_java",
  117. "//services/device/public/mojom:generic_sensor_java",
  118. "//services/device/public/mojom:mojom_java",
  119. "//services/shape_detection:shape_detection_java",
  120. "//skia/public/mojom:mojom_java",
  121. ]
  122. }
  123. android_library("services_javatests") {
  124. testonly = true
  125. sources = [
  126. "shape_detection/android/javatests/src/org/chromium/shape_detection/BarcodeDetectionImplTest.java",
  127. "shape_detection/android/javatests/src/org/chromium/shape_detection/FaceDetectionImplTest.java",
  128. "shape_detection/android/javatests/src/org/chromium/shape_detection/TestUtils.java",
  129. "shape_detection/android/javatests/src/org/chromium/shape_detection/TextDetectionImplTest.java",
  130. ]
  131. deps = [
  132. "$google_play_services_package:google_play_services_base_java",
  133. "$google_play_services_package:google_play_services_basement_java",
  134. "$google_play_services_package:google_play_services_vision_common_java",
  135. "$google_play_services_package:google_play_services_vision_java",
  136. "//base:base_java",
  137. "//base:base_java_test_support",
  138. "//mojo/public/java:base_java",
  139. "//mojo/public/java:bindings_java",
  140. "//mojo/public/mojom/base:base_java",
  141. "//services/shape_detection:shape_detection_java",
  142. "//services/shape_detection/public/mojom:mojom_java",
  143. "//skia/public/mojom:mojom_java",
  144. "//third_party/android_deps:chromium_play_services_availability_java",
  145. "//third_party/android_support_test_runner:runner_java",
  146. "//third_party/androidx:androidx_test_monitor_java",
  147. "//third_party/androidx:androidx_test_runner_java",
  148. "//third_party/hamcrest:hamcrest_library_java",
  149. "//third_party/junit",
  150. "//ui/gfx/geometry/mojom:mojom_java",
  151. ]
  152. data = [ "test/data/" ]
  153. }
  154. }