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/pylib/",
623 "//third_party/WebKit/PerformanceTests/resources/jquery.tablesorter.min.js",
624 "//third_party/WebKit/PerformanceTests/resources/statistics.js",
625 "//third_party/flot/jquery.flot.min.js",
626 "//third_party/webpagereplay/",
627 "//tools/telemetry/",
630 if (is_win && (symbol_level == 1 || symbol_level == 2)) {
631 # TODO(GYP): These should be provided automatically through data_deps.
632 data += [ "$root_out_dir/chrome.exe.pdb" ]
633 if (is_component_build) {
635 "$root_out_dir/base.dll.pdb",
636 "$root_out_dir/blink_platform.dll.pdb",
637 "$root_out_dir/blink_web.dll.pdb",
638 "$root_out_dir/content.dll.pdb",
644 # TODO(GYP): Delete this after we've converted everything to GN.
645 # The _run targets exist only for compatibility w/ GYP.
646 group("tab_capture_end2end_tests_run") {
653 # TODO(GYP): Delete this after we've converted everything to GN.
654 # The _run targets exist only for compatibility w/ GYP.
655 group("browser_tests_run") {
657 data_deps = [ ":browser_tests" ]
660 test("browser_tests") {
662 "base/browser_tests_main.cc",
665 rebase_path(chrome_tests_gypi_values.chrome_browser_tests_sources,
668 sources += rebase_path(
669 chrome_tests_gypi_values.chrome_browser_extensions_test_support_sources,
673 configs += [ "//build/config:precompiled_headers" ]
677 "//chrome/browser/policy/test/asn1der.py",
678 "//chrome/browser/policy/test/policy_testserver.py",
679 "//chrome/common/extensions/docs/examples/apps/calculator/",
680 "//chrome/third_party/mock4js/",
681 "//content/test/data/",
682 "//google_apis/test/",
683 "//media/test/data/",
685 "//net/tools/testserver/",
686 "//ppapi/tests/test_case.html",
687 "//ppapi/tests/test_case.html.mock-http-headers",
688 "//ppapi/tests/test_page.css",
689 "//ppapi/tests/test_page.css.mock-http-headers",
690 "//testing/test_env.py",
691 "//third_party/accessibility-audit/axs_testing.js",
692 "//third_party/mocha/mocha.js",
693 "//third_party/pyftpdlib/",
694 "//third_party/pywebsocket/",
695 "//third_party/safe_browsing/",
696 "//third_party/simplejson/",
697 "//third_party/tlslite/",
698 "//ui/webui/resources/js/",
699 "$root_out_dir/pyproto/",
700 "$root_out_dir/browser_tests.pak",
701 "$root_out_dir/chrome_100_percent.pak",
702 "$root_out_dir/locales/",
703 "$root_out_dir/remoting/unittests/",
704 "$root_out_dir/resources.pak",
705 "$root_out_dir/resources/extension/",
706 "$root_out_dir/test_case.html",
707 "$root_out_dir/test_case.html.mock-http-headers",
708 "$root_out_dir/test_data/",
709 "$root_out_dir/test_page.css",
710 "$root_out_dir/test_page.css.mock-http-headers",
711 "$root_out_dir/test_url_loader_data/",
715 ":browser_tests_js_webui",
716 ":sync_integration_test_support",
721 "//base/test:test_support",
722 "//chrome:browser_tests_pak",
723 "//chrome:packed_extra_resources",
724 "//chrome:packed_resources",
725 "//chrome:resources",
728 "//chrome/browser/resources:extension_resource_demo",
729 "//chrome/common/extensions/api",
731 "//components/autofill/content/browser:risk_proto",
732 "//components/autofill/content/browser/wallet:test_support",
733 "//components/autofill/content/renderer:test_support",
734 "//components/captive_portal:test_support",
735 "//components/dom_distiller/content:content_browser",
736 "//components/dom_distiller/core:test_support",
737 "//components/guest_view/browser:test_support",
738 "//components/resources",
739 "//components/strings",
740 "//components/translate/core/common",
741 "//components/user_manager:test_support",
743 "//crypto:test_support",
744 "//device/bluetooth:mocks",
745 "//device/serial:test_support",
746 "//extensions/common/api",
747 "//google_apis:test_support",
749 "//media/base:test_support",
750 "//media/cast:test_support",
752 "//net:test_support",
756 "//sync:test_support_sync_api",
760 "//third_party/cacheinvalidation",
762 "//third_party/leveldatabase",
763 "//third_party/libaddressinput",
764 "//third_party/libjingle",
765 "//third_party/safe_browsing:test_support",
766 "//third_party/webrtc/modules/desktop_capture",
767 "//third_party/widevine/cdm:version_h",
768 "//ui/accessibility:test_support",
769 "//ui/base:test_support",
770 "//ui/compositor:test_support",
772 "//ui/web_dialogs:test_support",
776 # TODO(rockot) bug 505926: The chrome_extensions_browsertests target should
777 # be deleted and this line removed. See the chrome_extensions_browsertests
779 deps += [ "//extensions:chrome_extensions_browsertests" ]
781 # Runtime dependencies
783 "//ppapi:ppapi_tests",
784 "//ppapi:power_saver_test_plugin",
785 "//remoting/webapp:browser_test_resources",
786 "//remoting/webapp:unit_tests",
787 "//third_party/mesa:osmesa",
788 "//third_party/widevine/cdm:widevine_test_license_server",
791 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
793 if (!enable_nacl_browsertests) {
794 defines += [ "DISABLE_NACL_BROWSERTESTS" ]
797 # TODO(GYP) if (is_win) {
798 # ['incremental_chrome_dll==1', {
799 # 'UseLibraryDependencyInputs': "true",
802 if (cld_version == 2) {
803 # Because the browser_tests use translate, they need CLD data.
804 deps += [ "//third_party/cld_2:cld2_platform_impl" ]
807 if (!enable_one_click_signin) {
808 sources -= [ "../browser/ui/sync/one_click_signin_bubble_links_delegate_browsertest.cc" ]
810 if (!enable_nacl_browsertests) {
811 sources -= [ "../browser/extensions/api/hotword_private/hotword_private_apitest.cc" ]
812 } else if (enable_nacl) {
814 "../browser/extensions/extension_nacl_browsertest.cc",
815 "../browser/nacl_host/test/gdb_debug_stub_browsertest.cc",
817 deps += [ "//components/nacl/renderer/plugin:nacl_trusted_plugin" ]
819 if (enable_nacl_untrusted) {
821 "nacl/nacl_browsertest.cc",
822 "nacl/nacl_browsertest_uma.cc",
823 "nacl/nacl_browsertest_util.cc",
824 "nacl/nacl_browsertest_util.h",
825 "nacl/pnacl_header_test.cc",
826 "nacl/pnacl_header_test.h",
829 # TODO(GYP): Make NaCl work in other configs and update the irt
830 # dependency as appropriate. We should probably push this
831 # dependency into ppapi/native_client so that clients don't need
832 # to know all of the different toolchain options.
833 assert(current_cpu == "x64")
835 # "test/data/nacl:shared_test_files", # TODO(GYP) bug 512902
836 "//ppapi/native_client:irt",
837 "//ppapi:ppapi_nacl_tests",
839 # "../ppapi/ppapi_nacl.gyp:ppapi_nacl_tests", # TODO(GYP) bug 512901
840 # "../ppapi/tests/extensions/extensions.gyp:ppapi_tests_extensions_background_keepalive", # TODO(GYP) bug 512900
841 # "../ppapi/tests/extensions/extensions.gyp:ppapi_tests_extensions_media_galleries", # TODO(GYP) bug 512900
842 # "../ppapi/tests/extensions/extensions.gyp:ppapi_tests_extensions_packaged_app", # TODO(GYP) bug 512900
845 sources += [ "//third_party/liblouis/nacl_wrapper/liblouis_wrapper_browsertest.cc" ]
847 "//chrome/browser/chromeos",
848 #'../third_party/liblouis/liblouis_nacl.gyp:liblouis_test_data', TODO(GYP) bug 512906
852 if (is_win || is_linux) {
853 sources += [ "../browser/nacl_host/test/nacl_gdb_browsertest.cc" ]
854 deps += [ "//chrome/browser/nacl_host/test:mock_nacl_gdb" ]
857 # TODO(halyavin) NaCl on Windows can't open debug stub socket in
858 # browser process as needed by this test. See http://crbug.com/157312.
859 sources -= [ "../browser/nacl_host/test/gdb_debug_stub_browsertest.cc" ]
861 #'chrome.gyp:chrome_nacl_win64', TODO(GYP) bug 512869
863 configs -= [ "//build/config/win:default_incremental_linking" ]
865 [ "//build/config/win:default_large_module_incremental_linking" ]
869 "//native_client/src/trusted/service_runtime/linux:munge_nacl_helper_bootstrap",
870 "//components/nacl:nacl_helper",
872 # "//components/nacl_nonsfi.gyp:nacl_helper_nonsfi", # TODO(GYP) bug 512912.
876 if (debug_devtools) {
877 defines += [ "DEBUG_DEVTOOLS=1" ]
880 deps += [ "//ash:test_support" ]
882 if (use_aura || toolkit_views) {
883 deps += [ "//ui/events:test_support" ]
886 sources += rebase_path(
887 chrome_tests_gypi_values.chrome_browser_tests_views_sources,
890 deps += [ "//ui/views" ]
892 sources += rebase_path(
893 chrome_tests_gypi_values.chrome_browser_tests_views_non_mac_sources,
899 sources += rebase_path(
900 chrome_tests_gypi_values.chrome_browser_tests_chromeos_sources,
904 "../../apps/load_and_launch_browsertest.cc",
905 "../browser/printing/cloud_print/test/cloud_print_policy_browsertest.cc",
906 "../browser/printing/cloud_print/test/cloud_print_proxy_process_browsertest.cc",
908 # chromeos does not support profile list avatar menu
909 "../browser/profiles/profile_list_desktop_browsertest.cc",
910 "../browser/service_process/service_process_control_browsertest.cc",
912 # chromeos does not use cross-platform panels
913 "../browser/ui/panels/panel_extension_browsertest.cc",
915 # chromeos does not use the desktop user manager
916 "../browser/ui/webui/signin/user_manager_ui_browsertest.cc",
920 "//dbus:test_support",
921 "//ui/login:resources",
925 "../browser/extensions/api/enterprise_device_attributes/enterprise_device_attributes_apitest.cc",
926 "../browser/extensions/api/enterprise_platform_keys/enterprise_platform_keys_apitest_nss.cc",
927 "../browser/extensions/api/platform_keys/platform_keys_apitest_nss.cc",
928 "../browser/extensions/api/terminal/terminal_private_apitest.cc",
929 "../browser/invalidation/profile_invalidation_provider_factory_browsertest.cc",
930 "../browser/net/nss_context_chromeos_browsertest.cc",
931 "../browser/ui/ash/keyboard_controller_browsertest.cc",
932 "data/webui/certificate_viewer_ui_test-inl.h",
935 sources -= [ "../browser/ui/views/select_file_dialog_extension_browsertest.cc" ]
938 if (enable_configuration_policy) {
939 sources += rebase_path(
940 chrome_tests_gypi_values.chrome_browser_tests_policy_sources,
944 if (enable_web_speech) {
945 sources += rebase_path(
946 chrome_tests_gypi_values.chrome_browser_tests_speech_sources,
950 if (safe_browsing_mode == 1) {
951 sources += rebase_path(
952 chrome_tests_gypi_values.chrome_browser_tests_full_safe_browsing_sources,
956 if (enable_captive_portal_detection) {
957 sources += [ "../browser/captive_portal/captive_portal_browsertest.cc" ]
959 if (!enable_webrtc) {
961 "../browser/extensions/api/webrtc_audio_private/webrtc_audio_private_browsertest.cc",
962 "../browser/extensions/api/webrtc_logging_private/webrtc_logging_private_apitest.cc",
963 "../browser/media/chrome_webrtc_browsertest.cc",
964 "../browser/media/chrome_webrtc_disable_encryption_flag_browsertest.cc",
965 "../browser/media/chrome_webrtc_getmediadevices_browsertest.cc",
968 if (enable_media_router) {
969 sources += rebase_path(
970 chrome_tests_gypi_values.chrome_browser_tests_media_router_sources,
973 deps += [ "//chrome/browser/media/router:test_support" ]
977 "//chrome:other_version",
983 "../app/chrome_command_ids.h",
984 "../app/chrome_dll_resource.h",
985 "../app/chrome_version.rc.version",
986 "../browser/media_galleries/fileapi/iapps_finder_impl_win_browsertest.cc",
989 if (!is_chromeos && use_aura) {
991 # On Windows and Linux, we currently don't support enough of the
992 # ash environment to run these unit tests.
994 # TODO: enable these on windows and linux.
995 "../browser/ui/ash/accelerator_commands_browsertest.cc",
996 "../browser/ui/ash/accelerator_controller_browsertest.cc",
997 "../browser/ui/ash/launcher/chrome_launcher_controller_browsertest.cc",
998 "../browser/ui/ash/launcher/launcher_favicon_loader_browsertest.cc",
999 "../browser/ui/ash/shelf_browsertest.cc",
1000 "../browser/ui/views/frame/browser_non_client_frame_view_ash_browsertest.cc",
1004 # TODO(mark): We really want this for all non-static library
1005 # targets, but when we tried to pull it up to the common.gypi
1006 # level, it broke other things like the ui and startup tests. *shrug*
1007 ldflags = [ "-Wl,-ObjC" ]
1009 # Other platforms only need
1010 # chrome_resources.gyp:{packed_extra_resources,packed_resources},
1011 # and can build this target standalone much faster.
1013 #'app_mode_app_support', TODO(GYP)
1016 #'../components/components.gyp:breakpad_stubs', TODO(GYP)
1017 "//third_party/ocmock",
1020 "../browser/media_galleries/fileapi/iphoto_data_provider_browsertest.cc",
1021 "../browser/renderer_host/chrome_render_widget_host_view_mac_history_swiper_browsertest.mm",
1022 "../browser/spellchecker/spellcheck_message_filter_platform_mac_browsertest.cc",
1025 # TODO(groby): This test depends on hunspell and we cannot run it on
1026 # Mac, which does not use hunspell by default.
1027 "../browser/spellchecker/spellcheck_service_browsertest.cc",
1029 # TODO(rouslan): This test depends on the custom dictionary UI,
1030 # which is disabled on Mac.
1031 # TODO(GYP): This should be added somewhere first ...
1032 # "../browser/ui/webui/options/edit_dictionary_browsertest.js",
1034 # TODO(rouslan): This test depends on hunspell and we cannot run it
1035 # on Mac, which does use hunspell by default.
1036 # TODO(GYP): This should be added somewhere first ...
1037 # "../browser/ui/webui/options/language_options_dictionary_download_browsertest.js",
1039 # ProcessSingletonMac doesn"t do anything.
1040 "../browser/process_singleton_browsertest.cc",
1042 # This test depends on GetCommandLineForRelaunch, which is not
1044 "../browser/printing/cloud_print/test/cloud_print_policy_browsertest.cc",
1046 # single-process mode hangs on Mac sometimes because of multiple UI
1047 # message loops. See 306348
1048 "../renderer/safe_browsing/phishing_classifier_browsertest.cc",
1049 "../renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc",
1050 "../renderer/safe_browsing/phishing_dom_feature_extractor_browsertest.cc",
1053 if (is_mac || is_win) {
1055 "../browser/extensions/api/networking_private/networking_private_apitest.cc",
1056 "../browser/extensions/api/networking_private/networking_private_service_client_apitest.cc",
1057 "../browser/media_galleries/fileapi/itunes_data_provider_browsertest.cc",
1058 "../browser/media_galleries/fileapi/picasa_data_provider_browsertest.cc",
1060 deps += [ "//components/wifi:test_support" ]
1062 if (!is_posix || is_chromeos) {
1063 sources -= [ "../common/time_format_browsertest.cc" ]
1067 "../browser/policy/cloud/component_cloud_policy_browsertest.cc",
1068 "../browser/prefs/pref_hash_browsertest.cc",
1069 "../renderer/spellchecker/spellcheck_provider_hunspell_unittest.cc",
1070 "../renderer/spellchecker/spellcheck_unittest.cc",
1075 "../browser/extensions/api/networking_private/networking_private_apitest.cc",
1076 "../browser/extensions/api/networking_private/networking_private_chromeos_apitest.cc",
1079 if (!is_android && !is_ios && enable_nacl_browsertests) {
1081 [ "../browser/copresence/chrome_whispernet_client_browsertest.cc" ]
1082 deps += [ "//components/copresence" ]
1084 if (enable_app_list) {
1085 sources += rebase_path(
1086 chrome_tests_gypi_values.chrome_browser_tests_app_list_sources,
1090 if (enable_supervised_users) {
1091 sources += rebase_path(
1092 chrome_tests_gypi_values.chrome_browser_tests_supervised_user_sources,
1096 if (enable_pepper_cdms) {
1097 # Runtime dependencies.
1099 "//media/cdm/ppapi:clearkeycdmadapter",
1100 "//third_party/widevine/cdm:widevinecdmadapter",
1103 if (!enable_print_preview) {
1105 "../browser/extensions/api/cloud_print_private/cloud_print_private_apitest.cc",
1106 "../browser/printing/cloud_print/test/cloud_print_policy_browsertest.cc",
1107 "../browser/printing/cloud_print/test/cloud_print_proxy_process_browsertest.cc",
1108 "../browser/printing/print_preview_dialog_controller_browsertest.cc",
1109 "../browser/printing/print_preview_pdf_generated_browsertest.cc",
1110 "../browser/service_process/service_process_control_browsertest.cc",
1111 "../browser/ui/webui/print_preview/print_preview_ui_browsertest.cc",
1112 "data/webui/print_preview.cc",
1113 "data/webui/print_preview.h",
1117 sources += [ "../browser/ui/webui/local_discovery/local_discovery_ui_browsertest.cc" ]
1120 deps += [ "//build/linux:libbrlapi" ]
1122 sources -= [ "../browser/extensions/api/braille_display_private/braille_display_private_apitest.cc" ]
1124 if (is_chrome_branded) {
1126 # These tests depend on single process mode, which is disabled in
1128 "../renderer/safe_browsing/phishing_classifier_browsertest.cc",
1129 "../renderer/safe_browsing/phishing_classifier_delegate_browsertest.cc",
1130 "../renderer/safe_browsing/phishing_dom_feature_extractor_browsertest.cc",
1133 if (!enable_autofill_dialog || is_android || is_ios) {
1134 deps -= [ "//third_party/libaddressinput" ]
1136 if (enable_remoting) {
1137 sources += rebase_path(
1138 chrome_tests_gypi_values.chrome_browser_tests_remoting_sources,
1141 #deps += [ "//remoting:remoting_webapp" ] TODO(GYP)
1144 deps += [ "//tools/xdisplaycheck" ]
1148 # TODO(GYP): Delete this after we've converted everything to GN.
1149 # The _run targets exist only for compatibility w/ GYP.
1150 group("sync_integration_tests_run") {
1153 ":sync_integration_tests",
1157 test("sync_integration_tests") {
1159 rebase_path(chrome_tests_gypi_values.sync_integration_tests_sources,
1164 "//chrome/test/data/sync/",
1165 "//net/tools/testserver/",
1166 "//sync/tools/testserver/",
1167 "//third_party/pyftpdlib/",
1168 "//third_party/pywebsocket/",
1169 "//third_party/tlslite/",
1170 "$root_out_dir/pyproto/",
1171 "$root_out_dir/resources.pak",
1174 if (is_linux || is_win) {
1176 "$root_out_dir/chrome_100_percent.pak",
1177 "$root_out_dir/locales/en-US.pak",
1181 # TODO(phajdan.jr): Only temporary, to make transition easier.
1182 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
1185 ":sync_integration_test_support",
1188 "//chrome:packed_extra_resources",
1189 "//chrome:packed_resources",
1190 "//chrome:resources",
1193 "//chrome/renderer",
1194 "//crypto:platform",
1198 "//third_party/icu",
1199 "//third_party/leveldatabase",
1200 "//third_party/WebKit/public:blink",
1203 data_deps = [ "//third_party/mesa:osmesa" ]
1205 if (cld_version == 2) {
1206 # Language detection is irrelevant to sync, so it can depend on any
1207 # implementation for CLD2. Dynamic is smaller, so go with dynamic.
1208 deps += [ "//third_party/cld_2:cld2_dynamic" ]
1211 # Dictionary sync is disabled on Mac.
1213 "../browser/sync/test/integration/multiple_client_dictionary_sync_test.cc",
1214 "../browser/sync/test/integration/single_client_dictionary_sync_test.cc",
1215 "../browser/sync/test/integration/two_client_dictionary_sync_test.cc",
1218 # The sync_integration_tests do not run on mac without this flag.
1219 # Search for comments about "xcode_settings" elsewhere in this file.
1220 ldflags = [ "-Wl,-ObjC" ]
1224 "//chrome:other_version",
1225 "//third_party/wtl",
1229 configs -= [ "//build/config/win:default_incremental_linking" ]
1231 [ "//build/config/win:default_large_module_incremental_linking" ]
1233 sources -= [ "../app/chrome_version.rc.version" ]
1237 "../browser/sync/test/integration/single_client_wifi_credentials_sync_test.cc",
1238 "../browser/sync/test/integration/two_client_wifi_credentials_sync_test.cc",
1242 if (toolkit_views) {
1243 deps += [ "//ui/views" ]
1245 if (enable_basic_printing || enable_print_preview) {
1246 deps += [ "//printing" ]
1248 if (!enable_app_list) {
1250 "../browser/sync/test/integration/single_client_app_list_sync_test.cc",
1251 "../browser/sync/test/integration/two_client_app_list_sync_test.cc",
1254 if (!enable_supervised_users) {
1255 sources -= [ "../browser/sync/test/integration/single_client_supervised_user_settings_sync_test.cc" ]
1259 test("sync_performance_tests") {
1261 rebase_path(chrome_tests_gypi_values.sync_performance_tests_sources,
1265 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
1268 ":sync_integration_test_support",
1270 "//crypto:platform",
1276 if (cld_version == 2) {
1277 # Language detection is irrelevant to sync, so it can depend on any
1278 # implementation for CLD2. Dynamic is smaller, so go with dynamic.
1279 deps += [ "//third_party/cld_2:cld2_dynamic" ]
1283 # Dictionary sync is disabled on Mac.
1284 sources -= [ "../browser/sync/test/integration/performance/dictionary_sync_perf_test.cc" ]
1286 # The sync_performance_tests do not run on mac without this flag.
1287 # Search for comments about "xcode_settings" elsewhere in this file.
1288 ldflags = [ "-Wl,-ObjC" ]
1292 "//chrome:other_version",
1293 "//chrome/installer/util:strings",
1294 "//third_party/wtl",
1297 configs -= [ "//build/config/win:default_incremental_linking" ]
1299 [ "//build/config/win:default_large_module_incremental_linking" ]
1301 sources -= [ "../app/chrome_version.rc.version" ]
1304 if (toolkit_views) {
1305 deps += [ "//ui/views" ]
1309 # Executable to measure time to load libraries.
1310 test("load_library_perf_tests") {
1312 "../browser/load_library_perf_test.cc",
1316 "//base/test:test_support_perf",
1319 "//third_party/widevine/cdm:version_h",
1322 if (enable_pepper_cdms) {
1324 "//media/cdm/ppapi:clearkeycdmadapter",
1325 "//third_party/widevine/cdm:widevinecdmadapter",
1330 js2gtest("unit_tests_js") {
1332 sources = rebase_path(
1333 chrome_tests_unit_gypi_values.chrome_unit_tests_gtestjs_sources,
1337 rebase_path(chrome_tests_unit_gypi_values.chrome_unit_tests_js_sources,
1341 sources += rebase_path(
1342 chrome_tests_unit_gypi_values.chrome_unit_tests_chromeos_gtestjs_sources,
1345 extra_js_files += rebase_path(
1346 chrome_tests_unit_gypi_values.chrome_unit_tests_chromeos_js_sources,
1352 # TODO(GYP): Delete this after we've converted everything to GN.
1353 # The _run targets exist only for compatibility w/ GYP.
1354 group("unit_tests_run") {
1361 test("unit_tests") {
1363 rebase_path(chrome_tests_unit_gypi_values.chrome_unit_tests_sources,
1367 configs += [ "//build/config:precompiled_headers" ]
1371 "//base/test/data/",
1372 "//chrome/third_party/mock4js/",
1373 "//components/test/data/",
1374 "//extensions/test/data/",
1375 "//google_apis/test/data/",
1377 "//net/tools/testserver/",
1378 "//third_party/accessibility-audit/axs_testing.js",
1379 "//third_party/hunspell_dictionaries/",
1380 "//third_party/pyftpdlib/",
1381 "//third_party/pywebsocket/",
1382 "//third_party/tlslite/",
1383 "//third_party/zlib/google/test/data/",
1384 "//tools/metrics/histograms/histograms.xml",
1385 "$root_out_dir/pyproto/google/",
1386 "$root_out_dir/test_data/chrome/browser/resources/google_now/",
1387 "$root_out_dir/test_data/chrome/browser/resources/print_preview/",
1388 "$root_out_dir/test_data/chrome/renderer/resources/extensions/",
1389 "$root_out_dir/test_data/ui/webui/",
1390 "$root_out_dir/resources.pak",
1392 if (is_android || is_linux || is_win) {
1394 "$root_out_dir/chrome_100_percent.pak",
1395 "$root_out_dir/locales/en-US.pak",
1402 # NOTE: New depndencies should generally be added in the OS!="ios"
1403 # dependencies block below, rather than here.
1404 # Unit tests should only depend on:
1405 # 1) everything that the chrome binaries depend on:
1406 "//chrome:browser_dependencies",
1407 "//chrome:child_dependencies",
1409 # 2) test-specific support libraries:
1410 ":test_support_unit",
1411 "//base/test:test_support",
1412 "//chrome/test:test_support",
1413 "//components/resources",
1414 "//components/content_settings/core/test:test_support",
1415 "//content/test:test_support",
1416 "//content/public/app:both",
1417 "//crypto:platform",
1418 "//crypto:test_support",
1420 "//net:test_support",
1421 "//sync:test_support_sync_api",
1422 "//sync:test_support_sync_core",
1423 "//sync:test_support_sync_internal_api",
1427 # 3) anything tests directly depend on
1429 "//chrome:resources",
1431 "//courgette:courgette_lib",
1434 "//third_party/cacheinvalidation",
1435 "//third_party/icu",
1436 "//third_party/libxml",
1437 "//ui/base:test_support",
1438 "//ui/gfx:test_support",
1443 # TODO(GYP) Windows stuff
1444 # ['incremental_chrome_dll==1', {
1445 # 'UseLibraryDependencyInputs': "true",
1450 "//components/audio_modem:test_support",
1451 "//components/autofill/content/browser/wallet:test_support",
1452 "//components/autofill/content/renderer:test_support",
1453 "//components/metrics/proto",
1454 "//components/data_reduction_proxy/core/browser:test_support",
1455 "//components/safe_json:test_support",
1456 "//components/webdata_services:test_support",
1457 "//components/strings",
1458 "//device/bluetooth:mocks",
1459 "//content/app/resources",
1460 "//gpu:test_support",
1461 "//media:test_support",
1463 #'../ppapi/ppapi_internal.gyp:ppapi_unittest_shared', TODO(GYP)
1464 "//third_party/leveldatabase",
1465 "//third_party/libaddressinput",
1466 "//third_party/libjingle",
1467 "//third_party/libphonenumber",
1468 "//third_party/webrtc/modules/desktop_capture",
1469 "//tools/json_schema_compiler/test",
1476 deps -= [ "//third_party/libaddressinput" ]
1478 # Some android targets still depend on --gc-sections to link.
1479 # TODO: remove --gc-sections for Debug builds (crbug.com/159847).
1480 ldflags = [ "-Wl,--gc-sections" ]
1481 deps += [ "//testing/android/native_test:native_test_native_code" ]
1482 isolate_file = "../unit_tests.isolate"
1484 sources += rebase_path(
1485 chrome_tests_unit_gypi_values.chrome_unit_tests_non_android_sources,
1488 sources -= [ "../browser/download/download_request_infobar_delegate_unittest.cc" ]
1490 if (is_ios || is_chromeos) {
1492 [ "../browser/metrics/signin_status_metrics_provider_unittest.cc" ]
1494 if (enable_background) {
1495 sources += rebase_path(
1496 chrome_tests_unit_gypi_values.chrome_unit_tests_background_sources,
1500 if (enable_spellcheck) {
1501 sources += rebase_path(
1502 chrome_tests_unit_gypi_values.chrome_unit_tests_spellchecker_sources,
1505 if (is_mac && !is_ios) {
1506 deps += [ "//third_party/hunspell" ]
1510 if (enable_one_click_signin) {
1512 "../browser/ui/sync/one_click_signin_sync_observer_unittest.cc",
1513 "../browser/ui/sync/one_click_signin_sync_starter_unittest.cc",
1517 if (enable_extensions) {
1518 sources += rebase_path(
1519 chrome_tests_unit_gypi_values.chrome_unit_tests_extensions_sources,
1523 "//chrome/common/extensions/api",
1524 "//device/usb:mocks",
1525 "//extensions:extensions_resources",
1526 "//extensions/strings",
1528 if (enable_configuration_policy) {
1529 sources += rebase_path(
1530 chrome_tests_unit_gypi_values.chrome_unit_tests_extensions_policy_sources,
1535 sources += rebase_path(
1536 chrome_tests_unit_gypi_values.chrome_unit_tests_extensions_non_chromeos_sources,
1541 if (toolkit_views) {
1543 "//components/web_modal:test_support",
1545 "//ui/views:test_support",
1547 sources += rebase_path(
1548 chrome_tests_unit_gypi_values.chrome_unit_tests_views_sources,
1551 if (!is_chromeos && (!is_mac || mac_views_browser)) {
1552 sources += rebase_path(
1553 chrome_tests_unit_gypi_values.chrome_unit_tests_views_non_chromeos_sources,
1558 sources += rebase_path(
1559 chrome_tests_unit_gypi_values.chrome_unit_tests_views_non_mac_sources,
1565 sources += rebase_path(
1566 chrome_tests_unit_gypi_values.chrome_unit_tests_ash_sources,
1570 "//ash:test_support",
1575 # We eventually want to compile both in Win Aura builds, see
1576 # http://crbug.com/155545.
1578 sources -= [ "../browser/ui/window_sizer/window_sizer_unittest.cc" ]
1582 sources += [ "//ui/views/controls/webview/webview_unittest.cc" ]
1585 "//ui/aura:test_support",
1586 "//ui/views:test_support",
1589 if (!is_chromeos && is_linux) {
1590 sources += rebase_path(
1591 chrome_tests_unit_gypi_values.chrome_unit_tests_desktop_linux_sources,
1595 if (!is_chromeos && !use_ozone && is_linux) {
1597 "//chrome/browser/ui/libgtk2ui",
1598 "//build/linux:gio",
1602 if (enable_task_manager) {
1603 sources += rebase_path(
1604 chrome_tests_unit_gypi_values.chrome_unit_tests_task_manager_sources,
1609 sources += rebase_path(
1610 chrome_tests_unit_gypi_values.chrome_unit_tests_mdns_sources,
1614 if (enable_service_discovery) {
1615 sources += rebase_path(
1616 chrome_tests_unit_gypi_values.chrome_unit_tests_service_discovery_sources,
1620 if (enable_configuration_policy) {
1621 sources += rebase_path(
1622 chrome_tests_unit_gypi_values.chrome_unit_tests_configuration_policy_sources,
1627 [ "../browser/policy/cloud/user_policy_signin_service_unittest.cc" ]
1628 } else if (is_android) {
1629 sources -= [ "../browser/policy/policy_path_parser_unittest.cc" ]
1631 if (!is_android && !is_ios && !is_chromeos) {
1633 [ "../browser/net/disk_cache_dir_policy_handler_unittest.cc" ]
1635 if (!is_android && !is_ios) {
1637 [ "../browser/download/download_dir_policy_handler_unittest.cc" ]
1640 if (enable_web_speech) {
1641 sources += rebase_path(
1642 chrome_tests_unit_gypi_values.chrome_unit_tests_speech_sources,
1646 if (enable_notifications) {
1647 sources += rebase_path(
1648 chrome_tests_unit_gypi_values.chrome_unit_tests_notifications_sources,
1653 # Android does not use the Message Center notification system.
1654 "../browser/notifications/message_center_notifications_unittest.cc",
1655 "../browser/notifications/message_center_settings_controller_unittest.cc",
1659 if (safe_browsing_mode == 1) {
1660 # TODO(sgurun): enable tests for safe_browsing==2.
1661 sources += rebase_path(
1662 chrome_tests_unit_gypi_values.chrome_unit_tests_full_safe_browsing_sources + chrome_tests_unit_gypi_values.chrome_unit_tests_shared_safe_browsing_sources,
1665 deps += [ ":test_proto" ]
1666 } else if (safe_browsing_mode == 3) {
1667 sources += rebase_path(
1668 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,
1672 if (enable_autofill_dialog && !is_android) {
1673 sources += rebase_path(
1674 chrome_tests_unit_gypi_values.chrome_unit_tests_autofill_dialog_sources,
1678 if (enable_plugins) {
1679 sources += rebase_path(
1680 chrome_tests_unit_gypi_values.chrome_unit_tests_plugins_sources,
1684 if (enable_print_preview) {
1685 sources += rebase_path(
1686 chrome_tests_unit_gypi_values.chrome_unit_tests_print_preview_sources,
1690 if (enable_captive_portal_detection) {
1691 sources += rebase_path(
1692 chrome_tests_unit_gypi_values.chrome_unit_tests_captive_portal_sources,
1696 if (enable_session_service) {
1697 sources += rebase_path(
1698 chrome_tests_unit_gypi_values.chrome_unit_tests_session_service_sources,
1702 if (enable_media_router) {
1703 sources += rebase_path(
1704 chrome_tests_unit_gypi_values.chrome_unit_tests_media_router_sources,
1707 deps += [ "//chrome/browser/media/router:test_support" ]
1709 sources += rebase_path(
1710 chrome_tests_unit_gypi_values.chrome_unit_tests_media_router_non_android_sources,
1714 if (!toolkit_views) {
1715 sources -= [ "../browser/ui/views/media_router/media_router_ui_browsertest.cc" ]
1718 if (enable_webrtc) {
1719 sources += rebase_path(
1720 chrome_tests_unit_gypi_values.chrome_unit_tests_webrtc_sources,
1725 deps += [ "//chrome/browser/chromeos:unit_tests" ]
1727 "../browser/signin/signin_global_error_unittest.cc",
1728 "../browser/signin/signin_manager_unittest.cc",
1732 deps += [ "//ui/events/devices" ]
1733 data_deps += [ "//tools/xdisplaycheck" ]
1735 sources -= [ "../browser/password_manager/password_store_x_unittest.cc" ]
1737 if (cld_version == 2) {
1738 # Unit tests should be independent of the CLD2 access mechanism, just use
1739 # static for simplicity.
1740 deps += [ "//third_party/cld_2:cld2_static" ]
1742 if (is_desktop_linux && current_cpu == "x64") {
1743 # Only add this test for 64 bit builds because otherwise we need the 32
1744 # bit library on 64 bit systems when running this test.
1746 [ "../browser/password_manager/native_backend_gnome_x_unittest.cc" ]
1748 "//chrome/browser:gnome_keyring",
1749 "//chrome/browser:gnome_keyring_direct",
1752 if (is_linux && !is_chromeos) {
1754 [ "../browser/password_manager/native_backend_libsecret_unittest.cc" ]
1756 if (is_linux && use_aura) {
1759 "//dbus:test_support",
1760 "//ui/aura:test_support",
1763 if (is_linux && is_chrome_branded && current_cpu == "x86") {
1764 ldflags = [ "-Wl,--strip-debug" ]
1767 sources += rebase_path(
1768 chrome_tests_unit_gypi_values.chrome_unit_tests_mac_sources,
1772 "../browser/ui/tests/ui_gfx_image_unittest.cc",
1773 "../renderer/spellchecker/spellcheck_provider_hunspell_unittest.cc",
1774 "../tools/convert_dict/convert_dict_unittest.cc",
1777 # The test fetches resources which means Mac need the app bundle to exist
1778 # on disk so it can pull from it.
1780 "//third_party/google_toolbox_for_mac",
1781 "//third_party/ocmock",
1784 # TODO(mark): We really want this for all non-static library targets,
1785 # but when we tried to pull it up to the common.gypi level, it broke
1786 # other things like the ui and startup tests. *shrug*
1787 ldflags = [ "-Wl,-ObjC" ]
1789 if (!is_mac && !is_ios) {
1791 "//chrome/tools/convert_dict:lib",
1792 "//chrome:packed_extra_resources",
1793 "//chrome:packed_resources",
1794 "//third_party/hunspell",
1797 if (is_win || is_mac) {
1798 sources += rebase_path(
1799 chrome_tests_unit_gypi_values.chrome_unit_tests_win_mac_sources,
1803 if (is_win || is_mac || is_chromeos) {
1804 sources += [ "../common/extensions/api/networking_private/networking_private_crypto_unittest.cc" ]
1806 if (enable_rlz_support) {
1807 sources += [ "../browser/rlz/chrome_rlz_tracker_delegate_unittest.cc" ]
1809 "//chrome/browser:rlz",
1811 "//rlz:test_support",
1815 # The PDB gets too large for incremental linking.
1816 configs -= [ "//build/config/win:default_incremental_linking" ]
1817 configs += [ "//build/config/win:no_incremental_linking" ]
1819 sources += rebase_path(
1820 chrome_tests_unit_gypi_values.chrome_unit_tests_win_sources,
1824 #'browser/safe_browsing/incident_reporting/verifier_test/verifier_unittest.gyp:verifier_test_dll_1', TODO(GYP) bug 512919
1825 #'browser/safe_browsing/incident_reporting/verifier_test/verifier_unittest.gyp:verifier_test_dll_2', TODO(GYP) bug 512919
1826 "//chrome:other_version",
1827 "//chrome_elf:blacklist_test_dll_1",
1828 "//chrome/installer/util:strings",
1829 "//third_party/iaccessible2",
1830 "//third_party/isimpledom",
1831 "//third_party/wtl",
1842 if (!is_chrome_branded) {
1843 sources -= [ "../browser/google/google_update_win_unittest.cc" ]
1846 if (is_android || is_ios) {
1848 "../browser/devtools/device/webrtc/devtools_bridge_instances_request_unittest.cc",
1849 "../browser/ui/sync/sync_promo_ui_unittest.cc",
1852 deps += [ "//chrome/tools/profile_reset:jtl_compiler_lib" ]
1854 if (!is_android && !is_chromeos) {
1855 sources += rebase_path(
1856 chrome_tests_unit_gypi_values.chrome_unit_tests_non_android_or_chromeos_sources,
1860 if (enable_themes) {
1861 sources += rebase_path(
1862 chrome_tests_unit_gypi_values.chrome_unit_tests_themes_sources,
1866 if (!is_android && (use_nss_certs || use_openssl_certs)) {
1867 sources += [ "../common/net/x509_certificate_model_unittest.cc" ]
1869 if (enable_supervised_users) {
1870 sources += rebase_path(
1871 chrome_tests_unit_gypi_values.chrome_unit_tests_supervised_user_sources,
1875 if (enable_supervised_users && !is_android && !is_ios) {
1876 sources += rebase_path(
1877 chrome_tests_unit_gypi_values.chrome_unit_tests_supervised_user_legacy_sources,
1881 if (safe_browsing_mode == 1 && enable_extensions) {
1882 sources += [ "../browser/extensions/blacklist_unittest.cc" ]
1884 if (cld_version == 1) {
1885 sources += [ "//third_party/cld/encodings/compact_lang_det/compact_lang_det_unittest_small.cc" ]
1886 defines += [ "CLD_WINDOWS" ]
1887 deps += [ "//third_party/cld" ]
1889 if (enable_app_list) {
1890 sources += rebase_path(
1891 chrome_tests_unit_gypi_values.chrome_unit_tests_app_list_sources,
1894 deps += [ "//ui/app_list:test_support" ]
1896 if (enable_app_list && is_chromeos) {
1897 sources += rebase_path(
1898 chrome_tests_unit_gypi_values.chrome_unit_tests_app_list_chromeos_sources,
1902 if (enable_plugins && !enable_plugin_installation) {
1903 sources -= [ "../browser/plugins/plugin_installer_unittest.cc" ]
1907 if (is_win || (is_linux && !is_chromeos)) {
1908 # TODO(GYP): Figure out which of these work and are needed on other
1910 test("chrome_app_unittests") {
1912 "../app/chrome_watcher_client_unittest_win.cc",
1913 "../app/chrome_watcher_client_win.cc",
1914 "../app/chrome_watcher_command_line_unittest_win.cc",
1915 "../app/chrome_watcher_command_line_win.cc",
1916 "../app/delay_load_hook_unittest_win.cc",
1917 "../app/delay_load_hook_win.cc",
1918 "../app/delay_load_hook_win.h",
1919 "../app/signature_validator_win.cc",
1920 "../app/signature_validator_win.h",
1921 "../app/signature_validator_win_unittest.cc",
1922 "../common/crash_keys.cc",
1923 "../common/crash_keys.h",
1928 "//breakpad:client",
1931 "//components/crash_keys",
1932 "//base/test:run_all_unittests",
1933 "//base/test:test_support",
1935 if (cld_version == 2) {
1936 # Use whatever CLD2 data access mode that the
1937 # application embedder is using.
1938 deps += [ "//third_party/cld_2:cld2_platform_impl" ]
1942 test("performance_browser_tests") {
1943 sources = rebase_path(
1944 chrome_tests_gypi_values.performance_browser_tests_sources,
1948 defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
1954 "//base/test:test_support",
1956 "//chrome/renderer",
1957 "//components/about_handler",
1958 "//components/autofill/content/browser/wallet:test_support",
1959 "//components/autofill/content/renderer:test_support",
1960 "//media/cast:test_support",
1967 configs -= [ "//build/config/win:default_incremental_linking" ]
1969 [ "//build/config/win:default_large_module_incremental_linking" ]
1972 "../app/chrome_command_ids.h",
1974 #"../app/chrome_dll.rc",
1975 #"../app/chrome_dll_resource.h",
1976 "../app/chrome_version.rc.version",
1980 sources -= [ "perf/mach_ports_performancetest.cc" ]
1983 if (cld_version == 2) {
1984 # Use whatever CLD2 data access mode that the
1985 # application embedder is using.
1986 deps += [ "//third_party/cld_2:cld2_platform_impl" ]
1992 source_set("test_support_unit") {
1995 "../browser/sync/glue/session_sync_test_helper.cc",
1996 "../browser/sync/glue/session_sync_test_helper.h",
1997 "base/run_all_unittests.cc",
2003 "//chrome:resources",
2007 "//mojo/environment:chromium",
2008 "//third_party/mojo/src/mojo/edk/system",
2011 if (!is_android && use_ash) {
2012 sources += rebase_path(
2013 chrome_tests_unit_gypi_values.chrome_test_support_unit_ash_sources,