| # 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") |
| |
| 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/MetricsTestHelper.java", |
| ] |
| deps = [ |
| ":weblayer_browsertests_jni", |
| ":weblayer_browsertests_manifest", |
| "//base:base_java", |
| "//base:base_java_test_support", |
| "//base:jni_java", |
| "//components/embedder_support/android:application_java", |
| "//components/safe_browsing/android:safe_browsing_java", |
| "//content/public/android:content_java", |
| "//content/public/test/android:content_java_test_support", |
| "//testing/android/native_test:native_test_java", |
| "//third_party/android_deps:android_support_v4_java", |
| "//third_party/android_deps:androidx_core_core_java", |
| "//ui/android:ui_java", |
| "//weblayer/browser/java", |
| "//weblayer/browser/java:gms_bridge_java", |
| "//weblayer/public/java", |
| ] |
| |
| annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ] |
| |
| android_manifest_for_lint = weblayer_browsertests_manifest |
| } |
| |
| generate_jni("weblayer_browsertests_jni") { |
| sources = [ "../shell/android/browsertests_apk/src/org/chromium/weblayer_private/MetricsTestHelper.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" ] |
| } |
| } |
| } |
| |
| test("weblayer_browsertests") { |
| data = [ |
| "$root_out_dir/weblayer_shell.pak", |
| "data/", |
| "//net/tools/testserver/", |
| "//third_party/pywebsocket3/src/mod_pywebsocket/", |
| "//third_party/tlslite/", |
| ] |
| |
| 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/browser:test_support", |
| "//components/autofill/core/common", |
| "//components/network_time", |
| "//components/security_interstitials/content:security_interstitial_page", |
| "//components/sessions:test_support", |
| "//components/strings", |
| "//components/variations", |
| "//content/public/browser", |
| "//content/test:test_support", |
| "//net:test_support", |
| "//testing/gtest", |
| "//ui/base", |
| "//weblayer/shell:weblayer_shell_lib", |
| ] |
| |
| sources = [ |
| "../browser/autofill_browsertest.cc", |
| "../browser/download_browsertest.cc", |
| "../browser/errorpage_browsertest.cc", |
| "../browser/navigation_browsertest.cc", |
| "../browser/ssl_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", |
| "stub_autofill_provider.cc", |
| "stub_autofill_provider.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/safe_browsing/safe_browsing_browsertest.cc", |
| "../shell/android/browsertests_apk/metrics_browsertest.cc", |
| "../shell/android/browsertests_apk/weblayer_browser_tests_jni_onload.cc", |
| ] |
| deps += [ |
| ":weblayer_browsertests_java", |
| ":weblayer_browsertests_jni", |
| ":weblayer_test_assets", |
| "//android_webview:generate_aw_strings_grit", |
| "//android_webview:locale_pak_assets", |
| "//android_webview:pak_file_assets", |
| "//components/metrics", |
| "//components/safe_browsing/android:safe_browsing_api_handler", |
| "//components/safe_browsing/content", |
| "//components/safe_browsing/core:features", |
| "//components/viz/service:service_java", |
| "//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/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 safebrowsing related classes |
| "//weblayer/browser/java:gms_bridge_upstream_impl_java", |
| ] |
| |
| android_manifest = |
| "${target_gen_dir}/weblayer_browsertests_manifest/AndroidManifest.xml" |
| android_manifest_dep = ":weblayer_browsertests_manifest" |
| use_default_launcher = false |
| shared_resources = 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", |
| "../browser/url_bar/url_bar_browsertest.cc", |
| ] |
| } |
| } |