Index: chrome/test/BUILD.gn |
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn |
index 7aa757d9be010d9435fc42ddae966256cbf2f0b9..28aa746e088facf99e2b3e048d0dae8437097064 100644 |
--- a/chrome/test/BUILD.gn |
+++ b/chrome/test/BUILD.gn |
@@ -214,11 +214,251 @@ source_set("test_support_unit") { |
} |
if (!is_android) { |
- gypi_values = exec_script( |
- "//build/gypi_to_gn.py", |
- [ rebase_path("../chrome_tests.gypi") ], |
- "scope", |
- [ "../chrome_tests.gypi" ]) |
+ gypi_values = exec_script("//build/gypi_to_gn.py", |
+ [ rebase_path("../chrome_tests.gypi") ], |
+ "scope", |
+ [ "../chrome_tests.gypi" ]) |
+ |
+ test("interactive_ui_tests") { |
+ sources = rebase_path(gypi_values.chrome_interactive_ui_test_sources, |
+ ".", |
+ "//chrome") |
+ |
+ defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ] |
+ ldflags = [] |
+ |
+ deps = [ |
+ "//base/allocator", |
+ "//chrome/browser", |
+ "//chrome/browser/devtools", |
+ "//chrome/renderer", |
+ "//chrome/test:test_support", |
+ "//chrome:resources", |
+ "//chrome:strings", |
+ "//chrome:packed_extra_resources", |
+ "//chrome:packed_resources", |
+ "//content/app/resources", |
+ "//crypto:platform", |
+ "//google_apis:test_support", |
+ "//net", |
+ "//net:net_resources", |
+ "//net:test_support", |
+ "//pdf", |
+ |
+ #"//ppapi:ppapi_tests", # TODO(GYP) this doesn't exist yet. |
+ "//skia", |
+ "//sync", |
+ "//testing/gmock", |
+ "//testing/gtest", |
+ "//third_party/hunspell", |
+ "//third_party/icu", |
+ "//third_party/libpng", |
+ "//third_party/npapi", |
+ "//third_party/zlib", |
+ "//ui/base:test_support", |
+ "//ui/web_dialogs:test_support", |
+ ] |
+ |
+ # Runtime dependencies |
+ datadeps = [ |
+ "//third_party/mesa:osmesa", |
+ ] |
+ |
+ if (toolkit_views) { |
+ sources += |
+ rebase_path(gypi_values.chrome_interactive_ui_test_views_sources, |
+ ".", |
+ "//chrome") |
+ deps += [ |
+ "//ui/views", |
+ "//ui/views:test_support", |
+ "//ui/views/controls/webview:test_support", |
+ ] |
+ if (is_linux) { |
+ # TODO(gbillock): aura linux does not support the automation for |
+ # SendMouseMoveNotifyWhenDone |
+ sources -= [ "../browser/ui/views/toolbar/toolbar_button_test.cc" ] |
+ } |
+ if (is_mac) { |
+ sources -= [ |
+ "../browser/ui/views/keyboard_access_browsertest.cc", |
+ "../browser/ui/views/message_center/web_notification_tray_browsertest.cc", |
+ "../browser/ui/views/panels/panel_view_browsertest.cc", |
+ "../browser/ui/views/toolbar/toolbar_button_test.cc", |
+ ] |
+ } |
+ if (is_chromeos) { |
+ sources -= [ |
+ "../../ui/views/widget/desktop_aura/desktop_window_tree_host_x11_interactive_uitest.cc", |
+ "../../ui/views/widget/desktop_aura/x11_topmost_window_finder_interactive_uitest.cc", |
+ ] |
+ } |
+ } |
+ |
+ if (is_linux && !is_chromeos) { |
+ # Desktop linux. |
+ sources -= [ |
+ # TODO(port): This times out. Attempts have been made to fix the |
+ # individual failures, but each time I disable a test from these |
+ # suites, it seems like one or another starts timing out too. |
+ "../browser/ui/views/keyboard_access_browsertest.cc", |
+ ] |
+ } else { |
+ # Everything but desktop Linux. |
+ sources += rebase_path( |
+ gypi_values.chrome_interactive_ui_test_non_desktop_linux_sources, |
+ ".", |
+ "//chrome") |
+ } |
+ |
+ if (is_chromeos) { |
+ sources += |
+ rebase_path(gypi_values.chrome_interactive_ui_test_chromeos_sources, |
+ ".", |
+ "//chrome") |
+ sources += [ "../browser/notifications/login_state_notification_blocker_chromeos_browsertest.cc" ] |
+ sources -= [ |
+ # Use only the _chromeos version on ChromeOS. |
+ "../test/base/view_event_test_platform_part_ash.cc", |
+ ] |
+ |
+ deps += [ |
+ "//ash/resources", |
+ "//chromeos", |
+ ] |
+ |
+ if (enable_nacl) { |
+ # TODO(GYP) this is also under a disable_nacl_untrusted==0 condition. |
+ deps += [ |
+ # '../native_client/src/trusted/service_runtime/linux/nacl_bootstrap.gyp:nacl_helper_bootstrap', TODO(GYP) |
+ # '../components/nacl.gyp:nacl_helper', TODO(GYP) |
+ # '../components/nacl_nonsfi.gyp:nacl_helper_nonsfi', TODO(GYP) |
+ ] |
+ } |
+ |
+ if (is_chrome_branded) { |
+ sources -= [ |
+ # These tests are failing on official cros bots. crbug.com/431450. |
+ "../browser/ui/views/bookmarks/bookmark_bar_view_test.cc", |
+ ] |
+ } |
+ } else { |
+ # ChromeOS doesn't use panels, everybody else does. |
+ sources += |
+ rebase_path(gypi_values.chrome_interactive_ui_test_panels_sources, |
+ ".", |
+ "//chrome") |
+ if (toolkit_views) { |
+ sources += rebase_path( |
+ gypi_values.chrome_interactive_ui_test_panels_views_sources, |
+ ".", |
+ "//chrome") |
+ } |
+ } |
+ |
+ if (!is_linux) { |
+ # Non-Linux platforms (Linux includes ChromeOS here). |
+ sources += rebase_path( |
+ gypi_values.chrome_interactive_ui_test_non_linux_and_chromeos_sources, |
+ ".", |
+ "//chrome") |
+ } |
+ |
+ if (is_win) { |
+ sources += rebase_path(gypi_values.chrome_interactive_ui_test_win_sources, |
+ ".", |
+ "//chrome") |
+ sources += [ |
+ # TODO: It would be nice to have these pulled in automatically from |
+ # direct_dependent_settings in their various targets |
+ # (net.gyp:net_resources, etc.), but that causes errors in other |
+ # targets when resulting .res files get referenced multiple times. |
+ #"$root_gen_dir/chrome_version/other_version.rc", TODO(GYP) what generates this? |
+ "$root_gen_dir/ui/resources/ui_unscaled_resources.rc", |
+ ] |
+ deps += [ |
+ "//third_party/isimpledom", |
+ "//third_party/wtl", |
+ "//ui/resources", |
+ |
+ # 'chrome.gyp:chrome_version_resources' TODO(GYP) |
+ ] |
+ } |
+ |
+ if (is_mac) { |
+ datadeps = [ |
+ "//chrome", |
+ ] |
+ |
+ # TODO(mark): We really want this for all non-static library targets, but |
+ # when we tried to pull it up to the common.gypi level, it broke other |
+ # things like the ui and startup tests. *shrug* |
+ ldflags += [ "-Wl,-ObjC" ] |
+ } else { |
+ # Non-Mac. |
+ sources += |
+ rebase_path(gypi_values.chrome_interactive_ui_test_non_mac_sources, |
+ ".", |
+ "//chrome") |
+ } |
+ |
+ if (cld_version == 0 || cld_version == 2) { |
+ # Interactive tests should use whatever CLD2 data access mode that the |
+ # application embedder is using. |
+ deps += [ "//third_party/cld_2:cld2_platform_impl" ] |
+ } |
+ |
+ if (use_x11) { |
+ configs += [ "//build/config/linux:xtst" ] |
+ datadeps += [ "//tools/xdisplaycheck" ] |
+ } |
+ |
+ if (enable_app_list) { |
+ sources += |
+ rebase_path(gypi_values.chrome_interactive_ui_test_app_list_sources, |
+ ".", |
+ "//chrome") |
+ } |
+ |
+ if (use_ash) { |
+ sources += rebase_path(gypi_values.chrome_interactive_ui_test_ash_sources, |
+ ".", |
+ "//chrome") |
+ deps += [ "//ash:test_support" ] |
+ } |
+ |
+ if (enable_notifications) { |
+ sources += rebase_path( |
+ gypi_values.chrome_interactive_ui_test_notifications_sources, |
+ ".", |
+ "//chrome") |
+ |
+ # Non-ChromeOS notifications tests (ChromeOS does not use cross-platform |
+ # panels). |
+ if (!is_chromeos) { |
+ sources += [ |
+ "../browser/notifications/notification_browsertest.cc", |
+ "../browser/notifications/platform_notification_service_browsertest.cc", |
+ ] |
+ } |
+ |
+ if (is_android) { |
+ sources -= [ |
+ # Android does not use the message center-based Notification system. |
+ "../browser/notifications/message_center_notifications_browsertest.cc", |
+ |
+ # TODO(peter): Enable the Notification browser tests. |
+ "../browser/notifications/notification_browsertest.cc", |
+ "../browser/notifications/platform_notification_service_browsertest.cc", |
+ ] |
+ } |
+ } # enable_notifications |
+ |
+ if (use_aura || is_chromeos) { |
+ sources -= |
+ [ "../../ui/views/corewm/desktop_capture_controller_unittest.cc" ] |
+ } |
+ } |
source_set("sync_integration_test_support") { |
testonly = true |
@@ -391,7 +631,7 @@ if (!is_android) { |
} |
} |
-# Executable to measure time to load libraries. |
+ # Executable to measure time to load libraries. |
test("load_library_perf_tests") { |
sources = [ |
"../browser/load_library_perf_test.cc", |