blob: 3d8fa4d09b7290a8eddd396041bb9c1a06b6dc6e [file] [log] [blame]
Avi Drissman24976592022-09-12 15:24:311# Copyright 2013 The Chromium Authors
brettw@chromium.orgf0e7ff882013-12-26 21:23:092# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
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.
10
mark a. foltze185ab2fa2023-11-06 21:21:2011import("//build/config/cast.gni")
Yuke Liaoa2d10312020-09-15 22:19:2912import("//build/config/chromeos/ui_mode.gni")
dprankead249c72016-06-11 18:01:2213import("//build/config/compiler/compiler.gni")
Stefano Duo1a1fcca2023-04-03 09:06:3714import("//build/config/cronet/config.gni")
Dirk Prankef452bb2a2020-10-09 22:11:5515import("//build/config/dcheck_always_on.gni")
rockot2f1326e2015-02-23 23:53:5116import("//build/config/features.gni")
Gyuyoung Kim369e4c42024-03-23 20:37:0117import("//build/config/ios/config.gni")
Collina1e27a42022-01-26 20:12:0318import("//build/config/rust.gni")
aizatskyfc46a9f2015-10-09 21:20:0819import("//build/config/sanitizers/sanitizers.gni")
tfarina@chromium.org378b4f02014-06-10 15:58:4520import("//build/config/ui.gni")
Andrew Grievefebea022020-08-07 17:17:5321import("//build/gn_logs.gni")
John Budorick7c8273b2019-04-25 15:27:4722import("//build/util/generate_wrapper.gni")
Noah Rose Ledesmaba67f1972024-05-24 21:27:3223import("//chrome/enterprise_companion/buildflags.gni")
Nasser Al-shawwad3ea535e2024-01-19 21:05:1224import("//components/enterprise/buildflags/buildflags.gni")
Dirk Prankeccc0c362017-09-28 22:15:1125import("//components/nacl/features.gni")
Scott Violetc8240b02018-03-08 22:03:5926import("//device/vr/buildflags/buildflags.gni")
27import("//extensions/buildflags/buildflags.gni")
Sam McNally11dc0142018-11-23 01:11:0528import("//gpu/vulkan/features.gni")
Alexandre Courbot8ad2427d2017-08-25 14:04:5529import("//media/gpu/args.gni")
Sam McNally11dc0142018-11-23 01:11:0530import("//media/media_options.gni")
Lei Zhang242fc9a2021-05-18 23:48:4231import("//pdf/features.gni")
David Dorwin35ee05a72022-03-08 22:12:2132import("//ppapi/buildflags/buildflags.gni")
Lei Zhang8baa2942021-05-19 03:59:4833import("//printing/buildflags/buildflags.gni")
brettw2b112cd2016-10-12 19:35:3634import("//remoting/remoting_enable.gni")
John Abd-El-Malekd842f9b2023-11-17 21:59:4835import("//services/on_device_model/on_device_model.gni")
Josip Sokcevic4d590cf2020-07-07 10:48:2336import("//third_party/closure_compiler/compile_js.gni")
thakis3f7d4fc2016-06-10 18:47:5037import("//tools/ipc_fuzzer/ipc_fuzzer.gni")
Peter Beverloo69948322017-07-28 19:01:5738import("//ui/base/ui_features.gni")
Elly Fong-Jonesb03817a2019-11-14 18:10:1239import("//ui/gl/features.gni")
machenbachd65ec5c2016-07-22 09:05:2340import("//v8/gni/v8.gni")
dprankee2ef3822015-02-24 21:42:1841
cjhopmanca675d3e2014-10-24 03:50:4542if (is_android) {
43 import("//build/config/android/config.gni")
44}
tfarina@chromium.org378b4f02014-06-10 15:58:4545
Greg Thompsonada4b212022-09-12 13:31:4946if (is_fuchsia) {
47 import("//build/config/fuchsia/generate_runner_scripts.gni")
Wez691dde42023-10-19 17:47:2948 import("//third_party/fuchsia-gn-sdk/src/component.gni")
49 import("//third_party/fuchsia-gn-sdk/src/package.gni")
John Abd-El-Malek6eb6dede2024-01-27 05:54:1150} else {
51 import("//chrome/browser/buildflags.gni")
Greg Thompsonada4b212022-09-12 13:31:4952}
53
Andrey Kosyakov0e234d902021-03-30 19:00:2754if (is_linux) {
55 import("build/config/linux/gtk/gtk.gni")
56}
57
Dave Tapuska2ff385f2023-02-07 17:08:5958if (use_blink) {
Rohit Rao123b39e2021-09-17 19:52:3859 import("//v8/gni/snapshot_toolchain.gni")
60}
61
brettwb84b29472014-10-22 22:58:4562declare_args() {
63 # A list of extra dependencies to add to the root target. This allows a
64 # checkout to add additional targets without explicitly changing any checked-
65 # in files.
66 root_extra_deps = []
67}
68
brucedawsonc8d6d652016-09-02 19:43:1869if (is_official_build) {
70 # An official (maximally optimized!) component (optimized for build times)
71 # build doesn't make sense and usually doesn't work.
72 assert(!is_component_build)
73}
74
Dirk Pranke0356f6f2023-02-24 00:27:4675# The `gn_all` target is used to list all of the main targets in the build, so
76# that we can figure out which BUILD.gn files to process, following the process
77# described at the top of this file.
dpranked62d8512015-03-02 03:06:0378#
Dirk Pranke0356f6f2023-02-24 00:27:4679# Because of the way GN works (again, as described above), there may be targets
80# built by `all` that aren't built by `gn_all`. We always want `all` to build,
81# so there's really never a reason you'd want to build `gn_all` instead of
82# `all`, and no tooling should depend directly on this target. Tools should
83# should depend on either an explicit list of targets, or `all`.
dprankeff30e3d2015-02-24 06:52:3984
dprankee2ef3822015-02-24 21:42:1885group("gn_all") {
86 testonly = true
87
Stefano Duo1a1fcca2023-04-03 09:06:3788 if (is_cronet_build) {
Stefano Duo8d358e32023-04-14 09:45:2989 if (is_android) {
90 deps = [ "//components/cronet/android:cronet_package_android" ]
Stefano Duo8d358e32023-04-14 09:45:2991 } else {
92 deps = []
Brian Sheedyf74819b2021-06-04 01:38:3893 }
David Dorwin9985426fc2022-03-30 00:06:0494 } else {
Stefano Duo1a1fcca2023-04-03 09:06:3795 deps = [
96 "//base:base_perftests",
97 "//base:base_unittests",
98 "//codelabs",
99 "//components:components_unittests",
100 "//components/gwp_asan:gwp_asan_unittests",
101 "//infra/orchestrator:orchestrator_all",
102 "//net:net_unittests",
103 "//sandbox:sandbox_unittests",
104 "//services:services_unittests",
105 "//services/service_manager/public/cpp",
106 "//skia:skia_unittests",
107 "//sql:sql_unittests",
Adrian Taylor11f0b4222023-10-30 17:38:26108 "//testing/libfuzzer/tests",
Stefano Duo1a1fcca2023-04-03 09:06:37109 "//third_party/angle/src/tests:angle_end2end_tests",
110 "//third_party/angle/src/tests:angle_unittests",
111 "//third_party/angle/src/tests:angle_white_box_tests",
Dan McArdle64e8e842024-02-23 23:05:45112 "//third_party/distributed_point_functions/shim:distributed_point_functions_shim_unittests",
Stefano Duo1a1fcca2023-04-03 09:06:37113 "//third_party/flatbuffers:flatbuffers_unittests",
114 "//third_party/liburlpattern:liburlpattern_unittests",
Steinar H. Gundersonba476bb2024-07-12 18:25:14115 "//third_party/rapidhash:rapidhash_fuzztests",
Stefano Duo1a1fcca2023-04-03 09:06:37116 "//tools/binary_size:binary_size_trybot_py",
117 "//tools/ipc_fuzzer:ipc_fuzzer_all",
118 "//tools/metrics:metrics_metadata",
119 "//ui/base:ui_base_unittests",
Stefano Duo1a1fcca2023-04-03 09:06:37120 "//ui/gfx:gfx_unittests",
Allen Bauer66dc0e142023-09-12 01:08:29121 "//ui/tests:ui_unittests",
dprankee2ef3822015-02-24 21:42:18122 "//url:url_unittests",
cjhopman@chromium.org26046b52014-07-16 00:11:03123 ]
124
Tarcisio Fischerfef19c52024-09-06 19:06:09125 if (current_cpu == "arm64" && is_android && host_os == "linux") {
126 deps += [
127 "//components/allocation_recorder/tools:dump_allocation_recorder_data",
128 ]
129 }
130
pkotwicz92e2e2312015-12-15 22:29:46131 if (!is_component_build) {
Stefano Duo1a1fcca2023-04-03 09:06:37132 deps += [ "//third_party/abseil-cpp:absl_tests" ]
133 }
134
135 if (is_chromeos_ash && enable_js_type_check) {
136 deps += [ ":webui_closure_compile" ]
137 }
138
139 if (!is_android && !is_castos) {
pkotwicz92e2e2312015-12-15 22:29:46140 deps += [
Stefano Duo1a1fcca2023-04-03 09:06:37141 "//crypto:crypto_unittests",
142 "//google_apis/gcm:gcm_unit_tests",
pkotwicz92e2e2312015-12-15 22:29:46143 ]
144 }
145
Stefano Duo1a1fcca2023-04-03 09:06:37146 if (!is_ios && !is_android && !is_castos) {
Zijie Hed995cb02023-12-14 19:42:48147 if (!is_fuchsia) {
148 deps += [
149 "//chrome",
150 "//chrome/browser/ui/actions:dump_actions",
151 "//chrome/browser/ui/color:dump_colors",
152 "//chrome/test:browser_tests",
153 ]
154 }
pkotwicz061c5a42015-09-30 02:16:54155 deps += [
Stefano Duo1a1fcca2023-04-03 09:06:37156 "//components/subresource_filter/tools:subresource_filter_tools",
157 "//components/zucchini:zucchini",
Stefano Duo1a1fcca2023-04-03 09:06:37158 "//net:hpack_example_generator",
Yuly Novikov3eea78b2024-05-28 18:12:53159 "//third_party/spirv-tools/src:SPIRV-Tools",
Stefano Duo1a1fcca2023-04-03 09:06:37160 "//tools/aggregation_service:aggregation_service_tool",
161 "//tools/perf/clear_system_cache",
162 "//tools/polymer:polymer_tools_python_unittests",
163 "//tools/privacy_budget:privacy_budget_tools",
Stefano Duo1a1fcca2023-04-03 09:06:37164 "//ui/accessibility/extensions:extensions",
pkotwicz061c5a42015-09-30 02:16:54165 ]
Arthur Eubanks87cdea12022-02-17 21:18:51166 }
dnicoara8c6aa8e2015-03-11 23:20:32167
Zijie Hed995cb02023-12-14 19:42:48168 if (!is_castos && !is_fuchsia) {
Stefano Duo1a1fcca2023-04-03 09:06:37169 deps += [ "//chrome/installer" ]
Daniel Nicoaracf98a1bf2022-08-09 19:51:44170 }
171
John Abd-El-Malek6eb6dede2024-01-27 05:54:11172 if (!is_fuchsia && enable_updater) {
Stefano Duo1a1fcca2023-04-03 09:06:37173 deps += [ "//chrome/updater" ]
174 }
175
Noah Rose Ledesmaba67f1972024-05-24 21:27:32176 if (enable_enterprise_companion) {
177 deps += [ "//chrome/enterprise_companion" ]
178 }
179
Stefano Duo1a1fcca2023-04-03 09:06:37180 if (enable_ppapi) {
mbjorgea12e5a52016-05-31 22:15:17181 deps += [
Stefano Duo1a1fcca2023-04-03 09:06:37182 "//ppapi:ppapi_unittests",
183 "//ppapi/examples",
mbjorgea12e5a52016-05-31 22:15:17184 ]
185 }
186
Stefano Duo1a1fcca2023-04-03 09:06:37187 if (!is_ios && !is_castos) {
Zijie Hed995cb02023-12-14 19:42:48188 if (!is_fuchsia) {
189 deps += [ "//chrome/test:unit_tests" ]
190 }
191 deps += [ "//ui/accessibility:accessibility_unittests" ]
Stefano Duo1a1fcca2023-04-03 09:06:37192 }
sherouke1859f92015-08-05 10:19:10193
Stefano Duo1a1fcca2023-04-03 09:06:37194 if (use_blink) {
195 deps += [
196 "//cc:cc_unittests",
197 "//components/policy:policy_templates",
198 "//components/url_formatter/tools:format_url",
199 "//components/viz:viz_perftests",
200 "//components/viz:viz_unittests",
Abigail Katcoffcc1eb9f2024-10-02 20:21:21201 "//content/browser/interest_group/tools:adjustable_auction",
Stefano Duo1a1fcca2023-04-03 09:06:37202 "//content/shell:content_shell",
203 "//content/test:content_browsertests",
204 "//content/test:content_unittests",
205 "//device:device_unittests",
206 "//gpu:gpu_benchmark",
207 "//gpu:gpu_unittests",
208 "//media:media_unittests",
209 "//media/capture:capture_unittests",
Dave Tapuska269a0ca2023-04-05 18:38:20210 "//media/cast:cast_unittests",
Stefano Duo1a1fcca2023-04-03 09:06:37211 "//media/midi:midi_unittests",
212 "//media/mojo:media_mojo_unittests",
213 "//mojo",
214 "//mojo:mojo_unittests",
215 "//storage:storage_unittests",
216 "//third_party/blink/common:blink_common_unittests",
217 "//third_party/blink/renderer/controller:blink_unittests",
218 "//third_party/blink/renderer/platform:blink_platform_unittests",
219 "//third_party/blink/renderer/platform/heap:blink_heap_unittests",
220 "//third_party/blink/renderer/platform/wtf:wtf_unittests",
221 "//third_party/libjingle_xmpp:libjingle_xmpp_unittests",
222 "//tools/imagediff",
223 "//tools/memory:all",
224 "//ui/display:display_unittests",
225 "//ui/gl:gl_unittests",
226 "//ui/latency:latency_unittests",
227 "//ui/native_theme:native_theme_unittests",
228 "//ui/touch_selection:ui_touch_selection_unittests",
229 "//v8:gn_all",
230 ]
sugoiabe91892016-09-20 12:53:51231
Stefano Duo1a1fcca2023-04-03 09:06:37232 if (!v8_use_external_startup_data) {
233 deps += [ "//v8:v8_snapshot" ]
234 }
235 }
dprankedb5527d72015-03-08 04:22:47236
Dave Tapuskad74dc902023-03-08 21:45:51237 if (!is_ios) {
238 deps += [
Stefano Duo1a1fcca2023-04-03 09:06:37239 ":chromedriver_group",
240 "//components:components_browsertests",
241 "//ipc:ipc_tests",
242 "//net:net_perftests",
243 "//ui/events:events_unittests",
244 "//url/ipc:url_ipc_unittests",
Dave Tapuskad74dc902023-03-08 21:45:51245 ]
246 }
247
Stefano Duo1a1fcca2023-04-03 09:06:37248 if (!is_ios && !is_android) {
249 deps += [ "//components/viz/demo:viz_demo" ]
250 }
251
252 if (!is_ios) {
Daniel Nicoaracf98a1bf2022-08-09 19:51:44253 deps += [
Stefano Duo1a1fcca2023-04-03 09:06:37254 "//google_apis/gcm:mcs_probe",
Stefano Duo1a1fcca2023-04-03 09:06:37255 "//third_party/catapult/telemetry:bitmaptools($host_toolchain)",
agrieve473155b42015-12-28 20:23:11256 ]
Stefano Duo1a1fcca2023-04-03 09:06:37257 if (!is_android) {
Zijie Hed995cb02023-12-14 19:42:48258 if (!is_castos && !is_fuchsia) {
Stefano Duo1a1fcca2023-04-03 09:06:37259 deps += [ "//chrome/test:telemetry_perf_unittests" ]
260 }
261 } else {
262 import("//tools/perf/chrome_telemetry_build/android_browser_types.gni")
263 foreach(_target_suffix, telemetry_android_browser_target_suffixes) {
264 deps += [ "//chrome/test:telemetry_perf_unittests${_target_suffix}" ]
265 }
266 }
267 } else {
268 deps += [
269 "//ios:all",
270 "//third_party/crashpad/crashpad:crashpad_tests",
271 ]
272 }
273
274 if (is_fuchsia) {
275 # Add targets that only exist on Fuchsia.
276 deps += [
277 ":d8_fuchsia",
278 "//build/fuchsia/cipd",
Stefano Duo1a1fcca2023-04-03 09:06:37279 "//fuchsia_web:gn_all",
280 "//tools/fuchsia/size_tests:fuchsia_sizes",
281
282 # Ensure this target continues to build.
283 "//chromecast/bindings:bindings_manager_fuchsia",
284 ]
285 }
286
287 deps += root_extra_deps
288
Gyuyoung Kim80fd49b2023-11-07 15:44:22289 if (enable_printing || enable_printing_tests) {
Stefano Duo1a1fcca2023-04-03 09:06:37290 deps += [ "//printing:printing_unittests" ]
agrieve473155b42015-12-28 20:23:11291 }
dpranke7e19b472015-11-13 00:49:33292
jamescookfbbf9112016-06-14 16:24:49293 if (enable_extensions) {
Stefano Duo1a1fcca2023-04-03 09:06:37294 deps += [
295 "//extensions:extensions_browsertests",
296 "//extensions:extensions_unittests",
297 "//extensions/browser/api/declarative_net_request/filter_list_converter",
298 "//extensions/shell:app_shell_unittests",
299 ]
jamescookfbbf9112016-06-14 16:24:49300 }
301
John Abd-El-Malekd842f9b2023-11-17 21:59:48302 if (enable_ml_internal) {
303 deps +=
Marco Georgaklis82f628d2023-12-06 17:33:36304 [ "//components/optimization_guide/internal:ondevice_model_example" ]
John Abd-El-Malekd842f9b2023-11-17 21:59:48305 }
306
Stefano Duo1a1fcca2023-04-03 09:06:37307 if (enable_pdf) {
308 deps += [
309 "//pdf/pdfium/fuzzers",
Lei Zhang2c2fc392024-05-09 17:21:12310 "//third_party/pdfium/testing:pdfium_test",
Stefano Duo1a1fcca2023-04-03 09:06:37311 ]
312 }
dpranke2bc89212015-11-18 00:24:43313
Stefano Duo1a1fcca2023-04-03 09:06:37314 if (enable_remoting) {
315 deps += [ "//remoting:remoting_all" ]
316 }
317
318 if (toolkit_views) {
319 deps += [
320 "//ui/views:views_unittests",
321 "//ui/views/examples:views_examples",
322 "//ui/views/examples:views_examples_unittests",
323 "//ui/views/examples:views_examples_with_content",
324 ]
325 }
326
Nasser Al-shawwa9954a392024-09-19 21:39:08327 if (enterprise_watermark) {
328 deps += [ "//chrome/browser/enterprise/watermark:watermark_app" ]
329 }
330
Stefano Duo1a1fcca2023-04-03 09:06:37331 if (use_aura) {
332 deps += [
333 "//ui/aura:aura_demo",
334 "//ui/aura:aura_unittests",
Stefano Duo1a1fcca2023-04-03 09:06:37335 "//ui/wm:wm_unittests",
336 ]
337 }
338
Robert Liao22722492023-06-14 18:35:47339 if (use_aura || is_mac) {
340 deps += [ "//ui/webui/examples:webui_examples" ]
341 }
342
Stefano Duo1a1fcca2023-04-03 09:06:37343 if (use_ozone) {
344 deps += [
345 "//ui/ozone",
346 "//ui/ozone:unittests",
347 ]
348 if (!is_fuchsia) {
349 deps += [ "//ui/ozone/demo" ]
dpranke2bc89212015-11-18 00:24:43350 }
dprankedb5527d72015-03-08 04:22:47351 }
352
Stefano Duo1a1fcca2023-04-03 09:06:37353 if (is_win) {
354 deps += [
355 "//chrome/credential_provider",
356 "//chrome/credential_provider/test:gcp_unittests",
Greg Thompson06b5d4902024-09-30 18:30:27357
358 # TODO(grt): Remove when chrome depends on the service.
Greg Thompsonf09e45a1e22024-10-07 18:08:03359 "//chrome/windows_services/elevated_tracing_service",
Stefano Duo1a1fcca2023-04-03 09:06:37360 ]
Robert Liaobaf93e62024-02-16 00:56:15361
362 if (enable_platform_experience) {
363 deps += [
364 "//chrome/browser/platform_experience/win:platform_experience_helper",
365 ]
366 }
Daniel Nicoaracf98a1bf2022-08-09 19:51:44367 }
368
Stefano Duo1a1fcca2023-04-03 09:06:37369 if (is_mac) {
370 deps += [
371 "//chrome/installer/gcapi_mac:gcapi_example",
372 "//tools/mac",
373 ]
dprankefd1813272015-04-13 23:56:00374 }
375
Stefano Duo1a1fcca2023-04-03 09:06:37376 # Allow building md5sum tool for other OSes (android is added below).
377 # For Windows, see: crbug.com/1090428.
378 # TODO(cavalcantii): move it out of 'android' folder.
379 if (!is_win) {
380 deps += [ "//tools/android/md5sum" ]
fdorayfb048bff2016-04-28 22:07:36381 }
rsesek985bd812016-04-26 21:06:15382
Stefano Duo1a1fcca2023-04-03 09:06:37383 if (is_android) {
384 deps += [
385 "//base:base_junit_tests",
Stefano Duo1a1fcca2023-04-03 09:06:37386 "//base/android/linker:chromium_android_linker",
387 "//build/android/gyp/test:hello_world",
388 "//build/android/stacktrace:java_deobfuscate",
389 "//build/config/android/test/proto:test_build_protos",
390 "//build/private_code_test:private_paths",
391 "//chrome/android/monochrome:monochrome_public_apk_checker",
Stefano Duo1a1fcca2023-04-03 09:06:37392 "//chrome/android/webapk/shell_apk:webapk",
393 "//chrome/android/webapk/shell_apk/prepare_upload_dir:prepare_webapk_shell_upload_dir",
394 "//chrome/test:android_browsertests",
395 "//components:components_junit_tests",
396 "//content/public/android:content_junit_tests",
397 "//content/shell/android:content_shell_apk",
398 "//device:device_junit_tests",
399 "//media/gpu:video_decode_accelerator_unittest",
400 "//net/android:net_junit_tests",
401 "//services:services_junit_tests",
402 "//testing/android/junit:junit_unit_tests",
403 "//third_party/android_build_tools/lint:custom_lint_java",
404 "//third_party/androidx_javascriptengine",
405 "//third_party/catapult/devil",
Andrew Grieve7de55312024-04-10 19:27:33406 "//third_party/jni_zero:jni_zero_tests",
Stefano Duo1a1fcca2023-04-03 09:06:37407 "//third_party/r8:custom_d8_java",
408 "//tools/android:android_tools",
409 "//tools/android:memconsumer",
410 "//tools/android:push_apps_to_background",
411 "//tools/android/audio_focus_grabber:audio_focus_grabber_apk",
412 "//tools/android/customtabs_benchmark:customtabs_benchmark_apk",
413 "//tools/android/kerberos/SpnegoAuthenticator:spnego_authenticator_apk",
Mark Schillacid1a94d532023-11-09 17:14:27414 "//ui:ui_junit_tests",
Stefano Duo1a1fcca2023-04-03 09:06:37415 ]
416 deps -= [
417 "//net:net_perftests",
418 "//url:url_unittests",
419 ]
Sergey Ulanov07406542019-12-18 00:09:43420
Stefano Duo1a1fcca2023-04-03 09:06:37421 if (!is_cast_android) {
422 deps += [
423 "//android_webview:empty_group",
424 "//android_webview/test",
Andrew Grievee30e95b2024-06-24 19:13:09425 "//android_webview/tools/automated_ui_tests:webview_ui_test_app_test_apk",
Neil Estrada7ccb9ca2023-08-15 21:07:37426 "//android_webview/tools/captured_sites_tests:captured_sites_test_app",
Andrew Grieve46fb7d92023-11-23 22:04:31427 "//android_webview/tools/sdk_sandbox",
Stefano Duo1a1fcca2023-04-03 09:06:37428 "//android_webview/tools/system_webview_shell",
429 "//chrome/android:chrome_junit_tests",
430 "//chrome/android:chrome_public_apk",
431 "//chrome/android:chrome_public_test_apk",
432 "//chrome/android:chrome_public_unit_test_apk",
433 "//chrome/browser/android/examples/custom_tabs_client:custom_tabs_client_example_apk",
434 "//chrome/browser/android/examples/partner_browser_customizations_provider:partner_browser_customizations_example_apk",
435 "//content/shell/android:content_shell_test_apk",
436 ]
agrieve473155b42015-12-28 20:23:11437 }
dprankeb0713542015-07-31 21:07:21438
Stefano Duo1a1fcca2023-04-03 09:06:37439 if (enable_chrome_android_internal) {
Peter Wena9f19582024-10-08 18:16:16440 deps += [
441 "//clank",
442 "//tools/pgo:generate_profile_android_clank_trichrome_bundle",
443 ]
Stefano Duo1a1fcca2023-04-03 09:06:37444 }
445 }
446
447 if (is_linux || is_chromeos || is_android) {
448 deps += [
449 "//third_party/breakpad:breakpad_unittests",
450 "//third_party/breakpad:core-2-minidump",
451 "//third_party/breakpad:generate_test_dump",
452 "//third_party/breakpad:minidump-2-core",
453 "//tools/dump_process_memory:dump_process",
454 ]
455 }
Jonathan Metzman2656ecd2018-11-21 08:22:41456
Lei Zhang8baa2942021-05-19 03:59:48457 if (is_chromeos_ash) {
Stefano Duo1a1fcca2023-04-03 09:06:37458 deps += [
459 "//ash:ash_unittests",
460 "//ash/components:ash_components_unittests",
461 "//ash/keyboard/ui:keyboard_unittests",
462 "//ash/webui:ash_webui_unittests",
Eriko Kurimoto107af142024-07-08 13:40:02463 "//chrome/browser/ash/child_accounts/time_limit_consistency_test:usage_time_limit_unittests",
Stefano Duo1a1fcca2023-04-03 09:06:37464 "//chrome/browser/metrics/perf:profile_provider_unittest",
Stefano Duo1a1fcca2023-04-03 09:06:37465 "//chromeos/ash/components/proximity_auth:proximity_auth_unittests",
466 "//chromeos/components:chromeos_components_unittests",
467 "//components/exo/wayland:wayland_client_compatibility_tests",
468 "//components/session_manager/core",
469 "//third_party/shell-encryption:shell_encryption_unittests",
470 "//ui/chromeos:ui_chromeos_unittests",
471 ]
Lei Zhang8baa2942021-05-19 03:59:48472 }
473
Stefano Duo1a1fcca2023-04-03 09:06:37474 if (is_chromeos) {
475 deps += [ "//chromeos:chromeos_unittests" ]
Jonathan Metzman2656ecd2018-11-21 08:22:41476 }
aizatskyaf496112016-04-15 19:26:32477
Stefano Duo1a1fcca2023-04-03 09:06:37478 if (is_chromeos_ash || is_mac || is_win) {
479 deps += [
480 "//rlz:rlz_id",
481 "//rlz:rlz_lib",
482 "//rlz:rlz_unittests",
483 ]
484 }
sbc92b4d572016-02-18 03:28:23485
Stefano Duo1a1fcca2023-04-03 09:06:37486 if (is_linux || is_chromeos) {
487 # The following are definitely linux-only.
488 deps += [
489 "//net:disk_cache_memory_test",
490 "//net:quic_client",
491 "//net:quic_server",
492 "//sandbox/linux:chrome_sandbox",
493 "//sandbox/linux:sandbox_linux_unittests",
494 ]
495 if (!is_clang) {
496 deps += [ "//testing:empty_main" ]
497 }
Christopher Grant193648b2017-06-07 15:08:36498
Stefano Duo1a1fcca2023-04-03 09:06:37499 if (!is_castos) {
500 deps += [ "//chrome:xdg_mime" ]
501 }
502
503 if (use_dbus) {
Brian Sheedyf74819b2021-06-04 01:38:38504 deps += [
Stefano Duo1a1fcca2023-04-03 09:06:37505 "//dbus:dbus_test_server",
506 "//dbus:dbus_unittests",
Brian Sheedyf74819b2021-06-04 01:38:38507 ]
508 }
Stefano Duo1a1fcca2023-04-03 09:06:37509
510 if (is_chrome_branded && is_official_build) {
511 # TODO(dpranke): add the linux_dump_symbols flag?
512 deps += [ "//chrome:linux_symbols" ]
513 }
Yash Malik8109b5bb2017-07-13 22:40:03514 }
Scott Grahamf24e3742017-08-11 17:50:22515
Stefano Duo1a1fcca2023-04-03 09:06:37516 if (is_ios || is_win || is_linux || is_chromeos_lacros || is_fuchsia) {
517 deps += [
518 "//base:base_i18n_perftests",
519 "//google_apis:google_apis_unittests",
520 ]
521 }
522
523 if ((is_win || is_mac || is_linux || is_chromeos || is_fuchsia) &&
524 (target_cpu == "x86" || target_cpu == "x64")) {
525 deps += [
526 "//third_party/swiftshader/src/Vulkan:icd_file",
527 "//third_party/swiftshader/src/Vulkan:swiftshader_libvulkan",
528 ]
529 }
530
531 # TODO(GYP): Figure out which of these should (and can) build
532 # for Chrome OS and iOS (without blink).
533 if (!is_chromeos_ash && use_blink) {
534 deps += [
535 "//cc:cc_perftests",
536 "//device:device_unittests",
537 "//gin:gin_shell",
538 "//gin:gin_unittests",
539 "//gpu:command_buffer_perftests",
540 "//gpu:gl_tests",
541 "//gpu:gpu_perftests",
542 "//media:media_perftests",
543 "//third_party/libphonenumber:libphonenumber_unittests",
544 "//ui/compositor:compositor_unittests",
545 ]
546
547 if (!is_ios) {
548 deps += [
549 "//base:build_utf8_validator_tables",
550 "//base:check_example",
551 "//components:components_perftests",
552 "//ipc:ipc_perftests",
553 "//net:dump_cache",
554 ]
555 }
556
Zijie Hed995cb02023-12-14 19:42:48557 if (!is_android && !is_castos && !is_ios && !is_fuchsia) {
Stefano Duo1a1fcca2023-04-03 09:06:37558 deps += [
559 "//chrome/test:load_library_perf_tests",
560 "//chrome/test:sync_performance_tests",
561 ]
562 }
563
564 if (!is_android && !is_ios) {
565 deps += [
Stefano Duo1a1fcca2023-04-03 09:06:37566 "//net:crash_cache",
567 "//net:net_watcher", # TODO(GYP): This should be conditional on
568 # use_v8_in_net
569 "//net:run_testserver",
570 "//net:stress_cache",
571 "//net:tld_cleanup",
572 "//third_party/leveldatabase:env_chromium_unittests",
573 "//third_party/libaddressinput:libaddressinput_unittests",
574 ]
575 }
576
577 if (enable_extensions) {
578 deps += [ "//extensions/shell:app_shell" ]
579 }
580
581 # TODO(https://crbug.com/1299021): These dependencies might be
582 # redundant given that we were able to disable them, apparently without
583 # negative consequences, for the ARM32-NaCl-on-ARM64 case.
584 if (enable_nacl) {
585 if (target_cpu != "arm64") {
586 deps += [ "//components/nacl/loader:nacl_loader_unittests" ]
587 }
588
589 if (is_linux || is_chromeos) {
590 # TODO(dpranke): Figure out what platforms should actually have this.
591 deps += [ "//components/nacl/loader:nacl_helper" ]
592 }
593 }
594
595 if (media_use_ffmpeg && !is_android) {
596 deps += [ "//media:ffmpeg_regression_tests" ]
597 }
598 }
599
600 if (enable_ppapi) {
601 deps += [
602 "//ppapi:pepper_hash_for_uma",
603 "//ppapi:ppapi_perftests",
604 ]
605 }
606
607 if (is_android || is_linux || is_chromeos_lacros) {
608 deps += [
609 "//components/network_hints/browser",
610 "//content/public/app",
611 "//mojo:mojo_perftests",
612 "//services/service_manager/public/cpp",
613 "//testing/gmock:gmock_main",
danakj7b174142024-07-03 17:00:17614 "//third_party/breakpad:dump_syms($host_system_allocator_toolchain)",
615 "//third_party/breakpad:microdump_stackwalk($host_system_allocator_toolchain)",
616 "//third_party/breakpad:minidump_dump($host_system_allocator_toolchain)",
617 "//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)",
Stefano Duo1a1fcca2023-04-03 09:06:37618 ]
619 }
620
621 if (is_linux || is_chromeos_lacros) {
622 deps += [
Stefano Duo1a1fcca2023-04-03 09:06:37623 "//skia:filter_fuzz_stub",
624 "//skia:image_operations_bench",
625 "//ui/snapshot:snapshot_unittests",
626 ]
627
628 if (!is_castos) {
629 deps += [ "//chrome/test:chrome_app_unittests" ]
630 }
631
632 if (!is_debug && !is_component_build && !is_castos) {
633 deps += [ "//chrome/tools/service_discovery_sniffer" ]
634 }
635 }
636
637 if (is_mac) {
638 deps += [
danakj7b174142024-07-03 17:00:17639 "//third_party/breakpad:dump_syms($host_system_allocator_toolchain)",
Stefano Duo1a1fcca2023-04-03 09:06:37640
641 # The following are accessibility API tools.
642 "//tools/accessibility/inspect:ax_dump_events",
643 "//tools/accessibility/inspect:ax_dump_tree",
644 ]
645 deps -= [
646 # Mojo in GN contains some things which are never compiled in GYP on Mac,
647 # so compilation fails on Mac. They need porting.
648 "//mojo",
649 ]
650 }
651
652 if (is_win) {
653 deps += [
654 "//base:pe_image_test",
Stefano Duo1a1fcca2023-04-03 09:06:37655 "//chrome/chrome_elf:chrome_elf_unittests",
656 "//chrome/chrome_elf:dll_hash_main",
657 "//chrome/elevation_service:elevation_service_unittests",
658 "//chrome/install_static:install_static_unittests",
659 "//chrome/installer/gcapi",
660 "//chrome/installer/setup:setup_unittests",
661 "//chrome/notification_helper:notification_helper_unittests",
662 "//chrome/test:delayloads_unittests",
663 "//components/wifi:wifi_test",
664 "//components/zucchini",
665 "//net:quic_client",
666 "//net:quic_server",
667 "//sandbox/win:sbox_integration_tests",
668 "//sandbox/win:sbox_unittests",
669 "//sandbox/win:sbox_validation_tests",
670 "//testing/gtest:gtest_main",
671
672 # The following two are accessibility API debugging tools.
673 "//tools/accessibility/inspect:ax_dump_events",
674 "//tools/accessibility/inspect:ax_dump_tree",
675 "//tools/win/chromeexts:chromeexts",
676 ]
677
678 # TODO(thakis): Enable this in cross builds, https://crbug.com/799827
679 if (!(is_component_build && is_debug && target_cpu == "x86") &&
680 host_os == "win") {
681 deps += [ "//chrome/test/mini_installer:mini_installer_tests" ]
682 }
danakj7b174142024-07-03 17:00:17683 }
684
685 if (!is_fuchsia) {
686 # The official builders use this binary from the default toolchain's
687 # output directory after building in order to upload the symbols of that
688 # binary. They build the binary like `ninja symupload` which requires the
689 # target to be a dependency in the default_toolchain from `gn_all` for the
690 # name to resolve.
691 deps += [ "//third_party/breakpad:symupload" ]
692 }
danakj6c3b7152024-07-04 16:40:49693 if (is_mac && host_cpu == "arm64") {
danakj7b174142024-07-03 17:00:17694 # TODO(crbug.com/349268750): This alias exists because the official Mac
695 # arm64 builders (which cross-build the x64 binaries) use the hardcoded
696 # path of the `$host_toolchain/symupload` to build and run the symupload
697 # binary. And the same recipes are used on all branches!! So we would break
698 # the stable branch builders by changing the recipe to build and run the
699 # binary from the root_build_dir.
700 #
701 # Once this code is in stable, we can land the following CLs to change how
702 # symupload is built and run on Mac arm64 official builders, and then this
703 # alias can be removed.
704 # Build: https://chrome-internal-review.googlesource.com/c/chrome/src-internal/+/7430844
705 # Run: https://chrome-internal-review.googlesource.com/c/chrome/tools/release/scripts/+/7430843
Will Yeagerc1b50eb2024-06-26 05:24:44706 deps += [ "//third_party/breakpad:symupload($host_toolchain)" ]
Stefano Duo1a1fcca2023-04-03 09:06:37707 }
708
709 if (is_cast_android || is_castos || (is_fuchsia && enable_cast_receiver)) {
710 deps += [ "//chromecast:cast_test_lists" ]
711 }
712
713 if (is_cast_android || is_castos) {
714 deps += [
715 "//chromecast:cast_shell",
716 "//chromecast/cast_core:core_runtime_simple",
717 ]
718 }
719
720 if (is_mac || is_win || is_android || is_linux || is_chromeos) {
721 deps += [
722 "//third_party/crashpad/crashpad:crashpad_tests",
723 "//third_party/crashpad/crashpad/handler:crashpad_handler",
724 "//third_party/crashpad/crashpad/tools:crashpad_database_util",
725 ]
726 }
727
728 if (enable_message_center) {
729 deps += [ "//ui/message_center:message_center_unittests" ]
730 }
731
732 if (!is_android && !is_ios) {
733 deps += [ "//content/browser/bluetooth/tools:bluetooth_metrics_hash" ]
734 }
735
736 if (is_win || is_linux || is_chromeos) {
737 deps += [ "//mojo" ]
738 }
739
740 if (is_mac || is_linux || is_chromeos || is_android || is_fuchsia) {
741 deps += [ "//third_party/perfetto:all" ]
742 }
743
744 if (is_win || is_mac || is_linux || is_chromeos) {
745 deps += [ "//third_party/sqlite:sqlite_shell" ]
746 }
747
748 if ((is_linux && !is_castos) || is_chromeos_lacros || is_fuchsia) {
749 # TODO(https://crbug.com/1329673): Figure out if this should be in gn_all
750 # and how cross-platform this is.
751 deps +=
752 [ "//components/services/filesystem:filesystem_service_unittests" ]
753 }
754
755 if ((is_linux && !is_castos) || is_chromeos_lacros) {
756 # TODO(https://crbug.com/1329673): Figure out if any of these should be in
757 # gn_all and figure out how cross-platform they are.
758 deps += [
759 "//chrome/installer/util:strings",
760 "//chrome/tools/convert_dict",
761 "//components/constrained_window:unit_tests",
762 "//components/metrics:serialization",
763 "//components/sessions:unit_tests",
Stefano Duo1a1fcca2023-04-03 09:06:37764 "//storage/browser:dump_file_system",
765 "//third_party/angle:libANGLE",
766 "//third_party/angle:libEGL",
767 "//third_party/angle:libGLESv2",
768 "//third_party/leveldatabase:leveldb_test_targets",
769 "//third_party/libjpeg_turbo:simd",
770 "//third_party/opus:opus_compare",
771 "//third_party/opus:opus_demo",
772 "//third_party/opus:test_opus_api",
773 "//third_party/opus:test_opus_decode",
774 "//third_party/opus:test_opus_encode",
775 "//third_party/opus:test_opus_padding",
776 "//ui/display/types",
777 "//ui/shell_dialogs:shell_dialogs_unittests",
778 ]
779
780 if (target_cpu == "x86" || target_cpu == "x64") {
781 if (!is_android) {
782 deps += [ "//chrome/test:load_library_perf_tests" ]
783 }
784 deps += [ "//third_party/libjpeg_turbo:simd_asm" ]
785 }
786 if ((is_linux || is_chromeos) && current_toolchain == host_toolchain) {
787 deps += [ "//v8:v8_shell" ]
788 }
789 }
790
791 if ((is_linux && !is_castos) || is_chromeos ||
792 ((is_win || is_mac) && use_fuzzing_engine)) {
793 deps += [
794 "//testing/libfuzzer/fuzzers",
795 "//third_party/freetype-testing:fuzzers",
796 "//third_party/grpc:fuzzers",
797 "//third_party/icu/fuzzers",
798 "//third_party/qcms:fuzzers",
799 "//third_party/ukey2/fuzzers",
800 "//third_party/zlib/contrib/tests/fuzzers",
801 ]
802
803 if (is_chromeos_ash) {
804 deps += [ "//chrome/services/ipp_parser/public/cpp:fuzzers" ]
805 }
Stefano Duo1a1fcca2023-04-03 09:06:37806 }
807
808 # TODO(https://crbug.com/1299021): Remove the special case for arm64.
809 if (enable_nacl && target_cpu != "arm64") {
810 deps += [ "//native_client_sdk/src:nacl_core_sdk" ]
811 }
812
813 if (((is_linux || is_chromeos) && use_ozone) || is_fuchsia) {
814 deps += [
815 "//headless:headless_non_renderer",
816 "//headless:headless_tests",
817 ]
818 }
819
820 if (enable_vr) {
821 deps += [
822 "//chrome/browser/vr:vr_common_perftests",
823 "//chrome/browser/vr:vr_common_unittests",
824 ]
825 if (!is_android) {
826 deps += [ "//tools/perf/contrib/vr_benchmarks:vr_perf_tests" ]
827 } else {
828 deps += [ "//chrome/browser/android/vr:vr_android_unittests" ]
829 import("//tools/perf/chrome_telemetry_build/android_browser_types.gni")
830 foreach(_target_suffix, telemetry_android_browser_target_suffixes) {
831 deps += [
832 "//tools/perf/contrib/vr_benchmarks:vr_perf_tests${_target_suffix}",
833 ]
834 }
835 }
836 }
837
838 if (use_atk) {
839 deps += [
840 "//tools/accessibility/inspect:ax_dump_events",
841 "//tools/accessibility/inspect:ax_dump_tree",
842 ]
843 }
844
845 if (build_dawn_tests) {
846 deps += [
847 "//third_party/dawn/src/dawn/fuzzers:fuzzers",
848 "//third_party/dawn/src/dawn/tests:dawn_end2end_tests",
849 "//third_party/dawn/src/dawn/tests:dawn_unittests",
Ben Clayton3b40f9b2023-10-21 00:16:56850 "//third_party/dawn/src/tint:fuzzers",
851 "//third_party/dawn/src/tint:tests",
Stefano Duo1a1fcca2023-04-03 09:06:37852 ]
853 }
854
855 # PFFFT.
Martin Robinsone4fddede2018-09-18 10:30:21856 deps += [
Stefano Duo1a1fcca2023-04-03 09:06:37857 "//third_party/pffft:fuzzers",
858 "//third_party/pffft:pffft_benchmark",
859 "//third_party/pffft:pffft_unittest",
Martin Robinsone4fddede2018-09-18 10:30:21860 ]
Stefano Duo1a1fcca2023-04-03 09:06:37861
862 # Rust build targets.
Kalvin Lee1b60e6e72023-07-20 05:09:31863 if (enable_rust) {
864 deps += [ ":all_rust" ]
865 }
Alessio Bazzica383dcef92019-02-08 14:14:42866
Stefano Duo8d358e32023-04-14 09:45:29867 if (!is_android && !is_ios) {
868 deps += [ "//components/cronet:cronet_tests" ]
869 }
Stefano Duo1a1fcca2023-04-03 09:06:37870 }
Thiago Perrotta942ed3e2023-09-05 09:26:52871
872 if (is_chrome_for_testing) {
873 deps += [ "//chrome/browser/chrome_for_testing:chrome_for_testing" ]
874 }
Ivan Kirichenko84cd3452024-09-25 08:14:04875
876 if (checkout_src_internal) {
877 deps += [ "//internal:all" ]
878 }
Collin Baker153146f32023-03-09 20:08:41879}
Collina1e27a42022-01-26 20:12:03880
Collin Baker153146f32023-03-09 20:08:41881# All Rust targets. This is provided for convenience while developing Rust to
882# e.g. test build config or toolchain changes.
883group("all_rust") {
884 testonly = true
885
Collin Baker153146f32023-03-09 20:08:41886 deps = [ ":rust_build_tests" ]
887
Kalvin Lee1b60e6e72023-07-20 05:09:31888 # There is rust stuff behind flags in here.
889 deps += [ "//base:base_unittests" ]
danakj9d303f42023-05-31 15:41:59890
Kalvin Lee1b60e6e72023-07-20 05:09:31891 if (enable_rust_mojo) {
892 deps += [
danakj62e4aae2023-12-15 22:31:22893 "//mojo/public/rust:mojo_rust",
Kalvin Lee1b60e6e72023-07-20 05:09:31894 "//mojo/public/rust:mojo_rust_integration_unittests",
895 "//mojo/public/rust:mojo_rust_unittests",
896 ]
897 }
898 if (enable_rust_gtest_interop) {
899 deps += [ "//testing/rust_gtest_interop:rust_gtest_interop_unittests" ]
danakj71dabfa2022-02-24 14:32:14900 }
Adrian Taylor21dcb362021-09-01 14:58:14901}
902
Adrian Taylor0ea2a34b2023-03-18 08:08:32903# This group exists to give targets for the waterfall to refer to.
Adrian Taylor21dcb362021-09-01 14:58:14904group("rust_build_tests") {
Lukasz Anforowicz8524e3562021-09-23 14:12:26905 testonly = true
Adrian Taylor21dcb362021-09-01 14:58:14906 deps = [ "//build/rust/tests" ]
tfarinafbc992492017-03-08 22:44:04907}
908
Maksim Sisov25c86c82020-08-18 19:25:08909# TODO(https://crbug.com/1112776): ensure remoting is functional on Linux builds with
Maksim Sisov941ac832021-11-09 06:34:19910# other than X11 Ozone backends.
911if (enable_remoting && ((is_linux && ozone_platform_x11) ||
912 ((is_chromeos || is_win) && !use_ozone))) {
Nicolas Ouellet-Payeurebe785238d2021-11-12 14:49:55913 # On CQ, run the Traffic Annotation Auditor when a change affects one of these
914 # targets.
915 group("traffic_annotation_auditor_dependencies") {
Takuto Ikuta9d11eb12018-11-20 02:30:00916 deps = [
917 "//chrome:chrome",
Yuwei Huang256df172019-10-01 00:55:12918 "//remoting/client",
Takuto Ikuta9d11eb12018-11-20 02:30:00919 "//remoting/host:host",
Nicolas Ouellet-Payeur8026e2a2022-10-03 18:27:55920 "//tools/traffic_annotation:annotations_xml",
Takuto Ikuta9d11eb12018-11-20 02:30:00921 ]
Nicolas Ouellet-Payeur84d90162024-07-10 18:07:54922 if (enable_enterprise_companion) {
923 deps += [ "//chrome/enterprise_companion" ]
924 }
Takuto Ikuta9d11eb12018-11-20 02:30:00925 }
926}
927
Baijun Zhua9842652022-05-19 23:28:34928if (is_chromeos_ash) {
929 group("traffic_annotation_auditor_dependencies") {
930 deps = [
931 "//chrome",
932 "//chromeos",
Nicolas Ouellet-Payeur8026e2a2022-10-03 18:27:55933 "//tools/traffic_annotation:annotations_xml",
Baijun Zhua9842652022-05-19 23:28:34934 ]
935 }
936}
937
Stefano Duo1a1fcca2023-04-03 09:06:37938if (is_android && !is_cronet_build) {
Nicolas Ouellet-Payeurebe785238d2021-11-12 14:49:55939 # On CQ, run the Traffic Annotation Auditor when a change affects one of these
940 # targets.
941 group("traffic_annotation_auditor_dependencies") {
942 deps = [
943 "//chrome/android:chrome_public_apk",
Nicolas Ouellet-Payeur8026e2a2022-10-03 18:27:55944 "//tools/traffic_annotation:annotations_xml",
Nicolas Ouellet-Payeurebe785238d2021-11-12 14:49:55945 ]
946 }
947}
948
Scott Graham677e79102017-08-15 20:07:37949if (is_fuchsia) {
950 # TODO(https://crbug.com/731217): This can't practically be in //v8 without
951 # duplicating all the Fuchsia running infrastructure there.
Greg Thompsonada4b212022-09-12 13:31:49952 fuchsia_component("d8_component") {
Kevin Marshall57a19db2018-09-12 20:07:05953 testonly = true
Greg Thompsonada4b212022-09-12 13:31:49954 manifest = "//v8/gni/v8.cml"
955 data_deps = [ "//v8:d8" ]
Kevin Marshall39b4aa82018-06-23 00:12:15956 }
Greg Thompsonada4b212022-09-12 13:31:49957 fuchsia_package("d8_pkg") {
958 testonly = true
959 package_name = "d8"
960 deps = [ ":d8_component" ]
961 }
Kevin Marshall5fadadd2021-10-16 00:08:25962 fuchsia_package_installer("d8_fuchsia") {
Kevin Marshall57a19db2018-09-12 20:07:05963 testonly = true
Greg Thompsonada4b212022-09-12 13:31:49964 package = ":d8_pkg"
Kevin Marshall5fadadd2021-10-16 00:08:25965 package_name = "d8"
Scott Graham677e79102017-08-15 20:07:37966 }
967}
968
tfarinafbc992492017-03-08 22:44:04969# TODO(GYP_GONE): Figure out if we really need this target or if there's
970# some better way to specify things.
971if (is_win) {
972 group("chrome_official_builder_no_unittests") {
973 deps = [
probergefe476002017-06-23 14:29:01974 "//chrome/common/win:eventlog_provider",
Roger Tawa5cb75d72018-11-09 21:56:38975 "//chrome/credential_provider",
Noah Rose Ledesma1b9e9082024-09-10 04:55:06976 "//chrome/enterprise_companion:enterprise_companion_zip",
tfarinafbc992492017-03-08 22:44:04977 "//chrome/installer/gcapi",
978 "//chrome/installer/mini_installer",
Joshua Pawlickie7e42ef2021-11-10 00:19:19979 "//chrome/updater/win:updater_zip",
tfarinafbc992492017-03-08 22:44:04980 "//components/policy:pack_policy_templates",
Samuel Huang577ef6c2018-03-13 18:19:34981 "//components/zucchini",
Will Harris62dfa042022-11-16 00:54:21982 "//components/zucchini:zucchini64",
Koji Ishii4adc9c072020-09-07 04:03:43983 "//third_party/hyphenation-patterns",
holteb87f01f52017-04-10 20:45:53984 "//tools/metrics:metrics_metadata",
tfarinafbc992492017-03-08 22:44:04985 ]
986
tfarinafbc992492017-03-08 22:44:04987 if (is_chrome_branded) {
988 deps += [ "//remoting/host:remoting_host_installation" ]
989 }
Jesse McKennac4445a22024-05-31 23:36:22990 if (enable_platform_experience) {
991 deps += [
992 "//chrome/browser/platform_experience/win:platform_experience_helper",
993 ]
994 }
tfarinafbc992492017-03-08 22:44:04995 }
996
997 group("chrome_official_builder") {
998 testonly = true
999
1000 deps = [
Xinan Lin4df5e822023-06-28 18:54:581001 ":blink_wpt_tests",
tfarinafbc992492017-03-08 22:44:041002 ":chrome_official_builder_no_unittests",
1003 "//base:base_unittests",
1004 "//chrome/test:browser_tests",
Xinan Lin4df5e822023-06-28 18:54:581005 "//chrome/test:interactive_ui_tests",
tfarinafbc992492017-03-08 22:44:041006 "//ipc:ipc_tests",
1007 "//media:media_unittests",
1008 "//media/midi:midi_unittests",
1009 "//net:net_unittests",
tfarinafbc992492017-03-08 22:44:041010 "//sql:sql_unittests",
danakj7b174142024-07-03 17:00:171011 "//third_party/breakpad:symupload",
tfarinafbc992492017-03-08 22:44:041012 "//ui/base:ui_base_unittests",
1013 "//ui/gfx:gfx_unittests",
1014 "//ui/touch_selection:ui_touch_selection_unittests",
1015 "//ui/views:views_unittests",
1016 "//url:url_unittests",
1017 ]
Dominik Röttsches1716cf92024-09-03 17:32:391018
1019 if (enable_printing || enable_printing_tests) {
1020 deps += [ "//printing:printing_unittests" ]
1021 }
tfarinafbc992492017-03-08 22:44:041022 }
tfarinafbc992492017-03-08 22:44:041023}
1024
Yuta Hijikata05f38002020-12-17 00:49:241025if (is_chromeos_ash) {
Ben Pastenebbb9bf142020-03-30 17:51:141026 # This group is used to collect all targets used when verifying a new version
1027 # of Chrome for Chrome OS.
tfarinafbc992492017-03-08 22:44:041028 group("chromiumos_preflight") {
1029 testonly = true
Ben Pastene3ea517912020-07-02 00:20:421030 data_deps = [
tfarinafbc992492017-03-08 22:44:041031 "//chrome",
Vladimir Nechaev83555c02022-11-04 05:26:411032 "//chrome/test/chromedriver:chromedriver_server",
Wei Lee01d63ef2019-05-09 09:24:501033 "//components/chromeos_camera:jpeg_decode_accelerator_unittest",
Jim Shargo906dbce2021-10-14 18:48:461034 "//components/exo/wayland:wayland_client_integration_tests",
Ben Pastenebbb9bf142020-03-30 17:51:141035 "//components/exo/wayland:wayland_client_perftests",
Lucas Berthou8841d6272021-02-24 20:28:501036 "//components/exo/wayland:wayland_client_tests",
Femi Adegunloye6a953a52023-02-07 19:33:531037 "//components/exo/wayland:wayland_hdr_client",
Mohamed Omar42fe5872022-08-10 17:25:531038 "//components/policy/test_support:fake_dmserver",
tfarinafbc992492017-03-08 22:44:041039 "//media:media_unittests",
Ben Pastenebbb9bf142020-03-30 17:51:141040 "//media/capture:capture_unittests",
tfarinafbc992492017-03-08 22:44:041041 "//sandbox/linux:chrome_sandbox",
Henrique Nakashima87b6d8b2022-07-13 13:59:041042 "//sandbox/linux:sandbox_linux_unittests",
Chu-Hsuan Yang98ad7f92024-06-27 05:15:341043 "//services/screen_ai:screen_ai_ocr_perf_test",
danakj7b174142024-07-03 17:00:171044 "//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)",
Austin Engbab1a5d2022-02-10 17:35:101045 "//third_party/dawn/src/dawn/tests:dawn_end2end_tests",
1046 "//third_party/dawn/src/dawn/tests:dawn_unittests",
Jim Shargoc84cb582022-04-28 17:10:571047 "//ui/ozone:ozone_integration_tests",
tfarinafbc992492017-03-08 22:44:041048
1049 # Blocked on https://github.com/catapult-project/catapult/issues/2297
1050 #"//third_party/catapult/telemetry:bitmaptools",
1051 "//tools/perf/clear_system_cache",
Xiyuan Xia93b801e2023-07-01 17:28:461052 "//ui/ozone/gl:ozone_gl_unittests",
tfarinafbc992492017-03-08 22:44:041053 ]
Alexandre Courbot8ad2427d2017-08-25 14:04:551054
Colin Kincaidb1137392023-06-16 20:53:401055 if (enable_ppapi) {
Lei Zhang1e297622022-06-28 10:30:061056 data_deps += [ "//ppapi/examples/video_decode" ]
1057 }
1058
Alexandre Courbot8ad2427d2017-08-25 14:04:551059 if (use_v4l2_codec || use_vaapi) {
Ben Pastene3ea517912020-07-02 00:20:421060 data_deps += [
Wei Lee01d63ef2019-05-09 09:24:501061 "//components/chromeos_camera:jpeg_encode_accelerator_unittest",
Collin Baker7ce81ea2023-03-30 19:35:451062 "//media/gpu/chromeos:image_processor_test",
Miguel Casasadc54be2023-03-27 18:20:441063 "//media/gpu/test/:video_decode_accelerator_perf_tests",
1064 "//media/gpu/test/:video_decode_accelerator_tests",
1065 "//media/gpu/test/:video_encode_accelerator_perf_tests",
1066 "//media/gpu/test/:video_encode_accelerator_tests",
Alexandre Courbot8ad2427d2017-08-25 14:04:551067 ]
Ben Pastenebbb9bf142020-03-30 17:51:141068 if (use_vaapi) {
Jao-ke Chin-Lee994de272020-12-28 20:05:081069 data_deps += [
1070 "//media/gpu/vaapi:decode_test",
1071 "//media/gpu/vaapi:vaapi_unittest",
Grayson LaFleur5e224832022-12-16 04:30:131072 "//media/gpu/vaapi/test/fake_libva_driver:fake_libva_driver_unittest",
Jao-ke Chin-Lee994de272020-12-28 20:05:081073 ]
Ben Pastenebbb9bf142020-03-30 17:51:141074 }
Steve Cho2ac5f2d2022-02-04 17:15:421075 if (use_v4l2_codec) {
Steve Cho9bf47812023-05-17 19:02:581076 data_deps += [
Bijan Choobinehe2113a12023-06-13 17:55:171077 "//media/gpu/chromeos:image_processor_perf_test",
Steve Cho9bf47812023-05-17 19:02:581078 "//media/gpu/v4l2:v4l2_stateless_decoder",
1079 "//media/gpu/v4l2:v4l2_unittest",
1080 ]
Steve Cho2ac5f2d2022-02-04 17:15:421081 }
Alexandre Courbot8ad2427d2017-08-25 14:04:551082 }
tfarinafbc992492017-03-08 22:44:041083 }
dprankedb5527d72015-03-08 04:22:471084}
1085
Gyuyoung Kim136038292023-09-01 01:32:341086if (use_blink && !is_cronet_build) {
Vladimir Nechaeveb261292022-11-18 06:18:051087 group("chromedriver_group") {
David Dorwin776712222022-04-13 23:01:541088 testonly = true
1089
1090 if (is_fuchsia || is_android) {
Ryan Keanea67d8022022-06-18 00:20:321091 # On Fuchsia and non-Cast Android, ChromeDriver runs on the host, not the
1092 # device.
1093 if (!is_cast_android) {
Vladimir Nechaev83555c02022-11-04 05:26:411094 deps = [
1095 "//chrome/test/chromedriver:chromedriver_server($host_toolchain)",
1096 ]
Ryan Keanea67d8022022-06-18 00:20:321097 }
1098 if (is_android && !is_cast_android) {
1099 deps += [ "//chrome/test/chromedriver/test/webview_shell:chromedriver_webview_shell_apk" ]
David Dorwin776712222022-04-13 23:01:541100 }
Gyuyoung Kim136038292023-09-01 01:32:341101 } else if (!is_castos && !is_ios) {
David Dorwin776712222022-04-13 23:01:541102 deps = [
Vladimir Nechaev83555c02022-11-04 05:26:411103 "//chrome/test/chromedriver:chromedriver_server",
David Dorwin776712222022-04-13 23:01:541104 "//chrome/test/chromedriver:chromedriver_unittests",
Vladimir Nechaevc672deb2024-06-07 14:53:051105 "//chrome/test/chromedriver:copy_license",
1106 "//chrome/test/chromedriver:generate_chromedriver_notices",
David Dorwin776712222022-04-13 23:01:541107 ]
1108 }
1109 }
1110
tfarinacb2638b2015-05-12 03:24:151111 # This group includes all of the targets needed to build and test Blink,
Giovanni Ortuño Urquidie7f98f82019-10-29 00:26:591112 # including running web tests (see below). This target is defined here because
1113 # previously //third_party/WebKit, now //third_party/blink, couldn't depend on
1114 # //content/shell. This might not longer be true, see
1115 # https://crbug.com/1018659.
tfarinacb2638b2015-05-12 03:24:151116 group("blink_tests") {
1117 testonly = true
1118
1119 deps = [
Kent Tamuraef54e402019-02-14 07:18:361120 ":blink_web_tests",
Weizhong Xia8b786422022-06-23 14:46:511121 ":blink_wpt_tests",
Blink Reformata30d4232018-04-07 15:31:061122 "//third_party/blink/public:all_blink",
tansell88df42592016-11-15 07:22:591123 ]
1124 }
1125
Jonathan Lee133d8d32024-09-03 17:55:441126 # Options shared by all script test targets that call `run_web_tests.py` or
1127 # `run_wpt_tests.py`.
1128 _common_web_test_options = [
1129 "--no-show-results",
1130 "--zero-tests-executed-ok",
1131 ]
1132 if (is_debug) {
1133 _common_web_test_options += [ "--debug" ]
1134 } else {
1135 _common_web_test_options += [ "--release" ]
1136 }
Jonathan Leef4865a12024-09-03 19:51:051137 if (is_asan) {
1138 _common_web_test_options += [
1139 "--enable-sanitizer",
1140 "--additional-expectations",
1141 "@WrappedPath(" +
1142 rebase_path("//third_party/blink/web_tests/ASANExpectations",
1143 root_out_dir) + ")",
1144 ]
1145 }
1146 if (is_msan) {
1147 _common_web_test_options += [
1148 "--enable-sanitizer",
1149 "--additional-expectations",
1150 "@WrappedPath(" +
1151 rebase_path("//third_party/blink/web_tests/MSANExpectations",
1152 root_out_dir) + ")",
1153 ]
1154 }
Jonathan Lee133d8d32024-09-03 17:55:441155 if (is_fuchsia) {
1156 _common_web_test_options += [
1157 "--out-dir",
1158 "@WrappedPath(.)",
Ben Pasteneea815792024-08-23 15:47:471159 ]
Jonathan Lee133d8d32024-09-03 17:55:441160 } else {
1161 base_out_dir = rebase_path(get_path_info(root_build_dir, "dir"), ".")
1162 out_dir = get_path_info(root_build_dir, "name")
1163 _common_web_test_options += [
1164 "--build-directory",
1165 base_out_dir,
1166 "--target",
1167 out_dir,
1168 ]
1169 }
1170
1171 if (!is_chromeos_ash && !is_ios && !is_fuchsia && !is_android && !is_castos) {
Weizhong Xia711d3e62023-09-11 18:04:351172 script_test("chrome_wpt_tests") {
Nihar Damarasingu509ce0c2022-09-01 14:18:201173 script = "//third_party/blink/tools/run_wpt_tests.py"
Jonathan Lee133d8d32024-09-03 17:55:441174 args = _common_web_test_options + [ "--product=chrome" ]
Weizhong Xia635631352023-12-01 21:28:351175 if (dcheck_always_on) {
1176 args += [ "--timeout-multiplier=2" ]
1177 } else {
1178 args += [ "--timeout-multiplier=1" ]
1179 }
Weizhong Xia803d9cf2024-09-05 05:30:131180 if (is_chrome_branded) {
1181 args += [
1182 "--driver-name",
1183 "Google Chrome",
1184 ]
1185 }
Luke Zielinski218ddea32019-07-15 16:52:241186 data_deps = [
Jonathan Lee943799b2023-11-02 00:29:521187 ":blink_web_tests_expectations",
Mike Jackson7a4e8032024-01-08 19:41:011188 ":blink_web_tests_support_data",
Luke Zielinski218ddea32019-07-15 16:52:241189 "//chrome:chrome",
Vladimir Nechaev83555c02022-11-04 05:26:411190 "//chrome/test/chromedriver:chromedriver_server",
Luke Zielinski57397c7c2021-03-04 22:53:511191 "//third_party/blink/tools:wpt_tests_isolate",
Luke Zielinski218ddea32019-07-15 16:52:241192 ]
Luke Zielinski218ddea32019-07-15 16:52:241193 }
Weizhong Xia258547b2024-04-17 21:12:531194 script_test("headless_shell_wpt") {
1195 script = "//third_party/blink/tools/run_wpt_tests.py"
Jonathan Lee133d8d32024-09-03 17:55:441196 args = _common_web_test_options + [
Ben Pasteneea815792024-08-23 15:47:471197 "--product=headless_shell",
1198 "--no-wpt-internal",
Ben Pasteneea815792024-08-23 15:47:471199 ]
Weizhong Xia258547b2024-04-17 21:12:531200 data_deps = [
1201 ":blink_web_tests_expectations",
1202 ":blink_web_tests_support_data",
Weizhong Xia258547b2024-04-17 21:12:531203 "//chrome/test/chromedriver:chromedriver_server",
Jonathan Lee532106f2024-06-03 23:40:001204 "//headless:headless_shell",
Weizhong Xia258547b2024-04-17 21:12:531205 "//third_party/blink/tools:wpt_tests_isolate",
1206 ]
Jonathan Lee532106f2024-06-03 23:40:001207 if (is_mac || is_linux) {
1208 data_deps += [ "//third_party/hyphenation-patterns:bundle_hyphen_data" ]
1209 }
Weizhong Xia258547b2024-04-17 21:12:531210 }
kyle Juf8cdeac2019-02-07 00:10:011211 }
1212
Kai Ninomiyafb9e5962020-03-17 06:11:381213 group("blink_web_tests_support_data") {
John Budorick7c8273b2019-04-25 15:27:471214 testonly = true
tansell88df42592016-11-15 07:22:591215 data_deps = [
yzshena0646992017-04-02 22:01:271216 ":layout_test_data_mojo_bindings",
Ken Rockot86d360462018-10-24 02:50:091217 ":layout_test_data_mojo_bindings_lite",
tansell88df42592016-11-15 07:22:591218 "//content/shell:content_shell",
Ken Rockot3d21f6a2020-10-09 03:39:431219 "//content/test:mojo_bindings_web_test_mojom_js_data_deps",
Natalie Chouinard3f8829c2019-12-17 02:39:201220 "//content/test:mojo_web_test_bindings_js_data_deps",
Reilly Grantfa93b142018-02-01 02:13:481221 "//device/bluetooth/public/mojom:fake_bluetooth_interfaces_js_data_deps",
Rafael Cintron5b95b8d2020-11-04 01:58:101222 "//device/vr/public/mojom:vr_service_js_data_deps",
Christian Fremerey65d1f5e2018-03-02 23:46:481223 "//media/capture/mojom:image_capture_js_data_deps",
Adithya Srinivasan5b82b2e2018-12-14 16:08:091224 "//media/midi:mojo_js_data_deps",
Evan Liud7252282024-05-16 20:10:321225 "//media/mojo/mojom:web_speech_recognition_js_data_deps",
yzshen9e737bf2017-06-21 19:38:231226 "//mojo/public/interfaces/bindings/tests:test_data_deps",
Giovanni Ortuño Urquidif07d80c2019-10-03 07:43:381227 "//mojo/public/js/ts/bindings/tests:test_interfaces_js_data_deps",
Natalie Chouinard3f8829c2019-12-17 02:39:201228 "//mojo/public/mojom/base:base_js_data_deps",
Ke He31d0bb02018-02-24 07:16:241229 "//services/device/public/mojom:generic_sensor_js_data_deps",
Natalie Chouinard3f8829c2019-12-17 02:39:201230 "//services/device/public/mojom:mojom_js_data_deps",
Donna Wu4dc9df32019-05-20 03:56:211231 "//services/device/public/mojom:usb_js_data_deps",
Natalie Chouinard3f8829c2019-12-17 02:39:201232 "//services/shape_detection/public/mojom:mojom_js_data_deps",
Miyoung Shin40adbd62019-07-30 07:33:401233 "//skia/public/mojom:mojom_js_data_deps",
jonrossc1179f2c2019-04-23 22:56:151234 "//testing/buildbot/filters:blink_web_tests_filter",
Zhenyao Mo5110fce2024-08-06 19:18:331235 "//third_party/angle:includes",
Blink Reformata30d4232018-04-07 15:31:061236 "//third_party/blink/public:blink_devtools_frontend_resources_files",
Alex Rudenko9d994132020-06-02 12:37:001237 "//third_party/blink/public:blink_devtools_inspector_resources",
Julie Jeongeun Kim4f1b5aa2019-05-08 01:32:091238 "//third_party/blink/public/mojom:mojom_platform_js_data_deps",
Kouhei Uenoa72ecc862023-07-12 02:26:051239 "//third_party/blink/renderer/core:gen_files_for_web_tests",
Rakib M. Hasan995ca2e2019-10-14 19:48:401240 "//third_party/catapult/third_party/typ",
Koji Ishiia507ce82020-10-20 21:39:451241 "//third_party/hyphenation-patterns:test_data",
agrieve993374cf2016-04-13 00:05:391242 "//tools/imagediff",
Brian Sheedy6bcba67d2022-02-23 23:45:111243 "//ui/base:goldctl",
tfarinacb2638b2015-05-12 03:24:151244 ]
1245
tfarinacb2638b2015-05-12 03:24:151246 if (is_android) {
tansell88df42592016-11-15 07:22:591247 data_deps += [
Mark Mentovaiebb9ddd62017-09-25 17:24:411248 "//third_party/breakpad:breakpad_unittests",
danakj7b174142024-07-03 17:00:171249 "//tools/android/forwarder2",
1250
1251 # Using the target toolchain for this tool, as it's run during tests not
1252 # during the build. This places a symlink in the root_build_dir for
1253 # scrips to use.
Mark Mentovaiebb9ddd62017-09-25 17:24:411254 "//third_party/breakpad:dump_syms",
1255 "//third_party/breakpad:microdump_stackwalk",
1256 "//third_party/breakpad:minidump_dump",
1257 "//third_party/breakpad:minidump_stackwalk",
1258 "//third_party/breakpad:symupload",
ojan94989c72015-07-17 21:56:421259 ]
Peter Kotwiczdeb8c9fda2020-07-03 23:34:091260 } else {
danakj89f47082020-09-02 17:53:431261 data_deps += [ "//content/web_test:web_test_common_mojom_js_data_deps" ]
tfarinacb2638b2015-05-12 03:24:151262 }
1263
tfarinacb2638b2015-05-12 03:24:151264 if (!is_win && !is_android) {
danakj7b174142024-07-03 17:00:171265 # Using the default toolchain for this tool, as it's run during tests not
1266 # during the build. This places a symlink in the root_build_dir for scrips
1267 # to use.
1268 data_deps += [ "//third_party/breakpad:minidump_stackwalk" ]
tfarinacb2638b2015-05-12 03:24:151269 }
1270
1271 if (is_mac) {
danakj7b174142024-07-03 17:00:171272 # Using the default toolchain for this tool, as it's run during tests not
1273 # during the build, and on Mac we support cross-building from a different
1274 # architecture.
1275 data_deps += [ "//third_party/breakpad:dump_syms" ]
tfarinacb2638b2015-05-12 03:24:151276 }
1277
Sean McAllisterdeaa7402020-07-31 04:42:541278 if (is_linux || is_chromeos) {
danakj7b174142024-07-03 17:00:171279 # Using the default toolchain for this tool, as it's run during tests not
1280 # during the build. This places a symlink in the root_build_dir for scrips
1281 # to use.
1282 data_deps += [ "//third_party/breakpad:dump_syms" ]
tfarinacb2638b2015-05-12 03:24:151283 }
qyearsley165a17a82016-08-01 17:58:501284
Sergey Ulanovdaa25ebc2018-01-02 18:17:171285 if (is_fuchsia) {
Kevin Marshall5fadadd2021-10-16 00:08:251286 data_deps += [
1287 "//build/config/fuchsia:deployment_resources",
1288 "//content/shell:content_shell_fuchsia",
1289 "//content/shell:content_shell_pkg__archive-manifest",
1290 "//content/shell:content_shell_pkg__archive-metadata",
1291 ]
Sergey Ulanovdaa25ebc2018-01-02 18:17:171292 }
1293
qyearsley165a17a82016-08-01 17:58:501294 data = [
Brian Sheedy6bcba67d2022-02-23 23:45:111295 "//build/skia_gold_common/",
Austin Eng11eba3d2020-10-01 15:08:191296 "//testing/scripts/common.py",
1297 "//testing/scripts/run_isolated_script_test.py",
1298 "//testing/xvfb.py",
Kent Tamurac1e4c412018-04-19 02:01:361299 "//third_party/blink/tools/",
Weizhong Xiacf53fb42024-10-12 03:50:421300 "//third_party/blink/web_tests/external/wpt/.config.json",
Kai Ninomiyafb9e5962020-03-17 06:11:381301 "//third_party/blink/web_tests/resources/",
An Sung65d9eab2023-07-26 01:38:431302 "//third_party/blink/web_tests/TestLists/",
Keita Suzuki9ff17d42020-03-10 06:19:511303 "//third_party/pywebsocket3/src/mod_pywebsocket/",
Kent Tamura5a9c7e42020-06-18 10:38:141304 "//third_party/test_fonts/test_fonts/",
Stephen McGruere934d52e2021-01-27 22:26:101305 "//third_party/wpt_tools/",
qyearsley165a17a82016-08-01 17:58:501306 ]
tansell0e6baaf22017-02-16 09:14:531307
tansell820f7df2017-02-16 13:59:151308 if (is_win) {
tansell1b05bbd2017-05-04 09:30:321309 data += [
1310 "//third_party/apache-win32/",
Nihar Damarasingu591cda32023-06-01 15:37:251311 "//third_party/apache-windows-arm64/",
Takuto Ikuta1623ca32018-11-12 15:16:081312 "//third_party/perl/perl/",
tansell1b05bbd2017-05-04 09:30:321313 ]
Scott Violet0a4949d32020-02-11 18:53:031314 data_deps += [ "//build/win:copy_cdb_to_output" ]
tansell820f7df2017-02-16 13:59:151315 }
1316
Gyuyoung Kim369e4c42024-03-23 20:37:011317 if (is_mac || (is_ios && target_environment == "simulator")) {
Nico Weber5a0046e2022-03-23 20:46:301318 data += [
1319 "//third_party/apache-mac/",
1320 "//third_party/apache-mac-arm64/",
1321 ]
Weizhong Xia05781fc2022-03-16 01:05:091322 }
1323
Dave Tapuska187a43f2023-11-28 21:44:471324 if (is_linux || is_chromeos || is_fuchsia) {
Weizhong Xiaa14eaad2022-04-01 02:04:441325 data += [ "//third_party/apache-linux/" ]
1326 }
1327
tansell0e6baaf22017-02-16 09:14:531328 if (is_android) {
1329 data += [
1330 "//third_party/catapult/",
1331 "//build/android/",
1332 ]
1333 }
tfarinacb2638b2015-05-12 03:24:151334 }
yzshena0646992017-04-02 22:01:271335
Dirk Pranke67bc5a9d2020-10-09 16:33:481336 _common_web_test_script = "//testing/scripts/run_isolated_script_test.py"
1337
Chong Gu70ee43a12022-12-08 22:57:371338 if (is_fuchsia) {
1339 _common_web_test_args = [
1340 "@WrappedPath(" +
1341 rebase_path("//build/fuchsia/test/run_test.py", root_build_dir) + ")",
1342 "blink",
Jonathan Lee133d8d32024-09-03 17:55:441343 "--platform",
1344 "fuchsia",
1345 "--jobs",
1346 "1",
Chong Gu70ee43a12022-12-08 22:57:371347 ]
1348 } else {
Jonathan Lee133d8d32024-09-03 17:55:441349 _common_web_test_args = [ "@WrappedPath(" + rebase_path(
1350 "//third_party/blink/tools/run_web_tests.py",
1351 root_build_dir) + ")" ]
Chong Gu70ee43a12022-12-08 22:57:371352 }
Jonathan Lee133d8d32024-09-03 17:55:441353 _common_web_test_args += _common_web_test_options
1354
1355 if (!is_debug) {
Dirk Prankef452bb2a2020-10-09 22:11:551356 if (dcheck_always_on) {
Weizhong Xia91b53362022-01-05 17:13:351357 _common_web_test_args += [ "--timeout-ms=12000" ]
Michael Achenbach62f72d62024-06-10 06:51:091358 } else if (v8_enable_debugging_features) {
1359 # In a pure release build with a debug V8, tests run slower.
1360 _common_web_test_args += [ "--timeout-ms=30000" ]
Dirk Prankef452bb2a2020-10-09 22:11:551361 }
Dirk Pranke67bc5a9d2020-10-09 16:33:481362 }
Michael Achenbach62f72d62024-06-10 06:51:091363
Dave Tapuska37fbd612023-11-29 18:31:251364 if (is_chrome_branded) {
1365 _common_web_test_args += [ "--chrome-branded" ]
1366 }
Dirk Pranke67bc5a9d2020-10-09 16:33:481367
1368 if (is_android) {
1369 _common_web_test_args += [
1370 "--platform",
1371 "android",
1372 ]
1373 }
1374
1375 _common_web_test_args += [
1376 "--seed",
1377 "4",
Weizhong Xiaeaff2f22022-01-24 18:34:141378 "--debug-rwt-logging",
Dirk Pranke67bc5a9d2020-10-09 16:33:481379 "--clobber-old-results",
Dirk Pranke67bc5a9d2020-10-09 16:33:481380 ]
1381
John Palmer0e0f72bf2021-06-07 09:10:201382 # https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_tests.md
Dirk Pranke6188075b2020-10-01 19:31:281383 script_test("blink_web_tests") {
Dirk Pranke67bc5a9d2020-10-09 16:33:481384 script = _common_web_test_script
Dirk Pranke6188075b2020-10-01 19:31:281385
Dirk Pranke67bc5a9d2020-10-09 16:33:481386 args = _common_web_test_args
Dirk Pranke6188075b2020-10-01 19:31:281387
Jonathan Lee784954c2023-11-01 22:39:421388 data_deps = [
1389 ":blink_web_tests_expectations",
1390 ":blink_web_tests_support_data",
1391 ]
Kai Ninomiyafb9e5962020-03-17 06:11:381392 data = [
1393 "//third_party/blink/perf_tests/",
Weizhong Xia53c492162021-09-09 17:08:241394 "//third_party/blink/web_tests/VirtualTestSuites",
Alastair Donaldson308bb212021-09-14 20:50:271395
Weizhong Xia53c492162021-09-09 17:08:241396 # === List Test Cases folders here ===
1397 "//third_party/blink/web_tests/accessibility/",
1398 "//third_party/blink/web_tests/android/",
1399 "//third_party/blink/web_tests/animations/",
1400 "//third_party/blink/web_tests/app_banner/",
1401 "//third_party/blink/web_tests/bindings/",
1402 "//third_party/blink/web_tests/clipboard/",
1403 "//third_party/blink/web_tests/compositing/",
1404 "//third_party/blink/web_tests/crypto/",
1405 "//third_party/blink/web_tests/css-parser/",
1406 "//third_party/blink/web_tests/css1/",
1407 "//third_party/blink/web_tests/css2.1/",
1408 "//third_party/blink/web_tests/css3/",
1409 "//third_party/blink/web_tests/cssom/",
1410 "//third_party/blink/web_tests/custom-elements/",
1411 "//third_party/blink/web_tests/custom-properties/",
1412 "//third_party/blink/web_tests/dark-mode/",
1413 "//third_party/blink/web_tests/dom/",
1414 "//third_party/blink/web_tests/editing/",
Weizhong Xia53c492162021-09-09 17:08:241415 "//third_party/blink/web_tests/fast/",
1416 "//third_party/blink/web_tests/fonts/",
1417 "//third_party/blink/web_tests/fragmentation/",
1418 "//third_party/blink/web_tests/fullscreen/",
1419 "//third_party/blink/web_tests/gamepad/",
1420 "//third_party/blink/web_tests/harness-tests/",
1421 "//third_party/blink/web_tests/hittesting/",
1422 "//third_party/blink/web_tests/html/",
1423 "//third_party/blink/web_tests/html5lib/",
1424 "//third_party/blink/web_tests/http/",
1425 "//third_party/blink/web_tests/idle-callback/",
1426 "//third_party/blink/web_tests/ietestcenter/",
1427 "//third_party/blink/web_tests/images/",
1428 "//third_party/blink/web_tests/inspector-protocol/",
1429 "//third_party/blink/web_tests/intersection-observer/",
1430 "//third_party/blink/web_tests/jquery/",
1431 "//third_party/blink/web_tests/js/",
Weizhong Xia53c492162021-09-09 17:08:241432 "//third_party/blink/web_tests/loader/",
1433 "//third_party/blink/web_tests/media/",
1434 "//third_party/blink/web_tests/media_capabilities/",
1435 "//third_party/blink/web_tests/mhtml/",
1436 "//third_party/blink/web_tests/navigator_language/",
1437 "//third_party/blink/web_tests/navigator_webdriver/",
1438 "//third_party/blink/web_tests/netinfo/",
1439 "//third_party/blink/web_tests/overflow/",
1440 "//third_party/blink/web_tests/paint/",
1441 "//third_party/blink/web_tests/payments/",
Hao Liu8646d342023-09-07 15:52:461442 "//third_party/blink/web_tests/performance_timeline/",
Weizhong Xia53c492162021-09-09 17:08:241443 "//third_party/blink/web_tests/permissionclient/",
1444 "//third_party/blink/web_tests/plugins/",
1445 "//third_party/blink/web_tests/pointer-lock/",
Dave Tapuska7459ffa62023-11-20 18:45:491446 "//third_party/blink/web_tests/ppapi/",
Weizhong Xia53c492162021-09-09 17:08:241447 "//third_party/blink/web_tests/print_testharness/",
1448 "//third_party/blink/web_tests/printing/",
1449 "//third_party/blink/web_tests/register-protocol-handler/",
1450 "//third_party/blink/web_tests/regress/",
1451 "//third_party/blink/web_tests/resize-observer/",
1452 "//third_party/blink/web_tests/resources/",
1453 "//third_party/blink/web_tests/rootscroller/",
1454 "//third_party/blink/web_tests/screen_orientation/",
1455 "//third_party/blink/web_tests/scrollbars/",
Weizhong Xia53c492162021-09-09 17:08:241456 "//third_party/blink/web_tests/security/",
Jiewei Qian4db71f42021-12-09 02:31:071457 "//third_party/blink/web_tests/handwriting/",
Weizhong Xia53c492162021-09-09 17:08:241458 "//third_party/blink/web_tests/shadow-dom/",
1459 "//third_party/blink/web_tests/storage/",
1460 "//third_party/blink/web_tests/svg/",
1461 "//third_party/blink/web_tests/synthetic_gestures/",
1462 "//third_party/blink/web_tests/tables/",
1463 "//third_party/blink/web_tests/test_runner/",
1464 "//third_party/blink/web_tests/third_party/",
1465 "//third_party/blink/web_tests/timezonechange/",
1466 "//third_party/blink/web_tests/touchadjustment/",
1467 "//third_party/blink/web_tests/transforms/",
1468 "//third_party/blink/web_tests/transitions/",
1469 "//third_party/blink/web_tests/traversal/",
1470 "//third_party/blink/web_tests/typedcssom/",
1471 "//third_party/blink/web_tests/vibration/",
Vladimir Levin501455e2022-11-04 20:04:541472 "//third_party/blink/web_tests/view-transition/",
Weizhong Xia53c492162021-09-09 17:08:241473 "//third_party/blink/web_tests/virtual/",
1474 "//third_party/blink/web_tests/virtualkeyboard/",
Weizhong Xia53c492162021-09-09 17:08:241475 "//third_party/blink/web_tests/wasm/",
1476 "//third_party/blink/web_tests/webaudio/",
1477 "//third_party/blink/web_tests/webexposed/",
1478 "//third_party/blink/web_tests/webgpu/",
Weizhong Xia53c492162021-09-09 17:08:241479 "//third_party/blink/web_tests/xmlviewer/",
Alastair Donaldson308bb212021-09-14 20:50:271480
Weizhong Xia53c492162021-09-09 17:08:241481 # === Test Case Folders Ends ===
Kai Ninomiyafb9e5962020-03-17 06:11:381482 ]
Jonathan Lee784954c2023-11-01 22:39:421483 }
1484
1485 group("blink_web_tests_expectations") {
1486 testonly = true
1487
1488 data = [
1489 # Include virtual baselines.
1490 "//third_party/blink/web_tests/virtual/",
1491
1492 # List all test expectations here
Jonathan Lee784954c2023-11-01 22:39:421493 "//third_party/blink/web_tests/LeakExpectations",
Jonathan Lee784954c2023-11-01 22:39:421494 "//third_party/blink/web_tests/NeverFixTests",
1495 "//third_party/blink/web_tests/SlowTests",
1496 "//third_party/blink/web_tests/StaleTestExpectations",
1497 "//third_party/blink/web_tests/TestExpectations",
1498 ]
Weizhong Xia53c492162021-09-09 17:08:241499
Jonathan Leef4865a12024-09-03 19:51:051500 if (is_asan) {
1501 data += [ "//third_party/blink/web_tests/ASANExpectations" ]
1502 }
1503 if (is_msan) {
1504 data += [ "//third_party/blink/web_tests/MSANExpectations" ]
1505 }
1506
Weizhong Xia53c492162021-09-09 17:08:241507 if (is_win || is_linux || is_fuchsia) {
1508 data += [
1509 "//third_party/blink/web_tests/platform/win/",
Weizhong Xiadfb5304f2022-05-12 20:36:261510 "//third_party/blink/web_tests/platform/win10/",
Nihar Damarasingua9b1c932023-06-11 23:55:231511 "//third_party/blink/web_tests/platform/win11-arm64/",
Weizhong Xia53c492162021-09-09 17:08:241512 ]
1513 if (is_linux || is_fuchsia) {
1514 data += [ "//third_party/blink/web_tests/platform/linux/" ]
1515 }
1516 if (is_fuchsia) {
Chong Gu70ee43a12022-12-08 22:57:371517 data += [
1518 "//third_party/blink/web_tests/platform/fuchsia/",
1519 "$root_gen_dir/package_metadata/content_shell.meta",
1520 ]
Weizhong Xia53c492162021-09-09 17:08:241521 }
1522 } else if (is_mac) {
1523 data += [
1524 "//third_party/blink/web_tests/platform/mac/",
Jonathan Leedbea4d4d2022-05-25 15:35:091525 "//third_party/blink/web_tests/platform/mac-mac11/",
Weizhong Xia53c492162021-09-09 17:08:241526 "//third_party/blink/web_tests/platform/mac-mac11-arm64/",
Nihar Damarasingu24703e22023-02-06 23:39:391527 "//third_party/blink/web_tests/platform/mac-mac12/",
Jonathan Leedbea4d4d2022-05-25 15:35:091528 "//third_party/blink/web_tests/platform/mac-mac12-arm64/",
An Sungf33f8522024-03-08 19:12:331529 "//third_party/blink/web_tests/platform/mac-mac13/",
Nihar Damarasingu24703e22023-02-06 23:39:391530 "//third_party/blink/web_tests/platform/mac-mac13-arm64/",
An Sung2dca54a2024-08-06 20:24:361531 "//third_party/blink/web_tests/platform/mac-mac14/",
An Sungf33f8522024-03-08 19:12:331532 "//third_party/blink/web_tests/platform/mac-mac14-arm64/",
An Sung2dca54a2024-08-06 20:24:361533 "//third_party/blink/web_tests/platform/mac-mac15-arm64/",
Weizhong Xia53c492162021-09-09 17:08:241534 ]
1535 }
1536
Le Hoang Quyen400daa82024-01-07 14:24:121537 # flag-specific tests only runs on linux & mac as of now
1538 if (is_linux || is_mac) {
Weizhong Xia53c492162021-09-09 17:08:241539 data += [
1540 "//third_party/blink/web_tests/FlagSpecificConfig",
1541 "//third_party/blink/web_tests/FlagExpectations/",
1542 "//third_party/blink/web_tests/flag-specific/",
1543 ]
1544 }
Kai Ninomiyafb9e5962020-03-17 06:11:381545 }
1546
Weizhong Xia8b786422022-06-23 14:46:511547 script_test("blink_wpt_tests") {
1548 script = _common_web_test_script
1549
1550 args = _common_web_test_args
1551
Weizhong Xia904cdf562022-08-25 02:00:331552 # Use --wpt-only to skip tests under web_tests/virtual/
Weizhong Xia650ce432024-08-14 22:08:261553 args += [
1554 "--wpt-only",
Jonathan Leebf8fd4ee2024-09-05 19:24:261555 "--inverted-test-launcher-filter-file",
1556 "@WrappedPath(" +
1557 rebase_path("//third_party/blink/web_tests/TestLists/chrome.filter",
1558 root_out_dir) + ")",
1559 "--inverted-test-launcher-filter-file",
1560 "@WrappedPath(" + rebase_path(
1561 "//third_party/blink/web_tests/TestLists/headless_shell.filter",
1562 root_out_dir) + ")",
Weizhong Xia650ce432024-08-14 22:08:261563 ]
Weizhong Xia904cdf562022-08-25 02:00:331564
Jonathan Lee784954c2023-11-01 22:39:421565 data_deps = [
1566 ":blink_web_tests_expectations",
1567 ":blink_web_tests_support_data",
1568 ]
Weizhong Xia8b786422022-06-23 14:46:511569 data = [
1570 "//third_party/blink/perf_tests/",
Weizhong Xia8b786422022-06-23 14:46:511571 "//third_party/blink/web_tests/VirtualTestSuites",
1572
Weizhong Xia8b786422022-06-23 14:46:511573 # === List Test Cases folders here ===
1574 "//third_party/blink/web_tests/external/",
1575 "//third_party/blink/web_tests/wpt_internal/",
1576
1577 # === Test Case Folders Ends ===
1578 ]
Weizhong Xia8b786422022-06-23 14:46:511579 }
1580
Dirk Pranke67bc5a9d2020-10-09 16:33:481581 script_test("devtools_web_tests") {
1582 # This target differs from :blink_web_tests in that it uses the
1583 # same test harness but runs an entirely different set of tests
1584 # and doesn't have a dependency on the web_test directory at all.
1585 script = _common_web_test_script
Kai Ninomiyafb9e5962020-03-17 06:11:381586
Dirk Pranke67bc5a9d2020-10-09 16:33:481587 args = _common_web_test_args + [
Patrick Brossetf30adff2020-10-12 18:33:321588 "--layout-tests-directory=@WrappedPath(" + rebase_path(
Dirk Pranke67bc5a9d2020-10-09 16:33:481589 "//third_party/devtools-frontend/src/test/webtests",
1590 root_out_dir) + ")",
1591 "http/tests/devtools",
1592 ]
Kai Ninomiyafb9e5962020-03-17 06:11:381593
Dirk Pranke67bc5a9d2020-10-09 16:33:481594 data_deps = [ ":blink_web_tests_support_data" ]
1595 data = [ "//third_party/devtools-frontend/src/test/webtests/" ]
1596 }
1597
1598 script_test("webgpu_blink_web_tests") {
1599 # This target differs from :blink_web_tests in that it uses the same
1600 # test harness and a few additional flags but, more importantly, only runs
1601 # the web_tests/wpt_internal/webgpu tests, so it doesn't have a data
Austin Eng2cddb7752022-06-09 02:40:291602 # dependency on the whole web_test directory.
Dirk Pranke67bc5a9d2020-10-09 16:33:481603 script = _common_web_test_script
Austin Eng4beb5d62021-03-24 16:29:591604
Austin Eng2cddb7752022-06-09 02:40:291605 args = _common_web_test_args
Austin Eng8e638d92021-04-02 17:08:081606 if (is_asan) {
Weizhong Xia91b53362022-01-05 17:13:351607 args += [ "--timeout-ms=30000" ]
Austin Eng8e638d92021-04-02 17:08:081608 }
Austin Eng4beb5d62021-03-24 16:29:591609 args += [
Austin Eng2cddb7752022-06-09 02:40:291610 "--ignore-default-expectations",
1611 "--additional-expectations",
Austin Eng4beb5d62021-03-24 16:29:591612 "@WrappedPath(../../third_party/blink/web_tests/WebGPUExpectations)",
shrekshao96b18a762023-03-20 18:28:571613 "--isolated-script-test-filter=wpt_internal/webgpu/*",
Austin Eng4beb5d62021-03-24 16:29:591614 ]
Kai Ninomiyafb9e5962020-03-17 06:11:381615
Austin Eng32e07032021-03-18 16:30:101616 data_deps = [
1617 ":blink_web_tests_support_data",
1618 "//third_party/webgpu-cts",
1619 ]
Kai Ninomiyafb9e5962020-03-17 06:11:381620 data = [
Weizhong Xiad8a66332022-07-30 00:34:201621 "//third_party/blink/web_tests/external/wpt/common/",
1622 "//third_party/blink/web_tests/external/wpt/resources/",
Brian Sheedy10ddf0a2021-08-16 23:19:071623 "//third_party/blink/web_tests/FlagSpecificConfig",
Weizhong Xiad8a66332022-07-30 00:34:201624 "//third_party/blink/web_tests/VirtualTestSuites",
Kai Ninomiyafb9e5962020-03-17 06:11:381625 "//third_party/blink/web_tests/WebGPUExpectations",
Weizhong Xia64ec8c22022-06-24 03:39:341626 "//third_party/blink/web_tests/wpt_internal/",
Austin Eng4beb5d62021-03-24 16:29:591627 "//third_party/webgpu-cts/scripts/",
Kai Ninomiyafb9e5962020-03-17 06:11:381628 ]
1629 }
1630
yzshena0646992017-04-02 22:01:271631 copy("layout_test_data_mojo_bindings") {
1632 testonly = true
1633
Nico Weber77da4942020-01-13 20:13:351634 sources = [ "$root_gen_dir/mojo/public/js/mojo_bindings.js" ]
yzshena0646992017-04-02 22:01:271635
Nico Weber77da4942020-01-13 20:13:351636 outputs =
1637 [ "$root_gen_dir/layout_test_data/mojo/public/js/mojo_bindings.js" ]
yzshena0646992017-04-02 22:01:271638
Nico Weber77da4942020-01-13 20:13:351639 deps = [ "//mojo/public/js:bindings" ]
yzshena0646992017-04-02 22:01:271640 }
Dirk Pranke43a5c812017-09-06 03:25:411641
Ken Rockot86d360462018-10-24 02:50:091642 copy("layout_test_data_mojo_bindings_lite") {
1643 testonly = true
1644
Nico Weber77da4942020-01-13 20:13:351645 sources = [ "$root_gen_dir/mojo/public/js/mojo_bindings_lite.js" ]
Ken Rockot86d360462018-10-24 02:50:091646
1647 outputs = [
1648 "$root_gen_dir/layout_test_data/mojo/public/js/mojo_bindings_lite.js",
1649 ]
1650
Nico Weber77da4942020-01-13 20:13:351651 deps = [ "//mojo/public/js:bindings_lite" ]
Ken Rockot86d360462018-10-24 02:50:091652 }
1653
Dirk Pranke6188075b2020-10-01 19:31:281654 script_test("blink_python_tests") {
1655 script = "//testing/scripts/run_isolated_script_test.py"
Weizhong Xia51f1f692023-12-05 22:03:331656 args = [
1657 "@WrappedPath(" +
1658 rebase_path("//third_party/blink/tools/run_blinkpy_tests.py",
1659 root_build_dir) + ")",
1660 "-v",
1661 "-t",
1662 ]
Dirk Pranke6188075b2020-10-01 19:31:281663
Dirk Pranke43a5c812017-09-06 03:25:411664 data = [
Andrew Grieve4c4cede2020-11-20 22:09:361665 # These tests use //build/android/devil_chromium.py even when !is_android,
1666 # so cannot use the helpers in //build/android (they assert(is_android)).
Dirk Pranke43a5c812017-09-06 03:25:411667 "//build/android/",
Andrew Grieve4c4cede2020-11-20 22:09:361668 "//build/gn_helpers.py",
1669 "//build/config/gclient_args.gni",
Brian Sheedy6bcba67d2022-02-23 23:45:111670 "//build/skia_gold_common/",
Dirk Pranke43a5c812017-09-06 03:25:411671 "//components/crash/content/tools/generate_breakpad_symbols.py",
Brian Sheedyfe26b942021-08-05 16:00:501672 "//testing/unexpected_passes_common/",
Preethi Mohanca2d0eb2022-10-11 19:22:051673 "//testing/flake_suppressor_common/",
Kent Tamura968e76912018-04-17 23:05:571674 "//third_party/blink/renderer/bindings/scripts/",
1675 "//third_party/blink/renderer/build/scripts/",
Dirk Pranke43a5c812017-09-06 03:25:411676 "//third_party/blink/tools/",
Kent Tamura77578cc2018-11-25 22:33:431677 "//third_party/blink/web_tests/ASANExpectations",
Brian Sheedy72b971e2023-01-06 16:46:501678 "//third_party/blink/web_tests/FlagExpectations/",
Kent Tamura77578cc2018-11-25 22:33:431679 "//third_party/blink/web_tests/LeakExpectations",
1680 "//third_party/blink/web_tests/MSANExpectations",
1681 "//third_party/blink/web_tests/NeverFixTests",
1682 "//third_party/blink/web_tests/SlowTests",
1683 "//third_party/blink/web_tests/StaleTestExpectations",
1684 "//third_party/blink/web_tests/TestExpectations",
1685 "//third_party/blink/web_tests/VirtualTestSuites",
Brian Sheedy72b971e2023-01-06 16:46:501686 "//third_party/blink/web_tests/W3CImportExpectations",
Xianzhu Wang9a5ee012023-06-23 22:02:351687 "//third_party/blink/web_tests/paint/invalidation/repaint-overlay/",
Dirk Pranke43a5c812017-09-06 03:25:411688 "//third_party/catapult/common/py_utils/",
1689 "//third_party/catapult/devil/",
1690 "//third_party/catapult/dependency_manager/",
Ned Nguyenc335c432018-04-23 01:16:461691 "//third_party/catapult/third_party/typ/",
Josip Sokcevicafb4a032023-05-02 23:30:011692 "//third_party/depot_tools/pylint-2.7",
Mike Frysinger8f8404b2019-08-21 02:20:291693 "//third_party/depot_tools/pylint_main.py",
Dirk Pranke43a5c812017-09-06 03:25:411694 "//third_party/depot_tools/pylintrc",
Dirk Pranke43a5c812017-09-06 03:25:411695 "//third_party/ply/",
Kent Tamura1ede2842023-05-14 23:32:581696 "//third_party/pyjson5/",
Jonathan Leeee7f45862022-08-02 00:13:021697 "//third_party/wpt_tools/",
Dirk Pranke43a5c812017-09-06 03:25:411698 "//tools/idl_parser/",
1699 ]
Brian Sheedy6bcba67d2022-02-23 23:45:111700
Minju Kimc9e6dd162023-10-16 23:39:421701 if (is_ios) {
1702 data += [ "//third_party/blink/web_tests/IOSTestExpectations" ]
1703 }
1704
Brian Sheedy6bcba67d2022-02-23 23:45:111705 data_deps = [ "//ui/base:goldctl" ]
Dirk Pranke43a5c812017-09-06 03:25:411706 }
tfarinacb2638b2015-05-12 03:24:151707}
1708
Will Cassella857c8d82022-04-12 15:01:051709# TODO(cassew): Add more OS's that don't support x86.
1710is_valid_x86_target =
1711 target_os != "ios" && target_os != "mac" &&
1712 (target_os != "linux" || use_libfuzzer || !build_with_chromium)
Michael Achenbachc4273962022-06-27 09:12:511713
1714# Note: v8_target_cpu == arm allows using the V8 arm simulator on x86 for fuzzing.
Will Cassella857c8d82022-04-12 15:01:051715assert(
Michael Achenbach1a7961012022-06-27 11:19:001716 is_valid_x86_target || target_cpu != "x86" || v8_target_cpu == "arm",
Will Cassella857c8d82022-04-12 15:01:051717 "'target_cpu=x86' is not supported for 'target_os=$target_os'. Consider omitting 'target_cpu' (default) or using 'target_cpu=x64' instead.")
1718
dpranke2302dfa2015-09-29 02:21:521719group("chromium_builder_perf") {
1720 testonly = true
1721
Stefano Duo1a1fcca2023-04-03 09:06:371722 if (!is_ios && !is_android && !is_castos && !is_cronet_build) {
malets6b7062402016-09-15 08:14:261723 data_deps = [
kraynovc0797582016-10-25 16:45:061724 "//components/tracing:tracing_perftests",
Antoine Labourc6ade252017-10-19 01:01:161725 "//gpu:command_buffer_perftests",
dpranke2302dfa2015-09-29 02:21:521726 "//gpu:gpu_perftests",
1727 "//media:media_perftests",
kbr1e58e782016-05-27 17:21:191728 "//tools/perf/chrome_telemetry_build:telemetry_chrome_test",
dpranke2302dfa2015-09-29 02:21:521729 ]
1730
Zijie Hed995cb02023-12-14 19:42:481731 if (!is_fuchsia) {
1732 data_deps += [
1733 "//chrome/test:load_library_perf_tests",
1734 "//chrome/test:performance_test_suite",
1735 ]
1736 }
1737
1738 if (!is_chromeos_ash && !is_fuchsia) {
malets6b7062402016-09-15 08:14:261739 data_deps += [ "//chrome/test:performance_browser_tests" ]
dpranke2302dfa2015-09-29 02:21:521740 }
dpranke2302dfa2015-09-29 02:21:521741
Ryan Keanea67d8022022-06-18 00:20:321742 if (!is_win) {
danakj7b174142024-07-03 17:00:171743 data_deps += [ "//third_party/breakpad:minidump_stackwalk($host_system_allocator_toolchain)" ]
dpranke2302dfa2015-09-29 02:21:521744 }
Ryan Keanea67d8022022-06-18 00:20:321745 }
1746
1747 if ((is_linux && !is_castos) || is_chromeos_lacros) {
1748 if (is_official_build) {
1749 # In GN builds, this is controlled by the 'linux_dump_symbols'
1750 # flag, which defaults to 1 for official builds. For now,
1751 # we skip the separate flag and just key off of is_official_build.
1752 data_deps += [ "//chrome:linux_symbols" ]
Yuly Novikov8a6e6352017-11-11 02:00:401753 }
David Dorwin0b132172022-03-30 04:56:111754
Ryan Keanea67d8022022-06-18 00:20:321755 data_deps += [ "//tools/perf/clear_system_cache" ]
1756 }
1757
1758 if (is_win) {
1759 data_deps += [
1760 "//chrome/installer/mini_installer:mini_installer",
1761 "//components:components_perftests",
1762 "//third_party/angle/src/tests:angle_perftests",
1763 ]
1764 }
dpranke2302dfa2015-09-29 02:21:521765}
agrieve017b91f2016-02-29 20:15:061766
Stefano Duo1a1fcca2023-04-03 09:06:371767if (!is_ios && !is_android && !is_castos && !is_cronet_build) {
thakis3f7d4fc2016-06-10 18:47:501768 group("chromium_builder_asan") {
1769 testonly = true
1770
1771 deps = [
thakis3f7d4fc2016-06-10 18:47:501772 "//content/shell:content_shell",
Adrian Taylore6288432021-09-09 22:59:501773 "//third_party/blink/public/mojom:mojom_modules_js",
thakis3f7d4fc2016-06-10 18:47:501774 "//v8:d8",
1775 ]
Zijie Hed995cb02023-12-14 19:42:481776 if (!is_fuchsia) {
1777 deps += [ "//chrome:chrome" ]
1778 }
thakis3f7d4fc2016-06-10 18:47:501779 if (!is_win) {
Eric Orthdd5b8632020-11-13 02:59:421780 deps += [ "//skia:filter_fuzz_stub" ]
thakis3f7d4fc2016-06-10 18:47:501781 }
1782 if (enable_ipc_fuzzer && !is_component_build) {
Ken Rockotf87b01cf2018-12-26 06:52:261783 deps += [ "//tools/ipc_fuzzer:ipc_fuzzer_all" ]
thakis3f7d4fc2016-06-10 18:47:501784 }
Yuta Hijikata05f38002020-12-17 00:49:241785 if (!is_chromeos_ash) {
Lei Zhange6d4106f2024-02-20 22:44:581786 deps += [ "//v8:v8_shell($v8_snapshot_toolchain)" ]
1787 if (enable_pdf) {
Lei Zhang2c2fc392024-05-09 17:21:121788 deps += [ "//third_party/pdfium/testing:pdfium_test" ]
Lei Zhange6d4106f2024-02-20 22:44:581789 }
thakis3f7d4fc2016-06-10 18:47:501790 }
Max Moroz109e76b2020-02-10 17:19:521791
1792 if (!is_component_build) {
1793 # See https://bugs.chromium.org/p/chromium/issues/detail?id=942546#c11.
1794 deps += [
1795 "//third_party/webrtc/rtc_tools:rtp_generator",
1796 "//third_party/webrtc/rtc_tools:video_replay",
1797 ]
1798 }
Alastair Donaldson308bb212021-09-14 20:50:271799
1800 if (build_dawn_tests) {
Ben Clayton3b40f9b2023-10-21 00:16:561801 deps += [ "//third_party/dawn/src/tint:fuzzers" ]
Alastair Donaldson308bb212021-09-14 20:50:271802 }
thakis3f7d4fc2016-06-10 18:47:501803 }
1804}
1805
Stefano Duo1a1fcca2023-04-03 09:06:371806if (is_android && !is_cronet_build) {
agrieve95ba4442016-04-25 15:47:131807 group("optimize_gn_gen") {
1808 deps = [
1809 # These run expensive scripts in non-default toolchains. Generally, host
1810 # toolchain targets are loaded in the later part of the run, and the
1811 # result is they push out the end of generation. By preloading these, the
1812 # scripts can be parallelized with the rest of the load.
1813 "//build/config/linux(//build/toolchain/linux:clang_x64)",
1814 "//build/config/posix(//build/toolchain/linux:clang_x64)",
1815
1816 # Include x86 toolchains as well since V8 uses them for 32-bit snapshot
1817 # generation.
1818 "//build/config/linux(//build/toolchain/linux:clang_x86)",
1819 "//build/config/posix(//build/toolchain/linux:clang_x86)",
1820 ]
1821 }
1822}
1823
Rebekah Potter66968ea2023-01-19 23:24:411824if (is_chromeos_ash && enable_js_type_check) {
Christopher Lam739a90d2018-03-07 03:54:371825 group("webui_closure_compile") {
Trent Apted572ba7552018-10-17 00:03:301826 testonly = true
Rebekah Potter66968ea2023-01-19 23:24:411827 data_deps = [
1828 "ash/webui:closure_compile",
1829 "chrome/browser/resources:closure_compile",
1830 "chrome/test/data/webui:closure_compile",
1831 "mojo/public/tools/bindings/generators/js_templates/lite/test:closure_compile",
Giovanni Ortuño Urquidi0acdd9a2023-05-09 02:22:351832 "mojo/public/tools/bindings/generators/js_templates/lite/test:closure_compile_modules",
Rebekah Potter66968ea2023-01-19 23:24:411833 ]
Christopher Lam739a90d2018-03-07 03:54:371834 }
1835}
1836
Andrew Grievefebea022020-08-07 17:17:531837# Write debug logs to gn_logs.txt.
1838_lines = [
1839 "Generated during 'gn gen' by //BUILD.gn.",
1840 "",
1841 ] + build_gn_logs
1842
1843# GN evaluates each .gn file once per toolchain, so restricting to default
1844# toolchain will ensure write_file() is called only once.
1845assert(current_toolchain == default_toolchain)
1846
1847write_file("$root_build_dir/gn_logs.txt", _lines)