| # Copyright 2014 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/chrome_build.gni") |
| import("//build/config/crypto.gni") |
| import("//build/config/features.gni") |
| import("//build/config/ui.gni") |
| import("//build/module_args/v8.gni") |
| import("//media/media_options.gni") |
| import("//testing/test.gni") |
| import("//third_party/mojo/src/mojo/public/tools/bindings/mojom.gni") |
| |
| content_tests_gypi_values = |
| exec_script("//build/gypi_to_gn.py", |
| [ |
| rebase_path("../content_tests.gypi"), |
| "--replace=<(SHARED_INTERMEDIATE_DIR)=$root_gen_dir", |
| ], |
| "scope", |
| [ "../content_tests.gypi" ]) |
| |
| # GYP version //content/content_tests.gypi:test_support_content |
| source_set("test_support") { |
| testonly = true |
| configs += [ "//build/config:precompiled_headers" ] |
| public_deps = [ |
| "//content/public/app:both", |
| "//content/public/browser", |
| "//content/public/common", |
| ] |
| deps = [ |
| "//cc/blink", |
| "//net:test_support", |
| "//skia", |
| "//storage/common", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//ui/accessibility:ax_gen", |
| "//ui/base", |
| "//ui/base/ime", |
| "//ui/base:test_support", |
| "//ui/events:dom_keycode_converter", |
| "//ui/events:events_base", |
| "//ui/events:test_support", |
| "//ui/events:gesture_detection", |
| "//ui/gfx:test_support", |
| "//ui/gl", |
| "//ui/gl:test_support", |
| "//ui/resources", |
| "//url", |
| ] |
| |
| if (!is_ios) { |
| sources = |
| rebase_path(content_tests_gypi_values.test_support_content_sources, |
| ".", |
| "//content") |
| |
| public_deps += [ "//third_party/WebKit/public:blink" ] |
| deps += [ |
| ":content_test_mojo_bindings", |
| "//components/scheduler:scheduler", |
| "//components/scheduler:test_support", |
| "//content/browser/speech/proto", |
| "//content/public/child", |
| "//content/gpu", |
| "//content/public/plugin", |
| "//content/public/renderer", |
| "//content/public/utility", |
| "//content/shell:pak", |
| "//cc", |
| "//cc:test_support", |
| "//ipc/mojo", |
| "//media", |
| "//mojo/application/public/cpp:cpp_for_chromium", |
| "//mojo/environment:chromium", |
| "//ppapi/host", |
| "//ppapi/proxy", |
| "//ppapi/proxy:test_support", |
| "//ppapi/shared_impl", |
| "//ppapi/shared_impl:test_support", |
| "//storage/browser", |
| "//storage/common", |
| "//ui/surface", |
| "//v8", |
| ] |
| |
| if (enable_plugins) { |
| deps += [ "//content/ppapi_plugin" ] |
| } |
| |
| if (enable_webrtc) { |
| sources += [ |
| "../renderer/media/mock_data_channel_impl.cc", |
| "../renderer/media/mock_data_channel_impl.h", |
| "../renderer/media/mock_media_stream_dispatcher.cc", |
| "../renderer/media/mock_media_stream_dispatcher.h", |
| "../renderer/media/mock_peer_connection_impl.cc", |
| "../renderer/media/mock_peer_connection_impl.h", |
| "../renderer/media/mock_web_rtc_peer_connection_handler_client.cc", |
| "../renderer/media/mock_web_rtc_peer_connection_handler_client.h", |
| "../renderer/media/webrtc/mock_peer_connection_dependency_factory.cc", |
| "../renderer/media/webrtc/mock_peer_connection_dependency_factory.h", |
| ] |
| |
| deps += [ |
| "//third_party/libjingle:libjingle_webrtc", |
| "//third_party/libjingle:libpeerconnection", |
| "//third_party/webrtc/modules/video_capture", |
| ] |
| } |
| if (!enable_plugins) { |
| sources -= [ "ppapi_unittest.cc" ] |
| } |
| |
| if (use_glib) { |
| configs += [ "//build/config/linux:glib" ] |
| } |
| |
| if (use_aura) { |
| deps += [ |
| "//ui/aura:test_support", |
| "//ui/resources:ui_test_pak", |
| "//ui/wm", |
| ] |
| } |
| |
| if (use_aura || is_mac) { |
| deps += [ "//ui/compositor" ] |
| } |
| |
| if (use_ozone) { |
| deps += [ "//ui/ozone" ] |
| } |
| |
| if (is_win) { |
| deps += [ |
| "//content:startup_helper_win", |
| "//third_party/iaccessible2", |
| ] |
| } |
| |
| if (!is_android && !is_ios) { |
| sources += [ |
| "../browser/compositor/test/no_transport_image_transport_factory.cc", |
| "../browser/compositor/test/no_transport_image_transport_factory.h", |
| ] |
| deps += [ |
| "//ui/compositor", |
| "//third_party/libvpx_new", |
| ] |
| } |
| |
| if (is_android) { |
| deps += [ |
| "//content/shell/android:copy_content_shell_assets", |
| "//ui/android", |
| "//ui/shell_dialogs", |
| ] |
| } |
| |
| if (is_win) { |
| deps += [ "//sandbox" ] |
| } |
| } else { # is_ios |
| sources = [ |
| "public/test/content_test_suite_base.cc", |
| "public/test/mock_notification_observer.cc", |
| "public/test/mock_resource_context.cc", |
| "public/test/test_browser_thread.cc", |
| "public/test/test_content_client_initializer.cc", |
| "public/test/test_notification_tracker.cc", |
| "public/test/test_utils.cc", |
| "public/test/unittest_test_suite.cc", |
| "test/content_test_suite.cc", |
| "test/test_content_browser_client.cc", |
| "test/test_content_client.cc", |
| ] |
| } |
| if (v8_use_external_startup_data) { |
| deps += [ "//gin:gin" ] |
| } |
| } |
| |
| source_set("browsertest_support") { |
| testonly = true |
| |
| sources = [ |
| "../public/test/content_browser_test.cc", |
| "../public/test/content_browser_test.h", |
| "../public/test/content_browser_test_utils.cc", |
| "../public/test/content_browser_test_utils.h", |
| "../public/test/content_browser_test_utils_mac.mm", |
| "content_browser_test_utils_internal.cc", |
| "content_browser_test_utils_internal.h", |
| "content_test_launcher.cc", |
| ] |
| |
| deps = [ |
| "//content/shell:content_shell_lib", |
| "//skia", |
| "//testing/gtest", |
| "//ui/accessibility:ax_gen", |
| ] |
| |
| if (is_android) { |
| deps += [ "//content/public/app:both" ] |
| } else { |
| deps += [ "//content/public/browser" ] |
| } |
| } |
| |
| mojom("content_test_mojo_bindings") { |
| sources = [ |
| "../public/test/test_mojo_service.mojom", |
| ] |
| } |
| |
| mojom("web_ui_test_mojo_bindings") { |
| sources = [ |
| "data/web_ui_test_mojo_bindings.mojom", |
| ] |
| } |
| |
| if (!is_ios) { |
| # GYP version //content/content_tests.gypi:layouttest_support_content |
| static_library("layouttest_support") { |
| testonly = true |
| sources = rebase_path( |
| content_tests_gypi_values.layouttest_support_content_sources, |
| ".", |
| "//content") |
| |
| deps = [ |
| ":test_support", |
| "//cc", |
| "//cc/blink", |
| "//components/test_runner:test_runner", |
| "//content/public/common", |
| "//skia", |
| "//v8", |
| "//ui/accessibility:ax_gen", |
| ] |
| |
| if (is_android) { |
| deps += [ ":jni" ] |
| } |
| } |
| |
| if (is_android) { |
| import("//build/config/android/rules.gni") |
| |
| generate_jni("jni") { |
| sources = [ |
| "../public/test/android/javatests/src/org/chromium/content/browser/test/NestedSystemMessageHandler.java", |
| ] |
| jni_package = "content/public/test" |
| } |
| } |
| } # !is_ios |
| |
| # TODO(GYP) enable content_browsertests on Mac when it links. |
| if (!is_mac) { |
| # TODO(GYP): Delete this after we've converted everything to GN. |
| # The _run targets exist only for compatibility w/ GYP. |
| group("content_browsertests_run") { |
| testonly = true |
| deps = [ |
| ":content_browsertests", |
| ] |
| } |
| |
| test("content_browsertests") { |
| sources = |
| rebase_path(content_tests_gypi_values.content_browsertests_sources, |
| ".", |
| "//content") |
| |
| if (is_android || is_linux || is_mac || is_win) { |
| data = [ |
| "data/", |
| "//net/data/", |
| "//media/test/data/", |
| ] |
| |
| if (is_android) { |
| data += [ "$root_out_dir/content_shell_assets/content_shell.pak" ] |
| } else { |
| data += [ |
| "$root_out_dir/content_shell.pak", |
| "//net/tools/testserver/", |
| "//ppapi/tests/test_case.html", |
| "//ppapi/tests/test_page.css", |
| "//third_party/pyftpdlib/", |
| "//third_party/pywebsocket/", |
| "//third_party/tlslite/", |
| ] |
| |
| if (is_mac) { |
| data += [ |
| "$root_out_dir/Content Shell.app/", |
| "$root_out_dir/plugins/test_netscape_plugin.plugin/", |
| ] |
| } |
| if (is_win) { |
| data += [ "$root_out_dir/plugins/np_test_netscape_plugin.dll" ] |
| } |
| } |
| } |
| |
| defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] |
| |
| if (proprietary_codecs && enable_hevc_demuxing) { |
| defines += [ "ENABLE_HEVC_DEMUXING" ] |
| } |
| |
| configs += [ |
| "//build/config:precompiled_headers", |
| "//build/config/compiler:no_size_t_to_int_warning", |
| ] |
| |
| deps = [ |
| ":browsertest_support", |
| ":web_ui_test_mojo_bindings", |
| "//base/allocator", |
| "//base/test:test_support", |
| "//content/browser/background_sync:background_sync_proto", |
| "//content/common:mojo_bindings", |
| "//content/gpu", |
| "//content/public/common", |
| "//content/public/plugin", |
| "//content/public/renderer", |
| "//content:resources", |
| "//content/shell:content_shell_lib", |
| "//content/shell:pak", |
| "//content/test:test_support", |
| "//device/battery", |
| "//device/battery:mojo_bindings", |
| "//gin", |
| "//gpu", |
| "//ipc:test_support", |
| "//media:test_support", |
| "//media/audio:test_support", |
| "//media/base:test_support", |
| "//media:shared_memory_support", |
| "//mojo/application/public/cpp:cpp_for_chromium", |
| "//mojo/environment:chromium", |
| "//mojo/test:test_support", |
| "//net:test_support", |
| "//ppapi/host", |
| "//ppapi/proxy", |
| "//ppapi/proxy:ipc", |
| "//ppapi/shared_impl", |
| "//third_party/mojo/src/mojo/edk/system", |
| "//third_party/mojo/src/mojo/edk/test:test_support", |
| "//third_party/mojo/src/mojo/public/cpp/bindings", |
| "//third_party/mojo/src/mojo/public/js", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/WebKit/public:blink", |
| "//third_party/leveldatabase", |
| "//third_party/mesa:osmesa", |
| "//third_party/zlib", |
| "//ui/accessibility", |
| "//ui/accessibility:ax_gen", |
| "//ui/base", |
| "//ui/base/ime", |
| "//ui/gfx", |
| "//ui/gfx/geometry", |
| "//ui/gl", |
| "//ui/gl:test_support", |
| "//ui/resources", |
| "//ui/shell_dialogs", |
| "//ui/snapshot", |
| ] |
| |
| data_deps = [ |
| "//ppapi:ppapi_tests", |
| "//third_party/mesa:osmesa", |
| ] |
| |
| if (is_win) { |
| sources += rebase_path( |
| content_tests_gypi_values.content_browsertests_win_sources, |
| ".", |
| "//content") |
| |
| deps += [ |
| "//content/app/strings", |
| "//net:net_resources", |
| "//third_party/WebKit/public:resources", |
| "//third_party/iaccessible2", |
| "//third_party/isimpledom", |
| ] |
| |
| libs = [ "oleacc.lib" ] |
| } |
| |
| if (is_linux) { |
| sources -= |
| [ "../browser/accessibility/dump_accessibility_tree_browsertest.cc" ] |
| } |
| |
| if (is_android) { |
| sources += rebase_path( |
| content_tests_gypi_values.content_browsertests_android_sources, |
| ".", |
| "//content") |
| sources -= |
| [ "../browser/battery_status/battery_monitor_impl_browsertest.cc" ] |
| deps -= [ "//device/battery" ] |
| deps += [ |
| "//content/shell/android:content_shell_jni_headers", |
| "//content/shell:content_shell_lib", |
| "//testing/android/native_test:native_test_support", |
| ] |
| |
| use_launcher = false |
| } |
| |
| if (is_mac) { |
| sources += [ "../renderer/external_popup_menu_browsertest.cc" ] |
| deps += [ |
| # Needed for Content Shell.app's Helper. |
| #"//content/shell:content_shell", #TODO(GYP) enable for mac |
| ] |
| } |
| |
| if (use_aura && !is_win) { |
| deps += [ "//ui/events:test_support" ] |
| } |
| |
| if (!use_aura && !is_mac) { |
| sources -= |
| [ "../browser/compositor/image_transport_factory_browsertest.cc" ] |
| } |
| |
| if (enable_webrtc) { |
| sources += rebase_path( |
| content_tests_gypi_values.content_browsertests_webrtc_sources, |
| ".", |
| "//content") |
| deps += [ "//testing/perf" ] |
| } |
| |
| if (enable_plugins) { |
| sources += rebase_path( |
| content_tests_gypi_values.content_browsertests_plugins_sources, |
| ".", |
| "//content") |
| data_deps += [ "//ppapi:ppapi_tests" ] |
| } |
| |
| if (enable_web_speech) { |
| sources += rebase_path( |
| content_tests_gypi_values.content_browsertests_speech_sources, |
| ".", |
| "//content") |
| } |
| |
| if (!is_chrome_branded) { |
| sources += rebase_path( |
| content_tests_gypi_values.content_browsertests_unofficial_build_sources, |
| ".", |
| "//content") |
| } |
| |
| if (use_aura) { |
| deps += [ |
| "//ui/touch_selection:test_support", |
| "//ui/touch_selection:touch_selection", |
| ] |
| } else { |
| sources -= [ |
| "../browser/renderer_host/input/touch_selection_controller_client_aura_browsertest.cc", |
| "../browser/web_contents/web_contents_view_aura_browsertest.cc", |
| ] |
| } |
| } |
| } |
| |
| # TODO(GYP): Delete this after we've converted everything to GN. |
| # The _run targets exist only for compatibility w/ GYP. |
| group("content_unittests_run") { |
| testonly = true |
| deps = [ |
| ":content_unittests", |
| ] |
| } |
| |
| test("content_unittests") { |
| sources = rebase_path(content_tests_gypi_values.content_unittests_sources, |
| ".", |
| "//content") |
| |
| if (is_android || is_linux || is_mac || is_win) { |
| data = [ |
| "data/", |
| "//net/data/ssl/certificates/", |
| "//media/test/data/", |
| ] |
| |
| if (is_android) { |
| data += [ "$root_out_dir/content_shell_assets/content_shell.pak" ] |
| } else { |
| data += [ "$root_out_dir/content_shell.pak" ] |
| } |
| } |
| |
| configs += [ "//build/config:precompiled_headers" ] |
| |
| deps = [ |
| ":test_support", |
| "//base/allocator", |
| "//base/test:test_support", |
| "//content/browser/background_sync:background_sync_proto", |
| "//content/browser/notifications:notification_proto", |
| "//content/browser/service_worker:service_worker_proto", |
| "//content/browser/speech/proto", |
| "//content/common:mojo_bindings", |
| "//content/public/browser", |
| "//content/public/common", |
| "//content/public/common:mojo_bindings", |
| "//crypto", |
| "//device/battery", |
| "//device/battery:mojo_bindings", |
| "//mojo/environment:chromium", |
| "//net:extras", |
| "//net:test_support", |
| "//skia", |
| "//sql", |
| "//sql:test_support", |
| "//testing/gmock", |
| "//testing/gtest", |
| "//third_party/mojo/src/mojo/edk/test:test_support", |
| "//third_party/mojo/src/mojo/public/cpp/bindings", |
| "//third_party/re2", |
| "//ui/accessibility", |
| "//ui/base", |
| "//ui/events/blink", |
| "//ui/gfx", |
| "//ui/gfx/geometry", |
| "//ui/gfx/ipc", |
| ] |
| |
| if (!is_ios) { |
| deps += [ |
| "//base/third_party/dynamic_annotations", |
| "//cc", |
| "//cc:test_support", |
| "//cc/surfaces", |
| "//content:resources", |
| "//content/gpu", |
| "//content/public/browser", |
| "//content/public/child", |
| "//content/public/plugin", |
| "//content/public/renderer", |
| "//gin", |
| "//gpu", |
| "//gpu:test_support", |
| "//ipc:test_support", |
| "//media:test_support", |
| "//media:shared_memory_support", |
| "//media/audio:test_support", |
| "//media/base:test_support", |
| "//media/midi:midi", |
| "//storage/browser", |
| "//storage/common", |
| "//third_party/WebKit/public:blink", |
| "//third_party/icu", |
| "//third_party/leveldatabase", |
| "//third_party/libjingle", |
| "//ui/compositor:test_support", |
| "//ui/gl", |
| "//ui/gl:test_support", |
| ] |
| } |
| |
| data_deps = [ "//third_party/mesa:osmesa" ] |
| |
| if (!is_win) { |
| sources += [ "../browser/file_descriptor_info_impl_unittest.cc" ] |
| } |
| |
| if (enable_plugins) { |
| sources += |
| rebase_path(content_tests_gypi_values.content_unittests_plugins_sources, |
| ".", |
| "//content") |
| } |
| |
| if (enable_webrtc) { |
| sources += |
| rebase_path(content_tests_gypi_values.content_unittests_webrtc_sources, |
| ".", |
| "//content") |
| deps += [ |
| "//third_party/libjingle:libjingle_webrtc", |
| "//third_party/libjingle:libpeerconnection", |
| "//third_party/webrtc/modules/video_capture", |
| ] |
| |
| if (is_linux || is_mac || is_win) { |
| sources += |
| [ "../browser/media/capture/desktop_capture_device_unittest.cc" ] |
| deps += [ "//third_party/webrtc/modules/desktop_capture" ] |
| } |
| |
| if (is_chromeos) { |
| sources += |
| [ "../browser/media/capture/desktop_capture_device_aura_unittest.cc" ] |
| } |
| } |
| |
| if (enable_web_speech) { |
| sources += |
| rebase_path(content_tests_gypi_values.content_unittests_speech_sources, |
| ".", |
| "//content") |
| } |
| |
| if (is_linux) { |
| if (use_dbus) { |
| deps += [ "//dbus:test_support" ] |
| } else { |
| sources -= |
| [ "../browser/geolocation/wifi_data_provider_linux_unittest.cc" ] |
| } |
| } |
| if (is_win) { |
| deps += [ "//third_party/iaccessible2" ] |
| } |
| if (is_mac) { |
| # These flags are needed to run the test on Mac. |
| # Search for comments about "xcode_settings" in chrome_tests.gypi. |
| ldflags = [ "-Wl,-ObjC" ] |
| |
| deps += [ "//third_party/ocmock" ] |
| } |
| if (is_chromeos) { |
| sources -= [ "../browser/geolocation/wifi_data_provider_linux_unittest.cc" ] |
| deps += [ "//chromeos" ] |
| } |
| if (is_android) { |
| sources += |
| rebase_path(content_tests_gypi_values.content_unittests_android_sources, |
| ".", |
| "//content") |
| sources -= [ |
| "../browser/geolocation/network_location_provider_unittest.cc", |
| "../browser/geolocation/wifi_data_provider_common_unittest.cc", |
| "../browser/power_usage_monitor_impl_unittest.cc", |
| "../browser/renderer_host/begin_frame_observer_proxy_unittest.cc", |
| "../browser/webui/url_data_manager_backend_unittest.cc", |
| ] |
| deps -= [ "//device/battery" ] |
| deps += [ "//testing/android/native_test:native_test_native_code" ] |
| } |
| if (!is_android && !is_ios) { |
| deps += [ "//third_party/libvpx_new" ] |
| } |
| |
| if (use_aura) { |
| deps += [ |
| "//ui/aura", |
| "//ui/aura_extra", |
| "//ui/wm", |
| ] |
| } else { |
| sources -= [ |
| "../browser/renderer_host/render_widget_host_view_aura_unittest.cc", |
| "../browser/renderer_host/web_input_event_aura_unittest.cc", |
| "../browser/web_contents/aura/overscroll_navigation_overlay_unittest.cc", |
| "../browser/web_contents/aura/overscroll_window_animation_unittest.cc", |
| "../browser/web_contents/aura/overscroll_window_delegate_unittest.cc", |
| "../browser/web_contents/web_contents_view_aura_unittest.cc", |
| ] |
| } |
| if (use_aura || toolkit_views) { |
| deps += [ "//ui/events:test_support" ] |
| } |
| if (!use_aura && !is_mac) { |
| sources -= [ |
| "../browser/compositor/buffer_queue_unittest.cc", |
| "../browser/compositor/reflector_impl_unittest.cc", |
| "../browser/compositor/software_browser_compositor_output_surface_unittest.cc", |
| ] |
| } |
| |
| if (!is_win && !is_mac) { |
| sources -= [ "../common/plugin_list_unittest.cc" ] |
| } |
| |
| if (use_ozone) { |
| deps += [ |
| "//ui/ozone", |
| "//ui/ozone:ozone_base", |
| ] |
| } else { |
| sources -= |
| [ "../browser/compositor/software_output_device_ozone_unittest.cc" ] |
| } |
| |
| if (is_mac && use_openssl) { |
| deps += [ "//third_party/boringssl" ] |
| } |
| } |
| |
| if (!is_mac) { # TODO(GYP) enable on Mac once it links. |
| test("content_perftests") { |
| sources = [ |
| "../browser/renderer_host/input/input_router_impl_perftest.cc", |
| "../common/cc_messages_perftest.cc", |
| "../test/run_all_perftests.cc", |
| ] |
| deps = [ |
| "//base/allocator", |
| "//base/test:test_support", |
| "//content/public/browser", |
| "//content/public/common", |
| "//content/test:test_support", |
| "//cc", |
| "//skia", |
| "//testing/gtest", |
| "//testing/perf", |
| "//ui/gfx", |
| "//ui/gfx/geometry", |
| ] |
| |
| if (is_android) { |
| deps += [ "//testing/android/native_test:native_test_native_code" ] |
| } |
| } |
| |
| # TODO(GYP): Delete this after we've converted everything to GN. |
| # The _run targets exist only for compatibility w/ GYP. |
| group("content_gl_tests_run") { |
| testonly = true |
| deps = [ |
| ":content_gl_tests", |
| ] |
| } |
| |
| test("content_gl_tests") { |
| sources = [ |
| "../common/gpu/client/gl_helper_unittest.cc", |
| "../common/gpu/client/gpu_in_process_context_tests.cc", |
| ] |
| |
| deps = [ |
| ":test_support", |
| "//base/allocator", |
| "//base/test:test_support", |
| "//content/public/common", |
| "//gpu/blink", |
| "//gpu/command_buffer/common", |
| "//testing/gtest", |
| "//third_party/WebKit/public:blink", |
| "//ui/base", |
| "//ui/gfx", |
| "//ui/gfx:test_support", |
| "//ui/gfx/geometry", |
| "//ui/gl", |
| "//ui/gl:test_support", |
| "//v8", |
| ] |
| |
| if (is_android) { |
| deps += [ "//testing/android/native_test:native_test_native_code" ] |
| } else { |
| data_deps = [ |
| "//third_party/ffmpeg", |
| "//third_party/mesa:osmesa", |
| ] |
| } |
| } |
| |
| test("content_gl_benchmark") { |
| sources = [ |
| "../common/gpu/client/gl_helper_benchmark.cc", |
| ] |
| |
| deps = [ |
| ":test_support", |
| "//base/allocator", |
| "//base/test:test_support", |
| "//content/public/common", |
| "//gpu/blink", |
| "//testing/gtest", |
| "//third_party/WebKit/public:blink", |
| "//ui/base", |
| "//ui/gfx", |
| "//ui/gfx/geometry", |
| "//ui/gl", |
| "//ui/gl:test_support", |
| ] |
| } |
| } |