123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332 |
- # Copyright 2019 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/features.gni")
- import("//build/config/ui.gni")
- import("//testing/test.gni")
- import("//tools/grit/grit_rule.gni")
- import("//tools/v8_context_snapshot/v8_context_snapshot.gni")
- import("//weblayer/variables.gni")
- if (is_android) {
- import("//build/config/android/rules.gni")
- import("//components/safe_browsing/buildflags.gni")
- weblayer_browsertests_manifest =
- "${target_gen_dir}/weblayer_browsertests_manifest/AndroidManifest.xml"
- jinja_template("weblayer_browsertests_manifest") {
- testonly = true
- input = "//weblayer/shell/android/browsertests_apk/AndroidManifest.xml"
- output = weblayer_browsertests_manifest
- }
- android_library("weblayer_browsertests_java") {
- testonly = true
- sources = [
- "../shell/android/browsertests_apk/src/org/chromium/weblayer_browsertests_apk/WebLayerBrowserTestsActivity.java",
- "../shell/android/browsertests_apk/src/org/chromium/weblayer_browsertests_apk/WebLayerBrowserTestsApplication.java",
- "../shell/android/browsertests_apk/src/org/chromium/weblayer_private/AccessTokenFetchTestBridge.java",
- "../shell/android/browsertests_apk/src/org/chromium/weblayer_private/GoogleAccountAccessTokenFetcherTestStub.java",
- "../shell/android/browsertests_apk/src/org/chromium/weblayer_private/MetricsTestHelper.java",
- "../shell/android/browsertests_apk/src/org/chromium/weblayer_private/TranslateTestBridge.java",
- ]
- deps = [
- ":weblayer_browsertests_jni",
- ":weblayer_browsertests_manifest",
- "//base:base_java",
- "//base:base_java_test_support",
- "//base:jni_java",
- "//build/android:build_java",
- "//components/embedder_support/android:application_java",
- "//components/safe_browsing/android:safe_browsing_java",
- "//components/translate/content/android:java",
- "//content/public/android:content_java",
- "//content/public/test/android:content_java_test_support",
- "//testing/android/native_test:native_test_java",
- "//third_party/androidx:androidx_annotation_annotation_java",
- "//third_party/androidx:androidx_fragment_fragment_java",
- "//ui/android:ui_java",
- "//weblayer/browser/java",
- "//weblayer/browser/java:base_module_interfaces_java",
- "//weblayer/browser/java:gms_bridge_java",
- "//weblayer/browser/java:interfaces_java",
- "//weblayer/public/java",
- "//weblayer/public/javatestutil:test_java",
- ]
- srcjar_deps = [ ":generated_enums" ]
- annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
- }
- generate_jni("weblayer_browsertests_jni") {
- sources = [
- "../shell/android/browsertests_apk/src/org/chromium/weblayer_private/AccessTokenFetchTestBridge.java",
- "../shell/android/browsertests_apk/src/org/chromium/weblayer_private/GoogleAccountAccessTokenFetcherTestStub.java",
- "../shell/android/browsertests_apk/src/org/chromium/weblayer_private/MetricsTestHelper.java",
- "../shell/android/browsertests_apk/src/org/chromium/weblayer_private/TranslateTestBridge.java",
- ]
- }
- android_assets("weblayer_test_assets") {
- testonly = true
- disable_compression = true
- deps = [ "//third_party/icu:icu_assets" ]
- if (use_v8_context_snapshot) {
- deps += [ "//tools/v8_context_snapshot:v8_context_snapshot_assets" ]
- } else {
- deps += [ "//v8:v8_external_startup_data_assets" ]
- }
- }
- java_cpp_enum("generated_enums") {
- sources = [ "//weblayer/browser/android/metrics/metrics_test_helper.h" ]
- }
- }
- test("weblayer_browsertests") {
- use_xvfb = use_xvfb_in_this_config
- data = [
- "$root_out_dir/weblayer_shell.pak",
- "data/",
- "//components/test/data",
- "//net/tools/testserver/",
- "//third_party/pywebsocket3/src/mod_pywebsocket/",
- ]
- data_deps = [
- "//third_party/mesa_headers",
- "//weblayer/shell:pak",
- ]
- defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
- deps = [
- "//base",
- "//base/test:test_support",
- "//components/autofill/core/browser",
- "//components/autofill/core/common",
- "//components/background_sync",
- "//components/blocked_content",
- "//components/content_settings/core/browser",
- "//components/embedder_support",
- "//components/error_page/content/browser",
- "//components/favicon/content",
- "//components/heavy_ad_intervention",
- "//components/infobars/content",
- "//components/language/core/browser",
- "//components/network_session_configurator/common",
- "//components/network_time",
- "//components/no_state_prefetch/browser",
- "//components/page_load_metrics/browser:browser",
- "//components/page_load_metrics/browser:test_support",
- "//components/page_load_metrics/browser/observers/ad_metrics",
- "//components/page_load_metrics/browser/observers/ad_metrics:test_support",
- "//components/permissions",
- "//components/permissions:test_support",
- "//components/prefs",
- "//components/reduce_accept_language/browser:browser",
- "//components/reduce_accept_language/browser:test_support",
- "//components/security_interstitials/content:security_interstitial_page",
- "//components/sessions:test_support",
- "//components/signin/core/browser",
- "//components/site_isolation",
- "//components/strings",
- "//components/subresource_filter/content/browser",
- "//components/subresource_filter/content/browser:test_support",
- "//components/subresource_filter/core/browser",
- "//components/subresource_filter/core/common",
- "//components/subresource_filter/core/common:test_support",
- "//components/translate/content/browser",
- "//components/translate/content/browser:test_support",
- "//components/ukm:test_support",
- "//components/ukm:ukm_test_helper",
- "//components/url_pattern_index/proto:url_pattern_index",
- "//components/user_prefs",
- "//components/variations",
- "//components/variations/net",
- "//content/public/browser",
- "//content/test:test_support",
- "//google_apis",
- "//net:test_support",
- "//testing/gtest",
- "//ui/base",
- "//ui/display",
- "//ui/gfx:test_support",
- "//weblayer:resources",
- "//weblayer/shell:weblayer_shell_lib",
- ]
- sources = [
- "../browser/ad_tagging_browsertest.cc",
- "../browser/ads_page_load_metrics_observer_browsertest.cc",
- "../browser/background_sync/background_sync_browsertest.cc",
- "../browser/client_hints_browsertest.cc",
- "../browser/clipboard_browsertest.cc",
- "../browser/content_settings_browsertest.cc",
- "../browser/cookie_manager_browsertest.cc",
- "../browser/download_browsertest.cc",
- "../browser/errorpage_browsertest.cc",
- "../browser/favicon/favicon_fetcher_browsertest.cc",
- "../browser/favicon/test_favicon_fetcher_delegate.cc",
- "../browser/favicon/test_favicon_fetcher_delegate.h",
- "../browser/fullscreen_browsertest.cc",
- "../browser/google_accounts_browsertest.cc",
- "../browser/js_communication/web_message_browsertest.cc",
- "../browser/large_sticky_ad_intervention_browsertest.cc",
- "../browser/navigation_browsertest.cc",
- "../browser/navigation_error_navigation_throttle_browsertest.cc",
- "../browser/new_tab_delegate_browsertest.cc",
- "../browser/no_state_prefetch/no_state_prefetch_browsertest.cc",
- "../browser/overlay_popup_ad_intervention_browsertest.cc",
- "../browser/page_load_metrics_browsertest.cc",
- "../browser/permissions/permissions_browsertest.cc",
- "../browser/popup_blocker_browsertest.cc",
- "../browser/prefetch_browsertest.cc",
- "../browser/profile_browsertest.cc",
- "../browser/reduce_accept_language_service_browsertest.cc",
- "../browser/site_isolation_browsertest.cc",
- "../browser/ssl_browsertest.cc",
- "../browser/subresource_filter_browsertest.cc",
- "../browser/translate_browsertest.cc",
- "../browser/url_bar/url_bar_browsertest.cc",
- "../browser/weblayer_variations_http_browsertest.cc",
- "../browser/webui/webui_browsertest.cc",
- "browsertests_main.cc",
- "interstitial_utils.cc",
- "interstitial_utils.h",
- "load_completion_observer.cc",
- "load_completion_observer.h",
- "subresource_filter_browser_test_harness.cc",
- "subresource_filter_browser_test_harness.h",
- "test_launcher_delegate_impl.cc",
- "test_launcher_delegate_impl.h",
- "test_navigation_observer.cc",
- "test_navigation_observer.h",
- "weblayer_browser_test.cc",
- "weblayer_browser_test.h",
- "weblayer_browser_test_test.cc",
- "weblayer_browser_test_utils.cc",
- "weblayer_browser_test_utils.h",
- ]
- if (is_android) {
- sources += [
- "../browser/android/access_token_fetch_browsertest.cc",
- "../browser/android/ad_density_intervention_browsertest.cc",
- "../browser/android/metrics/metrics_browsertest.cc",
- "../browser/android/metrics/metrics_test_helper.cc",
- "../browser/android/metrics/metrics_test_helper.h",
- "../browser/android/metrics/ukm_browsertest.cc",
- "../browser/autofill_browsertest.cc",
- "../browser/browser_controls_navigation_state_handler_browsertest.cc",
- "../browser/safe_browsing/client_side_detection_service_browsertest.cc",
- "../browser/safe_browsing/client_side_detection_service_factory_browsertest.cc",
- "../browser/safe_browsing/safe_browsing_browsertest.cc",
- "../browser/safe_browsing/weblayer_ping_manager_browsertest.cc",
- "../browser/url_bar/page_info_browsertest.cc",
- "../browser/webapps/webapk_install_scheduler_browsertest.cc",
- "../shell/android/browsertests_apk/translate_test_bridge.cc",
- "../shell/android/browsertests_apk/translate_test_bridge.h",
- "../shell/android/browsertests_apk/weblayer_browser_tests_jni_onload.cc",
- "stub_autofill_provider.cc",
- "stub_autofill_provider.h",
- ]
- deps += [
- ":weblayer_browsertests_java",
- ":weblayer_browsertests_jni",
- ":weblayer_test_assets",
- "//android_webview:locale_pak_assets",
- "//android_webview:pak_file_assets",
- "//components/android_autofill/browser:test_support",
- "//components/infobars/core",
- "//components/metrics",
- "//components/page_info",
- "//components/page_info/android",
- "//components/safe_browsing/android:safe_browsing_api_handler",
- "//components/safe_browsing/content/browser",
- "//components/safe_browsing/content/browser:client_side_detection",
- "//components/safe_browsing/content/browser/web_ui",
- "//components/safe_browsing/content/common:interfaces",
- "//components/safe_browsing/core/browser:token_fetcher",
- "//components/safe_browsing/core/browser:token_fetcher_testing_helper",
- "//components/safe_browsing/core/common",
- "//components/safe_browsing/core/common/proto:client_model_proto",
- "//components/viz/service:service_java",
- "//components/webapps/browser:browser",
- "//content/public/test/android:android_test_message_pump_support_java",
- "//content/test:android_test_message_pump_support",
- "//content/test:android_test_message_pump_support",
- "//services/metrics/public/cpp:ukm_builders",
- "//services/network:test_support",
- "//services/tracing:test_utils",
- "//testing/android/native_test:native_test_support",
- "//third_party/metrics_proto",
- "//ui/android:android",
- "//ui/touch_selection:touch_selection",
- "//weblayer:locale_pak_assets",
- # Needed for WebLayerImpl.
- "//weblayer/browser/java",
- # default upstream classes
- "//weblayer/browser/java:upstream_java",
- ]
- # Necessary to avoid GN errors in Cast builds, where this target isn't defined.
- if (safe_browsing_mode > 0) {
- deps += [ "//components/safe_browsing/content/browser:safe_browsing_blocking_page" ]
- }
- android_manifest =
- "${target_gen_dir}/weblayer_browsertests_manifest/AndroidManifest.xml"
- android_manifest_dep = ":weblayer_browsertests_manifest"
- use_default_launcher = false
- app_as_shared_lib = true
- product_config_java_packages = [ weblayer_product_config_java_package ]
- } else {
- sources += [
- # These tests create Browser objects from C++, which the Java side is not
- # setup for. Persistence related tests for Java will be done as
- # integration tests.
- "../browser/persistence/browser_persister_browsertest.cc",
- "../browser/persistence/minimal_browser_persister_browsertest.cc",
- ]
- deps += [ "//components/keep_alive_registry" ]
- }
- }
- source_set("run_all_unittests") {
- testonly = true
- sources = [ "run_all_unittests.cc" ]
- public_deps = [
- "//base/test:test_support",
- "//content/test:test_support",
- "//weblayer:weblayer_lib_base",
- ]
- }
- test("weblayer_unittests") {
- deps = [
- ":run_all_unittests",
- "//components/favicon/core:database",
- "//components/site_isolation",
- "//google_apis",
- ]
- sources = [
- "../browser/favicon/favicon_backend_wrapper_unittest.cc",
- "../browser/profile_disk_operations_unittests.cc",
- "../browser/site_isolation_policy_unittest.cc",
- ]
- if (is_android) {
- deps += [
- ":weblayer_test_assets",
- "//ui/android:ui_full_java",
- ]
- sources += [
- "../browser/safe_browsing/safe_browsing_token_fetcher_impl_unittest.cc",
- ]
- }
- }
|