# 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("//services/catalog/public/tools/catalog.gni") import("//services/service_manager/public/tools/test/service_test.gni") import("//testing/test.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. If your unit tests # use the ServiceTest framework, you must also include corresponding catalog # entries in the "services_unittests_catalog" target below. service_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/identity:tests", "//services/network/public/cpp:tests", ] data_deps = [ "//testing/buildbot/filters:services_unittests_filters", ] if (!is_ios) { deps += [ "//services/data_decoder:tests", "//services/device:tests", "//services/preferences:tests", "//services/proxy_resolver:tests", "//services/resource_coordinator:tests", "//services/shape_detection:tests", "//services/viz", "//services/viz/privileged/interfaces:unit_tests", "//services/viz/public/cpp/compositing:tests", ] } if (use_aura) { deps += [ "//services/ui/clipboard:tests", "//services/ui/ime:tests", "//services/ui/input_devices:tests", "//services/ui/public/cpp/tests", "//services/ui/public/interfaces:tests", ] if (is_linux && !is_chromeos) { deps += [ "//services/ui/demo:tests" ] } if (use_ozone || (!is_chromeos && !is_mac && !is_ios)) { deps += [ "//services/ui/ws:tests" ] } } if (is_android) { deps += [ "//services/data_decoder/public/cpp/android:safe_json_java", "//services/device:java", # Some tests need to initialize V8. "//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_chromeos) { deps += [ "//services/ui/display:tests" ] } test_runner = "//services/test:run_all_service_tests" catalog = ":services_unittests_catalog" } catalog("services_unittests_catalog") { testonly = true # The division between "all platforms" and "!iOS" here needs to match that # for the main deps list in the services_unittests target above. catalog_deps = [ "//services/identity:tests_catalog" ] if (!is_ios) { catalog_deps += [ "//services/device:tests_catalog", "//services/preferences:tests_catalog", "//services/resource_coordinator:tests_catalog", "//services/video_capture:tests_catalog", "//services/viz:tests_catalog", ] } if (use_aura) { catalog_deps += [ "//services/ui/clipboard:tests_catalog", "//services/ui/ime:tests_catalog", ] if (is_linux && !is_chromeos) { catalog_deps += [ "//services/ui/demo:tests_catalog" ] } if (use_ozone || (!is_chromeos && !is_ios)) { catalog_deps += [ "//services/ui/ws:tests_catalog" ] } } } 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", "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", "//mojo/public/java:bindings_java", "//mojo/public/java:system_java", "//services/device/generic_sensor:java", "//services/device/nfc/android:java", "//services/device/public/interfaces:generic_sensor_java", "//services/device/public/interfaces:interfaces_java", "//services/device/public/java:nfc_java", "//services/shape_detection:shape_detection_java", "//skia/public/interfaces:interfaces_java", "//third_party/android_tools:android_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:bindings_java", "//services/shape_detection:shape_detection_java", "//services/shape_detection/public/interfaces:interfaces_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/", ] } }