| # Copyright 2016 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/config/ui.gni") |
| import("//testing/test.gni") |
| import("//tools/v8_context_snapshot/v8_context_snapshot.gni") |
| |
| # One Big Target for services to register their unit test sources. This exists |
| # to avoid having to maintain a separate test binary for every service. |
| # |
| # To add tests for a new service, please define a "tests" source_set in the |
| # service subdirectory and add it as a dependency here. |
| test("services_unittests") { |
| # If your service does not run on iOS, its tests should go in the !iOS |
| # section below. If you are unsure, contact blundell@chromium.org. |
| deps = [ |
| "//services/content:tests", |
| "//services/identity:tests", |
| "//services/metrics/public/cpp:tests", |
| "//services/network:tests", |
| "//services/network/public/cpp:tests", |
| "//services/test:run_all_unittests", |
| ] |
| |
| if (!is_ios) { |
| deps += [ |
| "//services/audio:tests", |
| "//services/data_decoder:tests", |
| "//services/device:tests", |
| "//services/image_annotation:tests", |
| "//services/image_annotation/public/cpp:tests", |
| "//services/media_session:tests", |
| "//services/media_session/public/cpp:tests", |
| "//services/preferences:tests", |
| "//services/proxy_resolver:tests", |
| "//services/resource_coordinator:tests", |
| "//services/shape_detection:tests", |
| "//services/tracing:tests", |
| "//services/viz", |
| "//services/viz/privileged/interfaces:unit_tests", |
| "//services/viz/public/cpp/compositing:tests", |
| "//services/viz/public/cpp/hit_test:tests", |
| ] |
| } |
| |
| if (use_aura) { |
| deps += [ |
| "//services/ws:tests", |
| "//services/ws/ime:tests", |
| "//services/ws/input_devices:tests", |
| "//services/ws/public/cpp/tests", |
| "//services/ws/public/mojom:tests", |
| ] |
| } |
| |
| if (is_android) { |
| deps += [ |
| "//services/data_decoder/public/cpp/android:safe_json_java", |
| "//services/device:java", |
| "//services/identity:java", |
| "//services/media_session/public/cpp/android:media_session_java", |
| |
| # Some tests make network requests. |
| "//net/android:net_java", |
| ] |
| |
| # Some tests need to initialize V8. |
| if (use_v8_context_snapshot) { |
| deps += [ "//tools/v8_context_snapshot:v8_context_snapshot_assets" ] |
| } else { |
| deps += [ "//v8:v8_external_startup_data_assets" ] |
| } |
| } |
| |
| if (!is_android && !is_ios) { |
| # NOTE: We do not currently support standalone service binaries on Android |
| # or iOS, so any tests which use the ServiceTest framework to connect to |
| # standalone services must be added here. |
| deps += [ "//services/video_capture:tests" ] |
| } |
| } |
| |
| if (!is_ios) { |
| test("services_perftests") { |
| deps = [ |
| "//services/device:perftests", |
| "//services/test:run_all_unittests", |
| "//services/viz/public/cpp/compositing:perftests", |
| ] |
| } |
| } |
| |
| if (is_android) { |
| junit_binary("service_junit_tests") { |
| java_files = [ |
| "device/generic_sensor/android/junit/src/org/chromium/device/sensors/PlatformSensorAndProviderTest.java", |
| "device/nfc/android/junit/src/org/chromium/device/nfc/NFCTest.java", |
| "device/geolocation/android/junit/src/org/chromium/device/geolocation/LocationProviderTest.java", |
| "shape_detection/android/junit/src/org/chromium/shape_detection/BitmapUtilsTest.java", |
| ] |
| deps = [ |
| "$google_play_services_package:google_play_services_base_java", |
| "$google_play_services_package:google_play_services_basement_java", |
| "$google_play_services_package:google_play_services_vision_common_java", |
| "$google_play_services_package:google_play_services_vision_java", |
| "//base:base_java", |
| "//base:base_java_test_support", |
| "//base:base_junit_test_support", |
| "//mojo/public/java:bindings_java", |
| "//mojo/public/java:system_java", |
| "//services/device/generic_sensor:java", |
| "//services/device/geolocation:geolocation_java", |
| "//services/device/nfc/android:java", |
| "//services/device/public/java:geolocation_java_test_support", |
| "//services/device/public/java:nfc_java", |
| "//services/device/public/mojom:generic_sensor_java", |
| "//services/device/public/mojom:mojom_java", |
| "//services/shape_detection:shape_detection_java", |
| "//skia/public/interfaces:interfaces_java", |
| "//third_party/android_deps:com_android_support_support_annotations_java", |
| ] |
| } |
| |
| android_library("service_javatests") { |
| testonly = true |
| java_files = [ |
| "shape_detection/android/javatests/src/org/chromium/shape_detection/BarcodeDetectionImplTest.java", |
| "shape_detection/android/javatests/src/org/chromium/shape_detection/FaceDetectionImplTest.java", |
| "shape_detection/android/javatests/src/org/chromium/shape_detection/TestUtils.java", |
| "shape_detection/android/javatests/src/org/chromium/shape_detection/TextDetectionImplTest.java", |
| ] |
| deps = [ |
| "$google_play_services_package:google_play_services_base_java", |
| "$google_play_services_package:google_play_services_basement_java", |
| "$google_play_services_package:google_play_services_vision_common_java", |
| "$google_play_services_package:google_play_services_vision_java", |
| "//base:base_java", |
| "//base:base_java_test_support", |
| "//mojo/public/java:base_java", |
| "//mojo/public/java:bindings_java", |
| "//mojo/public/mojom/base:base_java", |
| "//services/shape_detection:shape_detection_java", |
| "//services/shape_detection/public/mojom:mojom_java", |
| "//skia/public/interfaces:interfaces_java", |
| "//third_party/android_support_test_runner:runner_java", |
| "//third_party/junit", |
| "//ui/gfx/geometry/mojo:mojo_java", |
| ] |
| data = [ |
| "test/data/", |
| ] |
| } |
| } |