blob: 34c37e65a11ac1d5e22bf728c4002f8961d5c2e3 [file] [log] [blame]
# 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",
"../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",
"//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/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",
"//weblayer/public/javatestutil:test_java",
]
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
}
generate_jni("weblayer_browsertests_jni") {
sources = [
"../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" ]
}
}
}
test("weblayer_browsertests") {
use_xvfb = use_xvfb_in_this_config
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/blocked_content",
"//components/content_settings/core/browser",
"//components/error_page/content/browser",
"//components/favicon/content",
"//components/network_session_configurator/common",
"//components/network_time",
"//components/page_load_metrics/browser:browser",
"//components/prefs",
"//components/prerender/browser",
"//components/security_interstitials/content:security_interstitial_page",
"//components/sessions:test_support",
"//components/signin/core/browser",
"//components/site_isolation",
"//components/strings",
"//components/translate/content/browser",
"//components/translate/content/browser:test_support",
"//components/ukm:test_support",
"//components/ukm:ukm_test_helper",
"//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/gfx:test_support",
"//weblayer/shell:weblayer_shell_lib",
]
sources = [
"../browser/autofill_browsertest.cc",
"../browser/client_hints_browsertest.cc",
"../browser/content_settings_browsertest.cc",
"../browser/cookie_manager_browsertest.cc",
"../browser/default_search_engine_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/google_accounts_browsertest.cc",
"../browser/js_communication/web_message_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/page_load_metrics_browsertest.cc",
"../browser/popup_blocker_browsertest.cc",
"../browser/prefetch_browsertest.cc",
"../browser/profile_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",
"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/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/safe_browsing/safe_browsing_browsertest.cc",
"../browser/url_bar/page_info_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",
]
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/infobars/core",
"//components/metrics",
"//components/page_info",
"//components/page_info/android",
"//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/metrics/public/cpp:ukm_builders",
"//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
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",
]
}
}
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",
]
if (is_android) {
deps += [ ":weblayer_test_assets" ]
}
sources = [
"../browser/favicon/favicon_backend_wrapper_unittest.cc",
"../browser/profile_disk_operations_unittests.cc",
"../browser/site_isolation_policy_unittest.cc",
]
}