Add per-user preferences support.
[chromium-blink-merge.git] / BUILD.gn
blob8ddda068d9b600bbf9c3bb50e185c42817e741e4
1 # Copyright (c) 2013 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 # This is the root build file for GN. GN will start processing by loading this
6 # file, and recursively load all dependencies until all dependencies are either
7 # resolved or known not to exist (which will cause the build to fail). So if
8 # you add a new build file, there must be some path of dependencies from this
9 # file to your new one or GN won't know about it.
11 import("//build/config/features.gni")
12 import("//build/config/ui.gni")
14 if (is_android) {
15   import("//build/config/android/config.gni")
18 declare_args() {
19   # A list of extra dependencies to add to the root target. This allows a
20   # checkout to add additional targets without explicitly changing any checked-
21   # in files.
22   root_extra_deps = []
25 # The "gn_all" target should list every root target (target that
26 # nothing else depends on) built by both GN and GYP. One should
27 # be able to run 'ninja gn_all gn_only gn_groups' and then run
28 # 'ninja' a second time and have the second ninja invocation do nothing.
30 # In addition, the "gn_all" target serves to pull in all of the other
31 # build files needed for the build.
33 # TODO(GYP): make sure that the above is true and there are scripts run
34 # on the bots that enforce this.
36 group("gn_all") {
37   testonly = true
39   deps = [
40     "//base:base_unittests",
41     "//cc:cc_unittests",
42     "//chrome",
43     "//chrome/test:browser_tests",
44     "//chrome/test:interactive_ui_tests",
45     "//chrome/test:sync_integration_tests",
46     "//chrome/test:unit_tests",
47     "//chrome/test/chromedriver:chromedriver_unittests",
48     "//components:components_unittests",
49     "//content/shell:content_shell",
50     "//content/test:content_browsertests",
51     "//content/test:content_perftests",
52     "//content/test:content_unittests",
53     "//crypto:crypto_unittests",
54     "//extensions:extensions_browsertests",
55     "//extensions:extensions_unittests",
56     "//google_apis/gcm:gcm_unit_tests",
57     "//gpu:gpu_unittests",
58     "//ipc:ipc_tests",
59     "//ipc/mojo:ipc_mojo_unittests",
60     "//jingle:jingle_unittests",
61     "//media:media_unittests",
62     "//media/cast:cast_unittests",
63     "//mojo",
64     "//mojo/common:mojo_common_unittests",
65     "//net:net_unittests",
66     "//ppapi:ppapi_unittests",
67     "//ppapi/examples",  # TODO(GYP): What's the GYP equivalent?
68     "//printing:printing_unittests",
69     "//skia:skia_unittests",
70     "//sql:sql_unittests",
71     "//sync:sync_unit_tests",
72     "//third_party/WebKit/public:blink_tests",
73     "//third_party/cacheinvalidation:cacheinvalidation_unittests",
74     "//third_party/codesighs",
75     "//third_party/mojo/src/mojo/edk/system:mojo_system_unittests",
76     "//third_party/mojo/src/mojo/edk/test:mojo_public_bindings_unittests",
77     "//third_party/mojo/src/mojo/edk/test:mojo_public_environment_unittests",
78     "//third_party/mojo/src/mojo/edk/test:mojo_public_system_unittests",
79     "//third_party/mojo/src/mojo/edk/test:mojo_public_utility_unittests",
80     "//third_party/pdfium/samples:pdfium_test",
81     "//third_party/smhasher:pmurhash",
82     "//tools/imagediff($host_toolchain)",
83     "//tools/gn",
84     "//tools/gn:gn_unittests",
85     "//tools/telemetry:bitmaptools($host_toolchain)",
86     "//ui/accessibility:accessibility_unittests",
87     "//ui/app_list:app_list_unittests",
88     "//ui/base:ui_base_unittests",
89     "//ui/display:display_unittests",
90     "//ui/events:events_unittests",
91     "//ui/gfx:gfx_unittests",
92     "//ui/touch_selection:ui_touch_selection_unittests",
93     "//url:url_unittests",
94   ]
96   deps += root_extra_deps
98   # TODO(GYP): Get this working on the mac?
99   if (enable_extensions && !is_mac) {
100     deps += [ "//extensions/shell:app_shell_unittests" ]
101   }
103   if (!is_android) {
104     deps += [ "//remoting:remoting_unittests" ]
105   }
107   if (!is_win) {
108     deps += [ "//breakpad:symupload" ]
109   }
111   if (use_x11) {
112     deps += [ "//tools/xdisplaycheck" ]
113   }
115   if (toolkit_views) {
116     deps += [ "//ui/views:views_unittests" ]
117   }
119   if (use_aura) {
120     deps += [ "//ui/wm:wm_unittests" ]
121   }
123   if (use_ozone) {
124     deps += [ "//ui/ozone" ]
125   }
127   if (is_win || is_mac || is_chromeos) {
128     # RLZ works on these platforms.
129     # TODO(GYP): Is this target needed, or pulled in automatically?
130     deps += [ "//rlz:rlz_lib" ]
131   }
133   if (is_android) {
134     deps += [
135       "//base/android/linker:chromium_android_linker",
136       "//build/android/gyp/test:hello_world",
137       "//build/android/rezip",
138       "//chrome/android:chrome_shell_apk",
139       "//chrome/test/chromedriver/test/webview_shell:chromedriver_webview_shell_apk",
140       "//tools/imagediff($host_toolchain)",
142       # TODO(GYP): Remove these when the components_unittests work.
143       "//components/history/core/test:test",
144       "//components/policy:policy_component_test_support",
145       "//components/policy:test_support",
146       "//components/rappor:test_support",
147       "//components/signin/core/browser:test_support",
148       "//components/sync_driver:test_support",
149       "//components/user_manager",
150       "//components/wallpaper",
151       "//content/shell/android:content_shell_apk",
153       # TODO(GYP): Are these needed, or will they be pulled in automatically?
154       "//third_party/android_tools:android_gcm_java",
155       "//third_party/android_tools:uiautomator_java",
156       "//third_party/android_tools:android_support_v13_java",
157       "//third_party/android_tools:android_support_v7_appcompat_java",
158       "//third_party/android_tools:android_support_v7_mediarouter_java",
159       "//third_party/mesa",
160       "//third_party/mockito:mockito_java",
161       "//third_party/openmax_dl/dl",
162       "//third_party/speex",
163       "//ui/android:ui_java",
165       # TODO(GYP): Are these needed?
166       "//chrome/test:test_support_unit",
167       "//third_party/smhasher:murmurhash3",
168       "//ui/message_center:test_support",
169     ]
170     deps -= [
171       "//breakpad:symupload",  # TODO(GYP) ??
172       "//chrome",  # TODO(GYP) ??
173       "//chrome/test:browser_tests",  # TODO(GYP) ??
174       "//chrome/test:interactive_ui_tests",  # TODO(GYP) ??
175       "//chrome/test:sync_integration_tests",  # TODO(GYP) ??
176       "//chrome/test:unit_tests",  # TODO(GYP)
178       # Chromedriver shouldn't be compiled on Android.
179       "//chrome/test/chromedriver:chromedriver_unittests",
180       "//extensions:extensions_browsertests",
181       "//extensions:extensions_unittests",
182       "//google_apis/gcm:gcm_unit_tests",
183       "//ipc:ipc_tests",  # TODO(GYP) ??
184       "//jingle:jingle_unittests",  # TODO(GYP) ??
185       "//net:net_unittests",
186       "//ppapi/examples",
187       "//third_party/pdfium/samples:pdfium_test",
188       "//tools/gn",
189       "//tools/gn:gn_unittests",
190       "//ui/app_list:app_list_unittests",
191       "//url:url_unittests",
192     ]
194     if (has_chrome_android_internal) {
195       deps += [ "//clank" ]  # TODO(GYP) ??
196     }
197   }
199   if (is_linux) {
200     # The following are definitely linux-only.
201     deps += [
202       "//breakpad:breakpad_unittests",
203       "//breakpad:generate_test_dump",
204       "//dbus:dbus_test_server",
205       "//dbus:dbus_unittests",
206       "//net:disk_cache_memory_test",
207       "//net:flip_in_mem_edsm_server",
208       "//net:flip_in_mem_edsm_server_unittests",
209       "//net:quic_client",
210       "//net:quic_server",
211       "//sandbox/linux:chrome_sandbox",
212       "//sandbox/linux:sandbox_linux_unittests",
213       "//sandbox/linux:sandbox_linux_jni_unittests",
214     ]
215   }
217   if (is_linux && !is_chromeos) {
218     deps += [
219       # TODO(GYP): Figure out which of these should (and can) build
220       # under which other conditions.
221       "//base:base_perftests",
222       "//base:base_i18n_perftests",
223       "//base:check_example",
224       "//base:protect_file_posix",
225       "//base:build_utf8_validator_tables",
226       "//breakpad:core-2-minidump",
227       "//breakpad:dump_syms",
228       "//breakpad:microdump_stackwalk",
229       "//breakpad:minidump-2-core",
230       "//breakpad:minidump_dump",
231       "//breakpad:minidump_stackwalk",
232       "//build/sanitizers:copy_llvm_symbolizer",
233       "//cc/blink:cc_blink_unittests",
234       "//cc:cc_perftests",
235       "//chrome/test:chrome_app_unittests",
236       "//chrome/test:load_library_perf_tests",
237       "//chrome/test:sync_performance_tests",
238       "//chrome/test/chromedriver:chromedriver",
239       "//chrome/test/chromedriver:chromedriver_tests",
240       "//chrome/tools/profile_reset:jtl_compiler",
241       "//components:components_perftests",
242       "//components/network_hints/browser",
243       "//components/session_manager/core",
244       "//components/webui_generator",
245       "//content/public/app:browser",
246       "//content/public/app:child",
247       "//content/test:content_gl_tests",
248       "//content/test:content_gl_benchmark",
249       "//courgette:courgette",
250       "//courgette:courgette_fuzz",
251       "//courgette:courgette_minimal_tool",
252       "//courgette:courgette_unittests",
253       "//device:device_unittests",
254       "//gin:gin_shell",
255       "//gin:gin_v8_snapshot_fingerprint",
256       "//gin:gin_unittests",
257       "//google_apis:google_apis_unittests",
258       "//google_apis/gcm:mcs_probe",
259       "//gpu:angle_unittests",
260       "//gpu:gl_tests",
262       # TODO(GYP): Remove this when the gles2 tests work
263       "//gpu/command_buffer/client:gles2_implementation_no_check",
265       "//gpu:gpu_perftests",
266       "//ipc:ipc_perftests",
267       "//media:ffmpeg_regression_tests",  # TODO(GYP) this should be conditional on media_use_ffmpeg
268       "//media:media_perftests",
269       "//media/cast:cast_benchmarks",
270       "//media/cast:generate_barcode_video",
271       "//media/cast:generate_timecode_audio",
272       "//media/cast:tap_proxy",
273       "//mojo/application",
274       "//net:crash_cache",
275       "//net:crl_set_dump",
276       "//net:dns_fuzz_stub",
277       "//net:gdig",
278       "//net:get_server_time",
280       #"//net:hpack_example_generator",  # TODO(GYP) rockot in progress
281       #"//net:hpack_fuzz_mutator",  # TODO(GYP) rockot in progress
282       #"//net:hpack_fuzz_wrapper",  # TODO(GYP) rockot in progress
283       #"//net:net_perftests",  # TODO(GYP) rockot in progress
284       "//net:net_watcher",  # TODO(GYP): This should be conditional on use_v8_in_net
285       "//net:stress_cache",
286       "//net:tld_cleanup",
287       "//net:run_testserver",
288       "//net:dump_cache",
290       # "//ppapi:pepper_hash_for_uma",  # TODO(GYP): Implement me.
291       "//ppapi:ppapi_perftests",  # TODO(GYP): Are there other ppapi_* test targets?
292       "//skia:filter_fuzz_stub",
293       "//skia:image_operations_bench",
294       "//sync:run_sync_testserver",
295       "//sync:sync_endtoend_tests",
296       "//sync/tools:sync_client",
297       "//sync/tools:sync_listen_notifications",
298       "//testing/gmock:gmock_main",
299       "//third_party/codesighs:maptsvdifftool",
300       "//third_party/libphonenumber:libphonenumber_unittests",
301       "//third_party/mojo/src/mojo/edk/test:mojo_public_system_perftests",
302       "//tools/gn:generate_test_gn_data",
303       "//tools/perf/clear_system_cache",
304       "//ui/keyboard:keyboard_unittests",
305       "//ui/message_center:message_center_unittests",
306       "//ui/snapshot:snapshot_unittests",
307       "//ui/views/examples:views_examples_with_content_exe",
309       # "//v8:v8_snapshot",  # TODO(GYP): visibility?
310       # "//v8:postmortem-metadata",  # TODO(GYP): visibility?
312       "//third_party/codesighs:nm2tsv",
313       "//third_party/leveldatabase:env_chromium_unittests",
314       "//third_party/libaddressinput:libaddressinput_unittests",
315       "//third_party/sqlite:sqlite_shell",
316       "//ui/compositor:compositor_unittests",
317     ]
319     if (enable_extensions) {
320       deps += [ "//extensions/shell:app_shell" ]
321     }
323     if (enable_nacl) {
324       deps += [ "//components/nacl:nacl_loader_unittests" ]
325     }
327     if (!is_debug && !is_component_build) {
328       deps += [ "//chrome/tools/service_discovery_sniffer" ]
329     }
331     if (toolkit_views) {
332       deps += [ "//ui/app_list:app_list_demo" ]
333     }
335     if (use_ash) {
336       deps += [
337         "//ash:ash_shell",
338         "//ash:ash_shell_unittests",
339         "//ash:ash_unittests",
340       ]
341     }
343     if (use_aura) {
344       deps += [
345         "//ui/aura:aura_unittests",
346         "//ui/aura:bench",
347         "//ui/aura:demo",
348       ]
349     }
351     if (use_x11) {
352       deps += [ "//media:player_x11" ]
353     }
355     if (target_cpu != "arm") {
356       deps += [ "//gpu:compositor_model_bench" ]
357     }
358   }
360   if (is_mac) {
361     deps += [
362       "//breakpad:crash_inspector",
363       "//breakpad:dump_syms",
364       "//breakpad:symupload",
365       "//third_party/apple_sample_code",
366       "//third_party/molokocacao",
367     ]
369     # TODO(GYP): Remove these when the targets below work and these
370     # are pulled in automatically.
371     deps += [
372       "//cc/blink",
373       "//components/ui/zoom:ui_zoom",
374       "//content",
375       "//content/test:test_support",
376       "//device/battery",
377       "//device/bluetooth",
378       "//device/nfc",
379       "//device/usb",
380       "//device/vibration",
381       "//media/blink",
382       "//pdf",
383       "//storage/browser",
384       "//third_party/brotli",
385       "//third_party/flac",
386       "//third_party/hunspell",
387       "//third_party/iccjpeg",
388       "//third_party/libphonenumber",
389       "//third_party/ots",
390       "//third_party/qcms",
391       "//third_party/smhasher:murmurhash3",
392       "//third_party/speex",
393       "//third_party/webrtc/system_wrappers",
394       "//ui/native_theme",
395       "//ui/snapshot",
396       "//ui/surface",
397     ]
399     # TODO(dpranke): These are as-yet untriaged but need at least the above.
400     deps -= [
401       "//chrome",  # TODO(GYP)
402       "//chrome/test:browser_tests",  # TODO(GYP)
403       "//chrome/test:interactive_ui_tests",  # TODO(GYP)
404       "//chrome/test:sync_integration_tests",  # TODO(GYP)
405       "//chrome/test:unit_tests",  # TODO(GYP)
406       "//components:components_unittests",  # TODO(GYP)
407       "//content/test:content_browsertests",  # TODO(GYP)
408       "//content/test:content_perftests",  # TODO(GYP)
409       "//content/test:content_unittests",  # TODO(GYP)
410       "//extensions:extensions_browsertests",  # TODO(GYP)
411       "//extensions:extensions_unittests",  # TODO(GYP)
412       "//net:net_unittests",  # TODO(GYP)
413       "//ui/app_list:app_list_unittests",  # TODO(GYP)
414       "//ui/gfx:gfx_unittests",  # TODO(GYP)
415     ]
416   } else if (is_win) {
417     deps += [ "//ui/metro_viewer" ]
418     deps -= [
419       "//crypto:crypto_unittests",  # TODO(GYP)
420       "//net:net_unittests",  # TODO(GYP)
421     ]
422   }
425 group("gn_only") {
426   testonly = true
428   if (is_linux && !is_chromeos) {
429     # TODO(GYP): Figure out if any of these should be in gn_all
430     # and figure out how cross-platform they are
431     deps = [
432       ":gn_mojo_targets",
433       "//chrome/browser/resources:extension_resource_demo",
434       "//chrome/installer/util:strings",
435       "//chrome:main_dll",
436       "//chrome/test:load_library_perf_tests",
437       "//chrome/tools/convert_dict",
438       "//components/constrained_window:unit_tests",
439       "//components/enhanced_bookmarks:test_support",
440       "//components/password_manager/content/renderer:browser_tests",
441       "//components/metrics:serialization",
442       "//components/proximity_auth:proximity_auth_unittests",
443       "//components/rappor:unit_tests",
444       "//components/sessions:unit_tests",
445       "//media/blink:media_blink_unittests",
446       "//media/base:base_for_cast_ios",
447       "//media/cast:udp_proxy",
448       "//native_client/src/trusted/platform_qualify:vcpuid",
449       "//native_client/src/trusted/debug_stub:gdb_rsp_unittest",
450       "//storage/browser:dump_file_system",
451       "//third_party/angle:libANGLE",
452       "//third_party/angle:libEGL",
453       "//third_party/angle:libGLESv2",
454       "//third_party/cld_2:cld_2_dynamic_data_tool",
455       "//third_party/leveldatabase:leveldb_arena_test",
456       "//third_party/leveldatabase:leveldb_bloom_test",
457       "//third_party/leveldatabase:leveldb_db_test",
458       "//third_party/leveldatabase:leveldb_crc32c_test",
459       "//third_party/leveldatabase:leveldb_cache_test",
460       "//third_party/leveldatabase:leveldb_env_test",
461       "//third_party/leveldatabase:leveldb_write_batch_test",
462       "//third_party/leveldatabase:leveldb_filter_block_test",
463       "//third_party/leveldatabase:leveldb_version_edit_test",
464       "//third_party/leveldatabase:leveldb_db_bench",
465       "//third_party/leveldatabase:leveldb_log_test",
466       "//third_party/leveldatabase:leveldb_corruption_test",
467       "//third_party/leveldatabase:leveldb_table_test",
468       "//third_party/leveldatabase:leveldb_skiplist_test",
469       "//third_party/leveldatabase:leveldb_filename_test",
470       "//third_party/leveldatabase:leveldb_dbformat_test",
471       "//third_party/pdfium/third_party:freetype",
472       "//third_party/libjingle:peerconnnection_server",
473       "//third_party/libjpeg_turbo:simd",
474       "//third_party/libjpeg_turbo:simd_asm",
475       "//third_party/libsrtp:replay_driver",
476       "//third_party/libsrtp:roc_driver",
477       "//third_party/libsrtp:rtpw",
478       "//third_party/libsrtp:rdbx_driver",
479       "//third_party/libsrtp:srtp_driver",
480       "//third_party/libsrtp:srtp_driver",
481       "//third_party/libsrtp:srtp_test_kernel_driver",
482       "//third_party/libsrtp:srtp_test_cipher_driver",
483       "//third_party/libsrtp:srtp_test_datatypes_driver",
484       "//third_party/libsrtp:srtp_test_aes_calc",
485       "//third_party/libsrtp:srtp_test_env",
486       "//third_party/libsrtp:srtp_test_rand_gen",
487       "//third_party/libsrtp:srtp_test_sha1_driver",
488       "//third_party/libsrtp:srtp_test_stat_driver",
489       "//third_party/opus:opus_compare",
490       "//third_party/opus:opus_demo",
491       "//third_party/opus:test_opus_decode",
492       "//third_party/opus:test_opus_encode",
493       "//third_party/opus:test_opus_api",
494       "//third_party/opus:test_opus_padding",
495       "//third_party/webrtc/system_wrappers:field_trial_default",
496       "//third_party/webrtc/system_wrappers:metrics_default",
497       "//ui/display/types",
498       "//ui/shell_dialogs:shell_dialogs_unittests",
499       "//ui/views/examples:views_examples_exe",
500       "//v8:d8",
501     ]
502     if (enable_nacl) {
503       deps += [ "//native_client/src/trusted/service_runtime:sel_ldr" ]
504     }
505     if (use_ozone) {
506       deps += [ "//ui/ozone/demo" ]
507     }
508     if (is_android) {
509       deps += [ "//build/android/gyp/test:hello_world" ]
510     }
511   }
514 group("gn_mojo_targets") {
515   testonly = true
516   if (is_linux && !is_chromeos) {
517     # TODO(GYP): Figure out if any of these should be in gn_all
518     # and figure out how cross-platform they are
519     deps = [
520       "//chrome/browser/ui/webui/omnibox:mojo_bindings_python",
521       "//chrome/browser/ui/webui/omnibox:mojo_bindings_dart",
522       "//content/public/common:mojo_bindings_dart",
523       "//content/public/common:mojo_bindings_python",
524       "//content/common:mojo_bindings_dart",
525       "//content/common:mojo_bindings_python",
526       "//content/test:web_ui_test_mojo_bindings_dart",
527       "//content/test:web_ui_test_mojo_bindings_python",
528       "//device/battery:mojo_bindings_python",
529       "//device/battery:mojo_bindings_dart",
530       "//device/vibration:mojo_bindings_dart",
531       "//device/vibration:mojo_bindings_python",
532       "//ipc/mojo:ipc_mojo_perftests",
533       "//ipc/mojo:client_channel_dart",
534       "//ipc/mojo:client_channel_python",
535       "//media/mojo/interfaces:interfaces_dart",
536       "//media/mojo/interfaces:interfaces_python",
537       "//media/mojo/services:cdm_service",
538       "//media/mojo:tests",
539       "//net/interfaces:interfaces_dart",
540       "//net/interfaces:interfaces_python",
541       "//third_party/mojo/src/mojo/edk/js/test:js_integration_tests",
542       "//third_party/mojo/src/mojo/edk/js/tests:js_to_cpp_bindings_dart",
543       "//third_party/mojo/src/mojo/edk/js/tests:js_to_cpp_bindings_python",
544       "//third_party/mojo/src/mojo/public/python:packaged_application",
545       "//third_party/mojo/src/mojo/public/python:packaged_bindings",
546       "//third_party/mojo/src/mojo/public/cpp/application:test_support_standalone",
547       "//third_party/mojo_services/src/accessibility/public/interfaces:interfaces_dart",
548       "//third_party/mojo_services/src/accessibility/public/interfaces:interfaces_python",
549       "//third_party/mojo_services/src/window_manager/public/interfaces:interfaces_dart",
550       "//third_party/mojo_services/src/window_manager/public/interfaces:interfaces_python",
551     ]
553     if (!is_debug) {
554       deps += [
555         "//mojo/services/html_viewer:tests",
556         "//mojo/services/network:apptests",
557       ]
558     }
559   }
562 group("gn_visibility") {
563   deps = [
564     # "//build/config/sanitizers:options_sources",
565     # "//third_party/pdfium:pdfium_embeddertests",  # TODO(GYP): visibility?
566     # "//third_party/pdfium:pdfium_unittests",  # TODO(GYP): visibility?
567     # "//ui/resources:repack_ui_test_mac_locale_pack",
568     # "//v8:v8_snapshot",  # TODO(GYP): visibility?
569     # "//v8:postmortem-metadata",  # TODO(GYP): visibility?
570   ]
573 if (is_linux) {
574   # This group corresponds to the list of tests run on the waterfall for
575   # desktop Linux GYP builds from testing/buildbot/chromium.linux.json. It's
576   # here to help track GYP -> GN conversion progress.
577   group("linux_default_tests") {
578     testonly = true
579     deps = [
580       # components_browsertests  TODO(GYP)
581       # nacl_loader_unittests  TODO(GYP)
583       "//base:base_unittests",  # PASSES (*) 2/25/2015
584       "//cc:cc_unittests",  # PASSES 2/25/2015
585       "//chrome/test:browser_tests",
586       "//chrome/test:interactive_ui_tests",
587       "//chrome/test:sync_integration_tests",  # Crashes for brettw in GN and GYP.
588       "//chrome/test:unit_tests",  # PASSES 2/25/2015
589       "//chrome/test/chromedriver:chromedriver_unittests",  # PASSES 2/25/2015
590       "//components:components_unittests",  # PASSES 2/27/2015
591       "//content/test:content_browsertests",
592       "//content/test:content_unittests",  # PASSES 2/25/2015
593       "//crypto:crypto_unittests",  # PASSES 2/25/2015
594       "//dbus:dbus_unittests",  # PASSES 2/25/2015
595       "//device:device_unittests",  # PASSES 3/07/2015
596       "//extensions:extensions_browsertests",  # PASSES 2/25/2015
597       "//extensions:extensions_unittests",  # PASSES 2/25/2015
598       "//extensions/shell:app_shell_unittests",  # PASSES 2/25/2015
599       "//google_apis/gcm:gcm_unit_tests",  # PASSES 2/25/2015
600       "//google_apis:google_apis_unittests",  # PASSES 2/25/2015
601       "//gpu:gpu_unittests",  # PASSES 2/25/2015
602       "//ipc:ipc_tests",  # PASSES 2/25/2015
603       "//ipc/mojo:ipc_mojo_unittests",  # PASSES 2/25/2015
604       "//jingle:jingle_unittests",  # PASSES 2/25/2015
605       "//media/cast:cast_unittests",  # PASSES 2/25/2015
606       "//media:media_unittests",  # PASSES 3/3/2015
607       "//mojo/common:mojo_common_unittests",  # PASSES 2/25/2015
608       "//net:net_unittests",  # PASSES 2/25/2015
609       "//ppapi:ppapi_unittests",  # PASSES 2/26/2015
610       "//printing:printing_unittests",  # PASSES 2/25/2015
611       "//remoting:remoting_unittests",  # Some crashes.
612       "//sandbox/linux:sandbox_linux_unittests",  # PASSES 2/25/2015
613       "//skia:skia_unittests",  # PASSES 2/25/2015
614       "//sql:sql_unittests",  # PASSES 2/25/2015
615       "//sync:sync_unit_tests",  # PASSES 2/25/2015
616       "//third_party/cacheinvalidation:cacheinvalidation_unittests",  # PASSES 2/25/2015
617       "//third_party/mojo/src/mojo/edk/system:mojo_system_unittests",  # PASSES 2/25/2015
618       "//third_party/mojo/src/mojo/edk/test:mojo_public_bindings_unittests",  # PASSES 2/25/2015
619       "//third_party/mojo/src/mojo/edk/test:mojo_public_environment_unittests",  # PASSES 2/25/2015
620       "//third_party/mojo/src/mojo/edk/test:mojo_public_system_unittests",  # PASSES 2/25/2015
621       "//ui/accessibility:accessibility_unittests",  # PASSES 2/25/2015
622       "//ui/app_list:app_list_unittests",  # PASSES 2/25/2015
623       "//ui/aura:aura_unittests",  # PASSES 2/25/2015
624       "//ui/base:ui_base_unittests",  # TODO(GYP) ResourceBundleTest.* fails.
625       "//ui/compositor:compositor_unittests",  # PASSES 2/25/2015
626       "//ui/display:display_unittests",  # PASSES 2/25/2015
627       "//ui/events:events_unittests",  # PASSES 2/25/2015
628       "//ui/gfx:gfx_unittests",  # PASSES 2/25/2015
629       "//ui/touch_selection:ui_touch_selection_unittests",  # PASSES 2/25/2015
630       "//ui/views:views_unittests",  # PASSES (*) 2/25/2015
631       "//ui/wm:wm_unittests",  # PASSES 2/25/2015
632       "//url:url_unittests",  # PASSES 2/25/2015
634       # Note:
635       # (*) Fails but failures match GYP build at time of testing.
636     ]
637   }