1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 import("//build/config/chrome_build.gni")
6 import("//build/config/crypto.gni")
7 import("//build/config/features.gni")
8 import("//build/config/ui.gni")
9 import("//chrome/chrome_tests.gni")
10 import("//chrome/test/base/js2gtest.gni")
11 import("//testing/test.gni")
14 # TODO(GYP) http://crbug.com/462791
15 enable_nacl_browsertests = false
18 # This target exists to reference other test executables to bring these files
24 # GYP version: chrome/chrome_tests_unit.gypi:test_support_common
25 source_set("test_support") {
30 "base/chrome_process_util.cc",
31 "base/chrome_process_util.h",
32 "base/chrome_process_util_mac.cc",
33 "base/chrome_render_view_host_test_harness.cc",
34 "base/chrome_render_view_host_test_harness.h",
35 "base/chrome_test_launcher.cc",
36 "base/chrome_test_launcher.h",
37 "base/chrome_test_suite.cc",
38 "base/chrome_test_suite.h",
39 "base/chrome_unit_test_suite.cc",
40 "base/chrome_unit_test_suite.h",
41 "base/dialog_test_browser_window.cc",
42 "base/dialog_test_browser_window.h",
43 "base/find_in_page_observer.cc",
44 "base/find_in_page_observer.h",
45 "base/history_index_restore_observer.cc",
46 "base/history_index_restore_observer.h",
47 "base/in_process_browser_test.cc",
48 "base/in_process_browser_test.h",
49 "base/in_process_browser_test_mac.cc",
50 "base/profile_mock.cc",
51 "base/profile_mock.h",
52 "base/scoped_browser_locale.cc",
53 "base/scoped_browser_locale.h",
54 "base/scoped_bundle_swizzler_mac.h",
55 "base/scoped_bundle_swizzler_mac.mm",
56 "base/scoped_testing_local_state.cc",
57 "base/scoped_testing_local_state.h",
58 "base/test_browser_window.cc",
59 "base/test_browser_window.h",
60 "base/test_launcher_utils.cc",
61 "base/test_launcher_utils.h",
62 "base/test_switches.cc",
63 "base/test_switches.h",
64 "base/testing_browser_process.cc",
65 "base/testing_browser_process.h",
66 "base/testing_browser_process_platform_part.cc",
67 "base/testing_browser_process_platform_part.h",
68 "base/testing_io_thread_state.cc",
69 "base/testing_io_thread_state.h",
70 "base/testing_pref_service_syncable.cc",
71 "base/testing_pref_service_syncable.h",
72 "base/testing_profile.cc",
73 "base/testing_profile.h",
74 "base/testing_profile_manager.cc",
75 "base/testing_profile_manager.h",
78 "base/ui_test_utils.cc",
79 "base/ui_test_utils.h",
80 "logging/win/file_logger.cc",
81 "logging/win/file_logger.h",
82 "logging/win/log_file_printer.cc",
83 "logging/win/log_file_printer.h",
84 "logging/win/log_file_reader.cc",
85 "logging/win/log_file_reader.h",
86 "logging/win/mof_data_parser.cc",
87 "logging/win/mof_data_parser.h",
88 "logging/win/test_log_collector.cc",
89 "logging/win/test_log_collector.h",
92 configs += [ "//build/config:precompiled_headers" ]
94 # New deps should go in the non-iOS section below.
96 "//content/test:test_support",
99 "//base:prefs_test_support",
100 "//base/test:test_support",
101 "//chrome:resources",
103 "//chrome/app:test_support",
105 #"//chrome/app/theme:theme_resources",
106 "//chrome/browser:test_support",
107 "//chrome/common:test_support",
108 "//chrome/renderer:test_support",
109 "//components/bookmarks/test",
110 "//components/gcm_driver:test_support",
111 "//components/gcm_driver/instance_id:test_support",
112 "//components/history/core/test:test",
113 "//components/metrics:test_support",
114 "//components/omnibox/browser:test_support",
115 "//components/password_manager/core/browser:test_support",
116 "//components/pref_registry:test_support",
117 "//components/rappor:test_support",
118 "//components/search_engines:test_support",
119 "//components/signin/core/browser:test_support",
120 "//components/sync_driver:test_support",
121 "//components/update_client:test_support",
122 "//content/public/app:both",
123 "//ui/gfx:test_support",
125 "//net:test_support",
128 "//sql:test_support",
132 "//third_party/zlib",
133 "//ui/message_center:test_support",
142 "//content/public/child",
143 "//content/public/common",
144 "//content/public/plugin",
145 "//content/public/renderer",
146 "//content/public/utility",
147 "//components/autofill/core/browser:test_support",
148 "//components/captive_portal:test_support",
149 "//components/guest_view/browser:test_support",
150 "//components/infobars/core",
151 "//components/sessions:test_support",
152 "//components/user_manager:test_support",
153 "//components/web_resource:test_support",
154 "//google_apis:test_support",
155 "//ipc:test_support",
156 "//media:test_support",
157 "//ppapi/shared_impl",
158 "//sql:test_support",
159 "//third_party/leveldatabase",
161 "//ui/events:events_base",
166 if (enable_extensions) {
168 "//chrome/common/extensions/api",
169 "//extensions:test_support",
174 deps += [ "//crypto:platform" ]
177 # deps += [ '../third_party/ocmock/ocmock.gyp:ocmock' ] TODO(GYP)
180 deps += [ "//third_party/wtl" ]
183 "//win8:test_registrar_constants",
184 "//win8:test_support_win8",
189 deps += [ "//components/ownership" ]
194 "base/test_browser_window_aura.cc",
195 "base/test_browser_window_aura.h",
199 if (enable_plugins) {
201 "ppapi/ppapi_test.cc",
202 "ppapi/ppapi_test.h",
208 deps += [ "//ash:test_support" ]
211 deps += [ "//ui/views:test_support" ]
214 if (enable_extensions) {
216 "//chrome/common/extensions/api",
217 "//extensions:test_support",
223 import("//third_party/protobuf/proto_library.gni")
225 # GYP version: chrome/chrome_tests_unit.gypi:ipc_protobuf_message_test_proto
226 proto_library("test_proto") {
228 "../common/safe_browsing/ipc_protobuf_message_test.proto",
232 # TODO(GYP): Delete this after we've converted everything to GN.
233 # The _run targets exist only for compatibility w/ GYP.
234 group("interactive_ui_tests_run") {
237 ":interactive_ui_tests",
241 test("interactive_ui_tests") {
243 rebase_path(chrome_tests_gypi_values.chrome_interactive_ui_test_sources,
247 configs += [ "//build/config:precompiled_headers" ]
251 "//net/data/ssl/certificates/",
252 "//net/tools/testserver/",
253 "//ppapi/tests/test_case.html",
254 "//ppapi/tests/test_case.html.mock-http-headers",
255 "//ppapi/tests/test_page.css",
256 "//ppapi/tests/test_page.css.mock-http-headers",
257 "//third_party/pyftpdlib/",
258 "//third_party/pywebsocket/",
259 "//third_party/tlslite/",
260 "//third_party/zlib/google/test/data/",
261 "//tools/metrics/histograms/histograms.xml",
262 "$root_out_dir/pyproto/google/",
263 "$root_out_dir/resources.pak",
264 "$root_out_dir/ui_test.pak",
266 if (is_linux || is_win) {
268 "$root_out_dir/chrome_100_percent.pak",
269 "$root_out_dir/locales/en-US.pak",
270 "$root_out_dir/locales/fr.pak",
274 data += [ "$root_out_dir/libppapi_tests.so" ]
277 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
283 "//chrome/browser/devtools",
285 "//chrome/test:test_support",
286 "//chrome:resources",
288 "//chrome:packed_extra_resources",
289 "//chrome:packed_resources",
290 "//components/resources",
291 "//content/app/resources",
293 "//crypto:test_support",
294 "//google_apis:test_support",
296 "//net:net_resources",
297 "//net:test_support",
302 "//third_party/hunspell",
304 "//third_party/libpng",
305 "//third_party/zlib",
306 "//ui/base:test_support",
307 "//ui/resources:ui_test_pak",
308 "//ui/web_dialogs:test_support",
311 # TODO(rockot) bug 505926: The chrome_extensions_interactive_uitests target
312 # should be deleted and this line removed. See the
313 # chrome_extensions_interactive_uitests target for more.
314 deps += [ "//extensions:chrome_extensions_interactive_uitests" ]
316 # Runtime dependencies
318 "//ppapi:ppapi_tests",
319 "//third_party/mesa:osmesa",
323 sources += rebase_path(
324 chrome_tests_gypi_values.chrome_interactive_ui_test_views_sources,
329 "//ui/views:test_support",
330 "//ui/views/controls/webview:test_support",
333 sources += rebase_path(
334 chrome_tests_gypi_values.chrome_interactive_ui_test_views_non_mac_sources,
339 # TODO(gbillock): aura linux does not support the automation for
340 # SendMouseMoveNotifyWhenDone
341 sources -= [ "../browser/ui/views/toolbar/toolbar_button_test.cc" ]
343 if (is_chromeos || !use_x11) {
345 "../../ui/views/widget/desktop_aura/desktop_window_tree_host_x11_interactive_uitest.cc",
346 "../../ui/views/widget/desktop_aura/x11_topmost_window_finder_interactive_uitest.cc",
350 deps += [ "//ui/touch_selection" ]
354 if (is_linux && !is_chromeos) {
357 # TODO(port): This times out. Attempts have been made to fix the
358 # individual failures, but each time I disable a test from these
359 # suites, it seems like one or another starts timing out too.
360 "../browser/ui/views/keyboard_access_browsertest.cc",
363 # Everything but desktop Linux.
364 sources += rebase_path(
365 chrome_tests_gypi_values.chrome_interactive_ui_test_non_desktop_linux_sources,
371 sources += rebase_path(
372 chrome_tests_gypi_values.chrome_interactive_ui_test_chromeos_sources,
375 sources += [ "../browser/notifications/login_state_notification_blocker_chromeos_browsertest.cc" ]
377 # Use only the _chromeos version on ChromeOS.
378 "base/view_event_test_platform_part_ash.cc",
388 "//native_client/src/trusted/service_runtime/linux:munge_nacl_helper_bootstrap",
389 "//components/nacl:nacl_helper",
391 # '../components/nacl_nonsfi.gyp:nacl_helper_nonsfi', TODO(GYP)
395 if (is_chrome_branded) {
397 # These tests are failing on official cros bots. crbug.com/431450.
398 "../browser/ui/views/bookmarks/bookmark_bar_view_test.cc",
402 # ChromeOS doesn't use panels, everybody else does.
403 sources += rebase_path(
404 chrome_tests_gypi_values.chrome_interactive_ui_test_panels_sources,
408 # TODO(tapted): Include on mac when views panels are ported.
409 if (toolkit_views && !is_mac) {
410 sources += rebase_path(
411 chrome_tests_gypi_values.chrome_interactive_ui_test_panels_views_sources,
418 # Non-Linux platforms (Linux includes ChromeOS here).
419 sources += rebase_path(
420 chrome_tests_gypi_values.chrome_interactive_ui_test_non_linux_and_chromeos_sources,
426 sources += rebase_path(
427 chrome_tests_gypi_values.chrome_interactive_ui_test_win_sources,
431 "//chrome:other_version",
432 "//third_party/isimpledom",
437 configs -= [ "//build/config/win:default_incremental_linking" ]
439 [ "//build/config/win:default_large_module_incremental_linking" ]
441 libs = [ "oleacc.lib" ]
445 data_deps += [ "//chrome" ]
447 # TODO(mark): We really want this for all non-static library targets, but
448 # when we tried to pull it up to the common.gypi level, it broke other
449 # things like the ui and startup tests. *shrug*
450 ldflags += [ "-Wl,-ObjC" ]
453 if (cld_version == 2) {
454 # Interactive tests should use whatever CLD2 data access mode that the
455 # application embedder is using.
456 deps += [ "//third_party/cld_2:cld2_platform_impl" ]
460 configs += [ "//build/config/linux:xtst" ]
461 data_deps += [ "//tools/xdisplaycheck" ]
464 if (enable_app_list) {
465 sources += rebase_path(
466 chrome_tests_gypi_values.chrome_interactive_ui_test_app_list_sources,
472 sources += rebase_path(
473 chrome_tests_gypi_values.chrome_interactive_ui_test_ash_sources,
476 deps += [ "//ash:interactive_ui_test_support" ]
479 if (enable_notifications) {
480 sources += rebase_path(
481 chrome_tests_gypi_values.chrome_interactive_ui_test_notifications_sources,
485 # Non-ChromeOS notifications tests (ChromeOS does not use cross-platform
489 "../browser/notifications/notification_browsertest.cc",
490 "../browser/notifications/platform_notification_service_browsertest.cc",
496 # Android does not use the message center-based Notification system.
497 "../browser/notifications/message_center_notifications_browsertest.cc",
499 # TODO(peter): Enable the Notification browser tests.
500 "../browser/notifications/notification_browsertest.cc",
501 "../browser/notifications/platform_notification_service_browsertest.cc",
504 } # enable_notifications
506 if (!use_aura || is_chromeos) {
508 [ "../../ui/views/corewm/desktop_capture_controller_unittest.cc" ]
512 source_set("sync_integration_test_support") {
514 sources = rebase_path(
515 chrome_tests_gypi_values.test_support_sync_integration_sources,
525 "//components/invalidation/impl",
526 "//components/invalidation/impl:test_support",
530 "//sync:test_support_sync_testserver",
531 "//sync:test_support_sync_fake_server",
532 "//ui/app_list:test_support",
537 "../browser/sync/test/integration/dictionary_helper.cc",
538 "../browser/sync/test/integration/dictionary_helper.h",
539 "../browser/sync/test/integration/dictionary_load_observer.cc",
540 "../browser/sync/test/integration/dictionary_load_observer.h",
543 if (!enable_app_list) {
545 "../browser/sync/test/integration/sync_app_list_helper.cc",
546 "../browser/sync/test/integration/sync_app_list_helper.h",
551 "../browser/sync/test/integration/wifi_credentials_helper.cc",
552 "../browser/sync/test/integration/wifi_credentials_helper.h",
557 js2gtest("browser_tests_js_webui") {
559 sources = rebase_path(
560 chrome_tests_gypi_values.chrome_browser_tests_webui_js_sources,
563 if (is_chrome_branded) {
565 sources -= [ "data/webui/accessibility_audit_browsertest.js" ]
568 sources -= [ "data/webui/certificate_viewer_dialog_test.js" ]
570 if (!enable_app_list) {
571 sources -= [ "../browser/ui/webui/app_list/start_page_browsertest.js" ]
573 if (!enable_supervised_users) {
575 [ "../browser/ui/webui/downloads_ui_supervised_browsertest.js" ]
577 if (!enable_print_preview) {
578 sources -= [ "data/webui/print_preview.js" ]
580 if (enable_media_router) {
582 [ "data/webui/media_router/media_router_elements_browsertest.js" ]
585 "//chrome/browser/ui",
588 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
591 # TODO(GYP): Delete this after we've converted everything to GN.
592 # The _run targets exist only for compatibility w/ GYP.
593 group("telemetry_gpu_test_run") {
596 ":telemetry_gpu_test",
600 group("telemetry_gpu_test") {
603 "//tools/telemetry:bitmaptools",
607 "//content/test/gpu/",
608 "//content/test/data/gpu/",
610 # For GpuProcess.video
611 "//content/test/data/media/bear.ogv",
612 "//third_party/catapult/",
614 # For webgl_conformance
615 "//third_party/webgl/",
616 "//content/test/gpu/run_gpu_test.py",
618 # Generic telemetry deps
619 # TODO(GYP): These should probably be specified somewhere else
620 # and pulled in via a deps entry.
621 "//build/android/devil/",
622 "//build/android/pylib/",
624 "//third_party/WebKit/PerformanceTests/resources/jquery.tablesorter.min.js",
625 "//third_party/WebKit/PerformanceTests/resources/statistics.js",
626 "//third_party/flot/jquery.flot.min.js",
627 "//third_party/webpagereplay/",
628 "//tools/telemetry/",
631 if (is_win && (symbol_level == 1 || symbol_level == 2)) {
632 # TODO(GYP): These should be provided automatically through data_deps.
633 data += [ "$root_out_dir/chrome.exe.pdb" ]
634 if (is_component_build) {
636 "$root_out_dir/base.dll.pdb",
637 "$root_out_dir/blink_platform.dll.pdb",
638 "$root_out_dir/blink_web.dll.pdb",
639 "$root_out_dir/content.dll.pdb",
645 # TODO(GYP): Delete this after we've converted everything to GN.
646 # The _run targets exist only for compatibility w/ GYP.
647 group("tab_capture_end2end_tests_run") {
654 # TODO(GYP): Delete this after we've converted everything to GN.
655 # The _run targets exist only for compatibility w/ GYP.
656 group("browser_tests_run") {
658 data_deps = [ ":browser_tests" ]
661 test("browser_tests") {
663 "base/browser_tests_main.cc",
666 rebase_path(chrome_tests_gypi_values.chrome_browser_tests_sources,
669 sources += rebase_path(
670 chrome_tests_gypi_values.chrome_browser_extensions_test_support_sources,
674 configs += [ "//build/config:precompiled_headers" ]
678 "//chrome/browser/policy/test/asn1der.py",
679 "//chrome/browser/policy/test/policy_testserver.py",
680 "//chrome/common/extensions/docs/examples/apps/calculator/",
681 "//chrome/third_party/mock4js/",
682 "//content/test/data/",
683 "//google_apis/test/",
684 "//media/test/data/",
686 "//net/tools/testserver/",
687 "//ppapi/tests/test_case.html",
688 "//ppapi/tests/test_case.html.mock-http-headers",
689 "//ppapi/tests/test_page.css",
690 "//ppapi/tests/test_page.css.mock-http-headers",
691 "//testing/test_env.py",
692 "//third_party/accessibility-audit/axs_testing.js",
693 "//third_party/mocha/mocha.js",
694 "//third_party/pyftpdlib/",
695 "//third_party/pywebsocket/",
696 "//third_party/safe_browsing/",
697 "//third_party/simplejson/",
698 "//third_party/tlslite/",
699 "//ui/webui/resources/js/",
700 "$root_out_dir/pyproto/",
701 "$root_out_dir/browser_tests.pak",
702 "$root_out_dir/chrome_100_percent.pak",
703 "$root_out_dir/locales/",
704 "$root_out_dir/remoting/unittests/",
705 "$root_out_dir/resources.pak",
706 "$root_out_dir/resources/extension/",
707 "$root_out_dir/test_case.html",
708 "$root_out_dir/test_case.html.mock-http-headers",
709 "$root_out_dir/test_data/",
710 "$root_out_dir/test_page.css",
711 "$root_out_dir/test_page.css.mock-http-headers",
712 "$root_out_dir/test_url_loader_data/",
716 ":browser_tests_js_webui",
717 ":sync_integration_test_support",
722 "//base/test:test_support",
723 "//chrome:browser_tests_pak",
724 "//chrome:packed_extra_resources",
725 "//chrome:packed_resources",
726 "//chrome:resources",
729 "//chrome/browser/resources:extension_resource_demo",
730 "//chrome/common/extensions/api",
732 "//components/autofill/content/browser:risk_proto",
733 "//components/autofill/content/browser/wallet:test_support",
734 "//components/autofill/content/renderer:test_support",
735 "//components/captive_portal:test_support",
736 "//components/dom_distiller/content:content_browser",
737 "//components/dom_distiller/core:test_support",
738 "//components/guest_view/browser:test_support",
739 "//components/resources",
740 "//components/strings",
741 "//components/translate/core/common",
742 "//components/user_manager:test_support",
744 "//crypto:test_support",
745 "//device/bluetooth:mocks",
746 "//device/serial:test_support",
747 "//extensions/common/api",
748 "//google_apis:test_support",
750 "//media/base:test_support",
751 "//media/cast:test_support",
753 "//net:test_support",
757 "//sync:test_support_sync_api",
761 "//third_party/cacheinvalidation",
763 "//third_party/leveldatabase",
764 "//third_party/libaddressinput",
765 "//third_party/libjingle",
766 "//third_party/safe_browsing:test_support",
767 "//third_party/webrtc/modules/desktop_capture",
768 "//third_party/widevine/cdm:version_h",
769 "//ui/accessibility:test_support",
770 "//ui/base:test_support",
771 "//ui/compositor:test_support",
773 "//ui/web_dialogs:test_support",
777 # TODO(rockot) bug 505926: The chrome_extensions_browsertests target should
778 # be deleted and this line removed. See the chrome_extensions_browsertests
780 deps += [ "//extensions:chrome_extensions_browsertests" ]
782 # Runtime dependencies
784 "//ppapi:ppapi_tests",
785 "//ppapi:power_saver_test_plugin",
786 "//remoting/webapp:browser_test_resources",
787 "//remoting/webapp:unit_tests",
788 "//third_party/mesa:osmesa",
789 "//third_party/widevine/cdm:widevine_test_license_server",
792 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
794 if (!enable_nacl_browsertests) {
795 defines += [ "DISABLE_NACL_BROWSERTESTS" ]
798 # TODO(GYP) if (is_win) {
799 # ['incremental_chrome_dll==1', {
800 # 'UseLibraryDependencyInputs': "true",
803 if (cld_version == 2) {
804 # Because the browser_tests use translate, they need CLD data.
805 deps += [ "//third_party/cld_2:cld2_platform_impl" ]
808 if (!enable_one_click_signin) {
809 sources -= [ "../browser/ui/sync/one_click_signin_bubble_links_delegate_browsertest.cc" ]
811 if (!enable_nacl_browsertests) {
812 sources -= [ "../browser/extensions/api/hotword_private/hotword_private_apitest.cc" ]
813 } else if (enable_nacl) {
815 "../browser/extensions/extension_nacl_browsertest.cc",
816 "../browser/nacl_host/test/gdb_debug_stub_browsertest.cc",
818 deps += [ "//components/nacl/renderer/plugin:nacl_trusted_plugin" ]
820 if (enable_nacl_untrusted) {
822 "nacl/nacl_browsertest.cc",
823 "nacl/nacl_browsertest_uma.cc",
824 "nacl/nacl_browsertest_util.cc",
825 "nacl/nacl_browsertest_util.h",
826 "nacl/pnacl_header_test.cc",
827 "nacl/pnacl_header_test.h",
830 # TODO(GYP): Make NaCl work in other configs and update the irt
831 # dependency as appropriate. We should probably push this
832 # dependency into ppapi/native_client so that clients don't need
833 # to know all of the different toolchain options.
834 assert(current_cpu == "x64")
836 # "test/data/nacl:shared_test_files", # TODO(GYP) bug 512902
837 "//ppapi/native_client:irt",
838 "//ppapi:ppapi_nacl_tests",
840 # "../ppapi/ppapi_nacl.gyp:ppapi_nacl_tests", # TODO(GYP) bug 512901
841 # "../ppapi/tests/extensions/extensions.gyp:ppapi_tests_extensions_background_keepalive", # TODO(GYP) bug 512900
842 # "../ppapi/tests/extensions/extensions.gyp:ppapi_tests_extensions_media_galleries", # TODO(GYP) bug 512900
843 # "../ppapi/tests/extensions/extensions.gyp:ppapi_tests_extensions_packaged_app", # TODO(GYP) bug 512900
846 sources += [ "//third_party/liblouis/nacl_wrapper/liblouis_wrapper_browsertest.cc" ]
848 "//chrome/browser/chromeos",
849 #'../third_party/liblouis/liblouis_nacl.gyp:liblouis_test_data', TODO(GYP) bug 512906
853 if (is_win || is_linux) {
854 sources += [ "../browser/nacl_host/test/nacl_gdb_browsertest.cc" ]
855 deps += [ "//chrome/browser/nacl_host/test:mock_nacl_gdb" ]
858 # TODO(halyavin) NaCl on Windows can't open debug stub socket in
859 # browser process as needed by this test. See http://crbug.com/157312.
860 sources -= [ "../browser/nacl_host/test/gdb_debug_stub_browsertest.cc" ]
862 #'chrome.gyp:chrome_nacl_win64', TODO(GYP) bug 512869
864 configs -= [ "//build/config/win:default_incremental_linking" ]
866 [ "//build/config/win:default_large_module_incremental_linking" ]
870 "//native_client/src/trusted/service_runtime/linux:munge_nacl_helper_bootstrap",
871 "//components/nacl:nacl_helper",
873 # "//components/nacl_nonsfi.gyp:nacl_helper_nonsfi", # TODO(GYP) bug 512912.
877 if (debug_devtools) {
878 defines += [ "DEBUG_DEVTOOLS=1" ]
881 deps += [ "//ash:test_support" ]
883 if (use_aura || toolkit_views) {
884 deps += [ "//ui/events:test_support" ]
887 sources += rebase_path(
888 chrome_tests_gypi_values.chrome_browser_tests_views_sources,
891 deps += [ "//ui/views" ]
893 sources += rebase_path(
894 chrome_tests_gypi_values.chrome_browser_tests_views_non_mac_sources,
900 sources += rebase_path(
901 chrome_tests_gypi_values.chrome_browser_tests_chromeos_sources,
905 "../../apps/load_and_launch_browsertest.cc",
906 "../browser/printing/cloud_print/test/cloud_print_policy_browsertest.cc",
907 "../browser/printing/cloud_print/test/cloud_print_proxy_process_browsertest.cc",
909 # chromeos does not support profile list avatar menu
910 "../browser/profiles/profile_list_desktop_browsertest.cc",
911 "../browser/service_process/service_process_control_browsertest.cc",
913 # chromeos does not use cross-platform panels
914 "../browser/ui/panels/panel_extension_browsertest.cc",
916 # chromeos does not use the desktop user manager
917 "../browser/ui/webui/signin/user_manager_ui_browsertest.cc",
921 "//dbus:test_support",
922 "//ui/login:resources",
926 "../browser/extensions/api/enterprise_device_attributes/enterprise_device_attributes_apitest.cc",
927 "../browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_apitest_nss.cc",
928 "../browser/extensions/api/platform_keys/platform_keys_apitest_nss.cc",
929 "../browser/extensions/api/terminal/terminal_private_apitest.cc",
930 "../browser/invalidation/profile_invalidation_provider_factory_browsertest.cc",
931 "../browser/net/nss_context_chromeos_browsertest.cc",
932 "../browser/ui/ash/keyboard_controller_browsertest.cc",
933 "data/webui/certificate_viewer_ui_test-inl.h",
936 sources -= [ "../browser/ui/views/select_file_dialog_extension_browsertest.cc" ]
939 if (enable_configuration_policy) {
940 sources += rebase_path(
941 chrome_tests_gypi_values.chrome_browser_tests_policy_sources,
945 if (enable_web_speech) {
946 sources += rebase_path(
947 chrome_tests_gypi_values.chrome_browser_tests_speech_sources,
951 if (safe_browsing_mode == 1) {
952 sources += rebase_path(
953 chrome_tests_gypi_values.chrome_browser_tests_full_safe_browsing_sources,
957 if (enable_captive_portal_detection) {
958 sources += [ "../browser/captive_portal/captive_portal_browsertest.cc" ]
960 if (!enable_webrtc) {
962 "../browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc",
963 "../browser/extensions/api/webrtc_logging_private/webrtc_logging_private_apitest.cc",
964 "../browser/media/chrome_webrtc_browsertest.cc",
965 "../browser/media/chrome_webrtc_disable_encryption_flag_browsertest.cc",
966 "../browser/media/chrome_webrtc_getmediadevices_browsertest.cc",
969 if (enable_media_router) {
970 sources += rebase_path(
971 chrome_tests_gypi_values.chrome_browser_tests_media_router_sources,
974 deps += [ "//chrome/browser/media/router:test_support" ]
978 "//chrome:other_version",
984 "../app/chrome_command_ids.h",
985 "../app/chrome_dll_resource.h",
986 "../app/chrome_version.rc.version",
987 "../browser/media_galleries/fileapi/iapps_finder_impl_win_browsertest.cc",
990 if (!is_chromeos && use_aura) {
992 # On Windows and Linux, we currently don't support enough of the
993 # ash environment to run these unit tests.
995 # TODO: enable these on windows and linux.
996 "../browser/ui/ash/accelerator_commands_browsertest.cc",
997 "../browser/ui/ash/accelerator_controller_browsertest.cc",
998 "../browser/ui/ash/launcher/chrome_launcher_controller_browsertest.cc",
999 "../browser/ui/ash/launcher/launcher_favicon_loader_browsertest.cc",
1000 "../browser/ui/ash/shelf_browsertest.cc",
1001 "../browser/ui/views/frame/browser_non_client_frame_view_ash_browsertest.cc",
1005 # TODO(mark): We really want this for all non-static library
1006 # targets, but when we tried to pull it up to the common.gypi
1007 # level, it broke other things like the ui and startup tests. *shrug*
1008 ldflags = [ "-Wl,-ObjC" ]
1010 # Other platforms only need
1011 # chrome_resources.gyp:{packed_extra_resources,packed_resources},
1012 # and can build this target standalone much faster.
1014 #'app_mode_app_support', TODO(GYP)
1017 #'../components/components.gyp:breakpad_stubs', TODO(GYP)
1018 "//third_party/ocmock",
1021 "../browser/media_galleries/fileapi/iphoto_data_provider_browsertest.cc",
1022 "../browser/renderer_host/chrome_render_widget_host_view_mac_history_swiper_browsertest.mm",
1023 "../browser/spellchecker/spellcheck_message_filter_platform_mac_browsertest.cc",
1026 # TODO(groby): This test depends on hunspell and we cannot run it on
1027 # Mac, which does not use hunspell by default.
1028 "../browser/spellchecker/spellcheck_service_browsertest.cc",
1030 # TODO(rouslan): This test depends on the custom dictionary UI,
1031 # which is disabled on Mac.
1032 # TODO(GYP): This should be added somewhere first ...
1033 # "../browser/ui/webui/options/edit_dictionary_browsertest.js",
1035 # TODO(rouslan): This test depends on hunspell and we cannot run it
1036 # on Mac, which does use hunspell by default.
1037 # TODO(GYP): This should be added somewhere first ...
1038 # "../browser/ui/webui/options/language_options_dictionary_download_browsertest.js",
1040 # ProcessSingletonMac doesn"t do anything.
1041 "../browser/process_singleton_browsertest.cc",
1043 # This test depends on GetCommandLineForRelaunch, which is not
1045 "../browser/printing/cloud_print/test/cloud_print_policy_browsertest.cc",
1047 # single-process mode hangs on Mac sometimes because of multiple UI
1048 # message loops. See 306348
1049 "../renderer/safe_browsing/phishing_classifier_browsertest.cc",
1050 "../renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc",
1051 "../renderer/safe_browsing/phishing_dom_feature_extractor_browsertest.cc",
1054 if (is_mac || is_win) {
1056 "../browser/extensions/api/networking_private/networking_private_apitest.cc",
1057 "../browser/extensions/api/networking_private/networking_private_service_client_apitest.cc",
1058 "../browser/media_galleries/fileapi/itunes_data_provider_browsertest.cc",
1059 "../browser/media_galleries/fileapi/picasa_data_provider_browsertest.cc",
1061 deps += [ "//components/wifi:test_support" ]
1063 if (!is_posix || is_chromeos) {
1064 sources -= [ "../common/time_format_browsertest.cc" ]
1068 "../browser/policy/cloud/component_cloud_policy_browsertest.cc",
1069 "../browser/prefs/pref_hash_browsertest.cc",
1070 "../renderer/spellchecker/spellcheck_provider_hunspell_unittest.cc",
1071 "../renderer/spellchecker/spellcheck_unittest.cc",
1076 "../browser/extensions/api/networking_private/networking_private_apitest.cc",
1077 "../browser/extensions/api/networking_private/networking_private_chromeos_apitest.cc",
1080 if (!is_android && !is_ios && enable_nacl_browsertests) {
1082 [ "../browser/copresence/chrome_whispernet_client_browsertest.cc" ]
1083 deps += [ "//components/copresence" ]
1085 if (enable_app_list) {
1086 sources += rebase_path(
1087 chrome_tests_gypi_values.chrome_browser_tests_app_list_sources,
1091 if (enable_supervised_users) {
1092 sources += rebase_path(
1093 chrome_tests_gypi_values.chrome_browser_tests_supervised_user_sources,
1097 if (enable_pepper_cdms) {
1098 # Runtime dependencies.
1100 "//media/cdm/ppapi:clearkeycdmadapter",
1101 "//third_party/widevine/cdm:widevinecdmadapter",
1104 if (!enable_print_preview) {
1106 "../browser/extensions/api/cloud_print_private/cloud_print_private_apitest.cc",
1107 "../browser/printing/cloud_print/test/cloud_print_policy_browsertest.cc",
1108 "../browser/printing/cloud_print/test/cloud_print_proxy_process_browsertest.cc",
1109 "../browser/printing/print_preview_dialog_controller_browsertest.cc",
1110 "../browser/printing/print_preview_pdf_generated_browsertest.cc",
1111 "../browser/service_process/service_process_control_browsertest.cc",
1112 "../browser/ui/webui/print_preview/print_preview_ui_browsertest.cc",
1113 "data/webui/print_preview.cc",
1114 "data/webui/print_preview.h",
1118 sources += [ "../browser/ui/webui/local_discovery/local_discovery_ui_browsertest.cc" ]
1121 deps += [ "//build/linux:libbrlapi" ]
1123 sources -= [ "../browser/extensions/api/braille_display_private/braille_display_private_apitest.cc" ]
1125 if (is_chrome_branded) {
1127 # These tests depend on single process mode, which is disabled in
1129 "../renderer/safe_browsing/phishing_classifier_browsertest.cc",
1130 "../renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc",
1131 "../renderer/safe_browsing/phishing_dom_feature_extractor_browsertest.cc",
1134 if (!enable_autofill_dialog || is_android || is_ios) {
1135 deps -= [ "//third_party/libaddressinput" ]
1137 if (enable_remoting) {
1138 sources += rebase_path(
1139 chrome_tests_gypi_values.chrome_browser_tests_remoting_sources,
1142 #deps += [ "//remoting:remoting_webapp" ] TODO(GYP)
1145 deps += [ "//tools/xdisplaycheck" ]
1149 # TODO(GYP): Delete this after we've converted everything to GN.
1150 # The _run targets exist only for compatibility w/ GYP.
1151 group("sync_integration_tests_run") {
1154 ":sync_integration_tests",
1158 test("sync_integration_tests") {
1160 rebase_path(chrome_tests_gypi_values.sync_integration_tests_sources,
1165 "//chrome/test/data/sync/",
1166 "//net/tools/testserver/",
1167 "//sync/tools/testserver/",
1168 "//third_party/pyftpdlib/",
1169 "//third_party/pywebsocket/",
1170 "//third_party/tlslite/",
1171 "$root_out_dir/pyproto/",
1172 "$root_out_dir/resources.pak",
1175 if (is_linux || is_win) {
1177 "$root_out_dir/chrome_100_percent.pak",
1178 "$root_out_dir/locales/en-US.pak",
1182 # TODO(phajdan.jr): Only temporary, to make transition easier.
1183 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
1186 ":sync_integration_test_support",
1189 "//chrome:packed_extra_resources",
1190 "//chrome:packed_resources",
1191 "//chrome:resources",
1194 "//chrome/renderer",
1195 "//crypto:platform",
1199 "//third_party/icu",
1200 "//third_party/leveldatabase",
1201 "//third_party/WebKit/public:blink",
1204 data_deps = [ "//third_party/mesa:osmesa" ]
1206 if (cld_version == 2) {
1207 # Language detection is irrelevant to sync, so it can depend on any
1208 # implementation for CLD2. Dynamic is smaller, so go with dynamic.
1209 deps += [ "//third_party/cld_2:cld2_dynamic" ]
1212 # Dictionary sync is disabled on Mac.
1214 "../browser/sync/test/integration/multiple_client_dictionary_sync_test.cc",
1215 "../browser/sync/test/integration/single_client_dictionary_sync_test.cc",
1216 "../browser/sync/test/integration/two_client_dictionary_sync_test.cc",
1219 # The sync_integration_tests do not run on mac without this flag.
1220 # Search for comments about "xcode_settings" elsewhere in this file.
1221 ldflags = [ "-Wl,-ObjC" ]
1225 "//chrome:other_version",
1226 "//third_party/wtl",
1230 configs -= [ "//build/config/win:default_incremental_linking" ]
1232 [ "//build/config/win:default_large_module_incremental_linking" ]
1234 sources -= [ "../app/chrome_version.rc.version" ]
1238 "../browser/sync/test/integration/single_client_wifi_credentials_sync_test.cc",
1239 "../browser/sync/test/integration/two_client_wifi_credentials_sync_test.cc",
1243 if (toolkit_views) {
1244 deps += [ "//ui/views" ]
1246 if (enable_basic_printing || enable_print_preview) {
1247 deps += [ "//printing" ]
1249 if (!enable_app_list) {
1251 "../browser/sync/test/integration/single_client_app_list_sync_test.cc",
1252 "../browser/sync/test/integration/two_client_app_list_sync_test.cc",
1255 if (!enable_supervised_users) {
1256 sources -= [ "../browser/sync/test/integration/single_client_supervised_user_settings_sync_test.cc" ]
1260 test("sync_performance_tests") {
1262 rebase_path(chrome_tests_gypi_values.sync_performance_tests_sources,
1266 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
1269 ":sync_integration_test_support",
1271 "//crypto:platform",
1277 if (cld_version == 2) {
1278 # Language detection is irrelevant to sync, so it can depend on any
1279 # implementation for CLD2. Dynamic is smaller, so go with dynamic.
1280 deps += [ "//third_party/cld_2:cld2_dynamic" ]
1284 # Dictionary sync is disabled on Mac.
1285 sources -= [ "../browser/sync/test/integration/performance/dictionary_sync_perf_test.cc" ]
1287 # The sync_performance_tests do not run on mac without this flag.
1288 # Search for comments about "xcode_settings" elsewhere in this file.
1289 ldflags = [ "-Wl,-ObjC" ]
1293 "//chrome:other_version",
1294 "//chrome/installer/util:strings",
1295 "//third_party/wtl",
1298 configs -= [ "//build/config/win:default_incremental_linking" ]
1300 [ "//build/config/win:default_large_module_incremental_linking" ]
1302 sources -= [ "../app/chrome_version.rc.version" ]
1305 if (toolkit_views) {
1306 deps += [ "//ui/views" ]
1310 # Executable to measure time to load libraries.
1311 test("load_library_perf_tests") {
1313 "../browser/load_library_perf_test.cc",
1317 "//base/test:test_support_perf",
1320 "//third_party/widevine/cdm:version_h",
1323 if (enable_pepper_cdms) {
1325 "//media/cdm/ppapi:clearkeycdmadapter",
1326 "//third_party/widevine/cdm:widevinecdmadapter",
1331 js2gtest("unit_tests_js") {
1333 sources = rebase_path(
1334 chrome_tests_unit_gypi_values.chrome_unit_tests_gtestjs_sources,
1338 rebase_path(chrome_tests_unit_gypi_values.chrome_unit_tests_js_sources,
1342 sources += rebase_path(
1343 chrome_tests_unit_gypi_values.chrome_unit_tests_chromeos_gtestjs_sources,
1346 extra_js_files += rebase_path(
1347 chrome_tests_unit_gypi_values.chrome_unit_tests_chromeos_js_sources,
1353 # TODO(GYP): Delete this after we've converted everything to GN.
1354 # The _run targets exist only for compatibility w/ GYP.
1355 group("unit_tests_run") {
1362 test("unit_tests") {
1364 rebase_path(chrome_tests_unit_gypi_values.chrome_unit_tests_sources,
1368 configs += [ "//build/config:precompiled_headers" ]
1372 "//base/test/data/",
1373 "//chrome/third_party/mock4js/",
1374 "//components/test/data/",
1375 "//extensions/test/data/",
1376 "//google_apis/test/data/",
1378 "//net/tools/testserver/",
1379 "//third_party/accessibility-audit/axs_testing.js",
1380 "//third_party/hunspell_dictionaries/",
1381 "//third_party/pyftpdlib/",
1382 "//third_party/pywebsocket/",
1383 "//third_party/tlslite/",
1384 "//third_party/zlib/google/test/data/",
1385 "//tools/metrics/histograms/histograms.xml",
1386 "$root_out_dir/pyproto/google/",
1387 "$root_out_dir/test_data/chrome/browser/resources/google_now/",
1388 "$root_out_dir/test_data/chrome/browser/resources/print_preview/",
1389 "$root_out_dir/test_data/chrome/renderer/resources/extensions/",
1390 "$root_out_dir/test_data/ui/webui/",
1391 "$root_out_dir/resources.pak",
1393 if (is_android || is_linux || is_win) {
1395 "$root_out_dir/chrome_100_percent.pak",
1396 "$root_out_dir/locales/en-US.pak",
1403 # NOTE: New depndencies should generally be added in the OS!="ios"
1404 # dependencies block below, rather than here.
1405 # Unit tests should only depend on:
1406 # 1) everything that the chrome binaries depend on:
1407 "//chrome:browser_dependencies",
1408 "//chrome:child_dependencies",
1410 # 2) test-specific support libraries:
1411 ":test_support_unit",
1412 "//base/test:test_support",
1413 "//chrome/test:test_support",
1414 "//components/resources",
1415 "//components/content_settings/core/test:test_support",
1416 "//content/test:test_support",
1417 "//content/public/app:both",
1418 "//crypto:platform",
1419 "//crypto:test_support",
1421 "//net:test_support",
1422 "//sync:test_support_sync_api",
1423 "//sync:test_support_sync_core",
1424 "//sync:test_support_sync_internal_api",
1428 # 3) anything tests directly depend on
1430 "//chrome:resources",
1432 "//courgette:courgette_lib",
1435 "//third_party/cacheinvalidation",
1436 "//third_party/icu",
1437 "//third_party/libxml",
1438 "//ui/base:test_support",
1439 "//ui/gfx:test_support",
1444 # TODO(GYP) Windows stuff
1445 # ['incremental_chrome_dll==1', {
1446 # 'UseLibraryDependencyInputs': "true",
1451 "//components/audio_modem:test_support",
1452 "//components/autofill/content/browser/wallet:test_support",
1453 "//components/autofill/content/renderer:test_support",
1454 "//components/metrics/proto",
1455 "//components/data_reduction_proxy/core/browser:test_support",
1456 "//components/safe_json:test_support",
1457 "//components/webdata_services:test_support",
1458 "//components/strings",
1459 "//device/bluetooth:mocks",
1460 "//content/app/resources",
1461 "//gpu:test_support",
1462 "//media:test_support",
1464 #'../ppapi/ppapi_internal.gyp:ppapi_unittest_shared', TODO(GYP)
1465 "//third_party/leveldatabase",
1466 "//third_party/libaddressinput",
1467 "//third_party/libjingle",
1468 "//third_party/libphonenumber",
1469 "//third_party/webrtc/modules/desktop_capture",
1470 "//tools/json_schema_compiler/test",
1477 deps -= [ "//third_party/libaddressinput" ]
1479 # Some android targets still depend on --gc-sections to link.
1480 # TODO: remove --gc-sections for Debug builds (crbug.com/159847).
1481 ldflags = [ "-Wl,--gc-sections" ]
1482 deps += [ "//testing/android/native_test:native_test_native_code" ]
1483 isolate_file = "../unit_tests.isolate"
1485 sources += rebase_path(
1486 chrome_tests_unit_gypi_values.chrome_unit_tests_non_android_sources,
1489 sources -= [ "../browser/download/download_request_infobar_delegate_unittest.cc" ]
1491 if (is_ios || is_chromeos) {
1493 [ "../browser/metrics/signin_status_metrics_provider_unittest.cc" ]
1495 if (enable_background) {
1496 sources += rebase_path(
1497 chrome_tests_unit_gypi_values.chrome_unit_tests_background_sources,
1501 if (enable_spellcheck) {
1502 sources += rebase_path(
1503 chrome_tests_unit_gypi_values.chrome_unit_tests_spellchecker_sources,
1506 if (is_mac && !is_ios) {
1507 deps += [ "//third_party/hunspell" ]
1511 if (enable_one_click_signin) {
1513 "../browser/ui/sync/one_click_signin_sync_observer_unittest.cc",
1514 "../browser/ui/sync/one_click_signin_sync_starter_unittest.cc",
1518 if (enable_extensions) {
1519 sources += rebase_path(
1520 chrome_tests_unit_gypi_values.chrome_unit_tests_extensions_sources,
1524 "//chrome/common/extensions/api",
1525 "//device/usb:mocks",
1526 "//extensions:extensions_resources",
1527 "//extensions/strings",
1529 if (enable_configuration_policy) {
1530 sources += rebase_path(
1531 chrome_tests_unit_gypi_values.chrome_unit_tests_extensions_policy_sources,
1536 sources += rebase_path(
1537 chrome_tests_unit_gypi_values.chrome_unit_tests_extensions_non_chromeos_sources,
1542 if (toolkit_views) {
1544 "//components/web_modal:test_support",
1546 "//ui/views:test_support",
1548 sources += rebase_path(
1549 chrome_tests_unit_gypi_values.chrome_unit_tests_views_sources,
1552 if (!is_chromeos && (!is_mac || mac_views_browser)) {
1553 sources += rebase_path(
1554 chrome_tests_unit_gypi_values.chrome_unit_tests_views_non_chromeos_sources,
1559 sources += rebase_path(
1560 chrome_tests_unit_gypi_values.chrome_unit_tests_views_non_mac_sources,
1566 sources += rebase_path(
1567 chrome_tests_unit_gypi_values.chrome_unit_tests_ash_sources,
1571 "//ash:test_support",
1576 # We eventually want to compile both in Win Aura builds, see
1577 # http://crbug.com/155545.
1579 sources -= [ "../browser/ui/window_sizer/window_sizer_unittest.cc" ]
1583 sources += [ "//ui/views/controls/webview/webview_unittest.cc" ]
1586 "//ui/aura:test_support",
1587 "//ui/views:test_support",
1590 if (!is_chromeos && is_linux) {
1591 sources += rebase_path(
1592 chrome_tests_unit_gypi_values.chrome_unit_tests_desktop_linux_sources,
1596 if (!is_chromeos && !use_ozone && is_linux) {
1598 "//chrome/browser/ui/libgtk2ui",
1599 "//build/linux:gio",
1603 if (enable_task_manager) {
1604 sources += rebase_path(
1605 chrome_tests_unit_gypi_values.chrome_unit_tests_task_manager_sources,
1610 sources += rebase_path(
1611 chrome_tests_unit_gypi_values.chrome_unit_tests_mdns_sources,
1615 if (enable_service_discovery) {
1616 sources += rebase_path(
1617 chrome_tests_unit_gypi_values.chrome_unit_tests_service_discovery_sources,
1621 if (enable_configuration_policy) {
1622 sources += rebase_path(
1623 chrome_tests_unit_gypi_values.chrome_unit_tests_configuration_policy_sources,
1628 [ "../browser/policy/cloud/user_policy_signin_service_unittest.cc" ]
1629 } else if (is_android) {
1630 sources -= [ "../browser/policy/policy_path_parser_unittest.cc" ]
1632 if (!is_android && !is_ios && !is_chromeos) {
1634 [ "../browser/net/disk_cache_dir_policy_handler_unittest.cc" ]
1636 if (!is_android && !is_ios) {
1638 [ "../browser/download/download_dir_policy_handler_unittest.cc" ]
1641 if (enable_web_speech) {
1642 sources += rebase_path(
1643 chrome_tests_unit_gypi_values.chrome_unit_tests_speech_sources,
1647 if (enable_notifications) {
1648 sources += rebase_path(
1649 chrome_tests_unit_gypi_values.chrome_unit_tests_notifications_sources,
1654 # Android does not use the Message Center notification system.
1655 "../browser/notifications/message_center_notifications_unittest.cc",
1656 "../browser/notifications/message_center_settings_controller_unittest.cc",
1660 if (safe_browsing_mode == 1) {
1661 # TODO(sgurun): enable tests for safe_browsing==2.
1662 sources += rebase_path(
1663 chrome_tests_unit_gypi_values.chrome_unit_tests_full_safe_browsing_sources + chrome_tests_unit_gypi_values.chrome_unit_tests_shared_safe_browsing_sources,
1666 deps += [ ":test_proto" ]
1667 } else if (safe_browsing_mode == 3) {
1668 sources += rebase_path(
1669 chrome_tests_unit_gypi_values.chrome_unit_tests_mobile_extended_safe_browsing_sources + chrome_tests_unit_gypi_values.chrome_unit_tests_shared_safe_browsing_sources,
1673 if (enable_autofill_dialog && !is_android) {
1674 sources += rebase_path(
1675 chrome_tests_unit_gypi_values.chrome_unit_tests_autofill_dialog_sources,
1679 if (enable_plugins) {
1680 sources += rebase_path(
1681 chrome_tests_unit_gypi_values.chrome_unit_tests_plugins_sources,
1685 if (enable_print_preview) {
1686 sources += rebase_path(
1687 chrome_tests_unit_gypi_values.chrome_unit_tests_print_preview_sources,
1691 if (enable_captive_portal_detection) {
1692 sources += rebase_path(
1693 chrome_tests_unit_gypi_values.chrome_unit_tests_captive_portal_sources,
1697 if (enable_session_service) {
1698 sources += rebase_path(
1699 chrome_tests_unit_gypi_values.chrome_unit_tests_session_service_sources,
1703 if (enable_media_router) {
1704 sources += rebase_path(
1705 chrome_tests_unit_gypi_values.chrome_unit_tests_media_router_sources,
1708 deps += [ "//chrome/browser/media/router:test_support" ]
1710 sources += rebase_path(
1711 chrome_tests_unit_gypi_values.chrome_unit_tests_media_router_non_android_sources,
1715 if (!toolkit_views) {
1716 sources -= [ "../browser/ui/views/media_router/media_router_ui_browsertest.cc" ]
1719 if (enable_webrtc) {
1720 sources += rebase_path(
1721 chrome_tests_unit_gypi_values.chrome_unit_tests_webrtc_sources,
1726 deps += [ "//chrome/browser/chromeos:unit_tests" ]
1728 "../browser/signin/signin_global_error_unittest.cc",
1729 "../browser/signin/signin_manager_unittest.cc",
1733 deps += [ "//ui/events/devices" ]
1734 data_deps += [ "//tools/xdisplaycheck" ]
1736 sources -= [ "../browser/password_manager/password_store_x_unittest.cc" ]
1738 if (cld_version == 2) {
1739 # Unit tests should be independent of the CLD2 access mechanism, just use
1740 # static for simplicity.
1741 deps += [ "//third_party/cld_2:cld2_static" ]
1743 if (is_desktop_linux && current_cpu == "x64") {
1744 # Only add this test for 64 bit builds because otherwise we need the 32
1745 # bit library on 64 bit systems when running this test.
1747 [ "../browser/password_manager/native_backend_gnome_x_unittest.cc" ]
1749 "//chrome/browser:gnome_keyring",
1750 "//chrome/browser:gnome_keyring_direct",
1753 if (is_linux && !is_chromeos) {
1755 [ "../browser/password_manager/native_backend_libsecret_unittest.cc" ]
1757 if (is_linux && use_aura) {
1760 "//dbus:test_support",
1761 "//ui/aura:test_support",
1764 if (is_linux && is_chrome_branded && current_cpu == "x86") {
1765 ldflags = [ "-Wl,--strip-debug" ]
1768 sources += rebase_path(
1769 chrome_tests_unit_gypi_values.chrome_unit_tests_mac_sources,
1773 "../browser/ui/tests/ui_gfx_image_unittest.cc",
1774 "../renderer/spellchecker/spellcheck_provider_hunspell_unittest.cc",
1775 "../tools/convert_dict/convert_dict_unittest.cc",
1778 # The test fetches resources which means Mac need the app bundle to exist
1779 # on disk so it can pull from it.
1781 "//third_party/google_toolbox_for_mac",
1782 "//third_party/ocmock",
1785 # TODO(mark): We really want this for all non-static library targets,
1786 # but when we tried to pull it up to the common.gypi level, it broke
1787 # other things like the ui and startup tests. *shrug*
1788 ldflags = [ "-Wl,-ObjC" ]
1790 if (!is_mac && !is_ios) {
1792 "//chrome/tools/convert_dict:lib",
1793 "//chrome:packed_extra_resources",
1794 "//chrome:packed_resources",
1795 "//third_party/hunspell",
1798 if (is_win || is_mac) {
1799 sources += rebase_path(
1800 chrome_tests_unit_gypi_values.chrome_unit_tests_win_mac_sources,
1804 if (is_win || is_mac || is_chromeos) {
1805 sources += [ "../common/extensions/api/networking_private/networking_private_crypto_unittest.cc" ]
1807 if (enable_rlz_support) {
1808 sources += [ "../browser/rlz/chrome_rlz_tracker_delegate_unittest.cc" ]
1810 "//chrome/browser:rlz",
1812 "//rlz:test_support",
1816 # The PDB gets too large for incremental linking.
1817 configs -= [ "//build/config/win:default_incremental_linking" ]
1818 configs += [ "//build/config/win:no_incremental_linking" ]
1820 sources += rebase_path(
1821 chrome_tests_unit_gypi_values.chrome_unit_tests_win_sources,
1825 #'browser/safe_browsing/incident_reporting/verifier_test/verifier_unittest.gyp:verifier_test_dll_1', TODO(GYP) bug 512919
1826 #'browser/safe_browsing/incident_reporting/verifier_test/verifier_unittest.gyp:verifier_test_dll_2', TODO(GYP) bug 512919
1827 "//chrome:other_version",
1828 "//chrome_elf:blacklist_test_dll_1",
1829 "//chrome/installer/util:strings",
1830 "//third_party/iaccessible2",
1831 "//third_party/isimpledom",
1832 "//third_party/wtl",
1843 if (!is_chrome_branded) {
1844 sources -= [ "../browser/google/google_update_win_unittest.cc" ]
1847 if (is_android || is_ios) {
1849 "../browser/devtools/device/webrtc/devtools_bridge_instances_request_unittest.cc",
1850 "../browser/ui/sync/sync_promo_ui_unittest.cc",
1853 deps += [ "//chrome/tools/profile_reset:jtl_compiler_lib" ]
1855 if (!is_android && !is_chromeos) {
1856 sources += rebase_path(
1857 chrome_tests_unit_gypi_values.chrome_unit_tests_non_android_or_chromeos_sources,
1861 if (enable_themes) {
1862 sources += rebase_path(
1863 chrome_tests_unit_gypi_values.chrome_unit_tests_themes_sources,
1867 if (!is_android && (use_nss_certs || use_openssl_certs)) {
1868 sources += [ "../common/net/x509_certificate_model_unittest.cc" ]
1870 if (enable_supervised_users) {
1871 sources += rebase_path(
1872 chrome_tests_unit_gypi_values.chrome_unit_tests_supervised_user_sources,
1876 if (enable_supervised_users && !is_android && !is_ios) {
1877 sources += rebase_path(
1878 chrome_tests_unit_gypi_values.chrome_unit_tests_supervised_user_legacy_sources,
1882 if (safe_browsing_mode == 1 && enable_extensions) {
1883 sources += [ "../browser/extensions/blacklist_unittest.cc" ]
1885 if (cld_version == 1) {
1886 sources += [ "//third_party/cld/encodings/compact_lang_det/compact_lang_det_unittest_small.cc" ]
1887 defines += [ "CLD_WINDOWS" ]
1888 deps += [ "//third_party/cld" ]
1890 if (enable_app_list) {
1891 sources += rebase_path(
1892 chrome_tests_unit_gypi_values.chrome_unit_tests_app_list_sources,
1895 deps += [ "//ui/app_list:test_support" ]
1897 if (enable_app_list && is_chromeos) {
1898 sources += rebase_path(
1899 chrome_tests_unit_gypi_values.chrome_unit_tests_app_list_chromeos_sources,
1903 if (enable_plugins && !enable_plugin_installation) {
1904 sources -= [ "../browser/plugins/plugin_installer_unittest.cc" ]
1908 if (is_win || (is_linux && !is_chromeos)) {
1909 # TODO(GYP): Figure out which of these work and are needed on other
1911 test("chrome_app_unittests") {
1913 "../app/chrome_watcher_client_unittest_win.cc",
1914 "../app/chrome_watcher_client_win.cc",
1915 "../app/chrome_watcher_command_line_unittest_win.cc",
1916 "../app/chrome_watcher_command_line_win.cc",
1917 "../app/delay_load_hook_unittest_win.cc",
1918 "../app/delay_load_hook_win.cc",
1919 "../app/delay_load_hook_win.h",
1920 "../app/signature_validator_win.cc",
1921 "../app/signature_validator_win.h",
1922 "../app/signature_validator_win_unittest.cc",
1923 "../common/crash_keys.cc",
1924 "../common/crash_keys.h",
1929 "//breakpad:client",
1932 "//components/crash_keys",
1933 "//base/test:run_all_unittests",
1934 "//base/test:test_support",
1936 if (cld_version == 2) {
1937 # Use whatever CLD2 data access mode that the
1938 # application embedder is using.
1939 deps += [ "//third_party/cld_2:cld2_platform_impl" ]
1943 test("performance_browser_tests") {
1944 sources = rebase_path(
1945 chrome_tests_gypi_values.performance_browser_tests_sources,
1949 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
1955 "//base/test:test_support",
1957 "//chrome/renderer",
1958 "//components/about_handler",
1959 "//components/autofill/content/browser/wallet:test_support",
1960 "//components/autofill/content/renderer:test_support",
1961 "//media/cast:test_support",
1968 configs -= [ "//build/config/win:default_incremental_linking" ]
1970 [ "//build/config/win:default_large_module_incremental_linking" ]
1973 "../app/chrome_command_ids.h",
1975 #"../app/chrome_dll.rc",
1976 #"../app/chrome_dll_resource.h",
1977 "../app/chrome_version.rc.version",
1981 sources -= [ "perf/mach_ports_performancetest.cc" ]
1984 if (cld_version == 2) {
1985 # Use whatever CLD2 data access mode that the
1986 # application embedder is using.
1987 deps += [ "//third_party/cld_2:cld2_platform_impl" ]
1993 source_set("test_support_unit") {
1996 "../browser/sync/glue/session_sync_test_helper.cc",
1997 "../browser/sync/glue/session_sync_test_helper.h",
1998 "base/run_all_unittests.cc",
2004 "//chrome:resources",
2008 "//mojo/environment:chromium",
2009 "//third_party/mojo/src/mojo/edk/system",
2012 if (!is_android && use_ash) {
2013 sources += rebase_path(
2014 chrome_tests_unit_gypi_values.chrome_test_support_unit_ash_sources,