xref: /aosp_15_r20/external/cronet/base/test/BUILD.gn (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker# Copyright 2013 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker
5*6777b538SAndroid Build Coastguard Workerimport("//build/compiled_action.gni")
6*6777b538SAndroid Build Coastguard Workerimport("//build/config/chromeos/ui_mode.gni")
7*6777b538SAndroid Build Coastguard Workerimport("//build/config/features.gni")
8*6777b538SAndroid Build Coastguard Workerimport("//build/config/nacl/config.gni")
9*6777b538SAndroid Build Coastguard Workerimport("//build/config/ui.gni")
10*6777b538SAndroid Build Coastguard Workerimport("//build_overrides/build.gni")
11*6777b538SAndroid Build Coastguard Workerimport("//third_party/protobuf/proto_library.gni")
12*6777b538SAndroid Build Coastguard Worker
13*6777b538SAndroid Build Coastguard Workerif (is_android) {
14*6777b538SAndroid Build Coastguard Worker  import("//build/config/android/rules.gni")
15*6777b538SAndroid Build Coastguard Worker  import("//third_party/jni_zero/jni_zero.gni")
16*6777b538SAndroid Build Coastguard Worker}
17*6777b538SAndroid Build Coastguard Worker
18*6777b538SAndroid Build Coastguard Workerif (is_ios) {
19*6777b538SAndroid Build Coastguard Worker  import("//build/config/ios/rules.gni")
20*6777b538SAndroid Build Coastguard Worker}
21*6777b538SAndroid Build Coastguard Worker
22*6777b538SAndroid Build Coastguard Workerif (enable_base_tracing) {
23*6777b538SAndroid Build Coastguard Worker  import("//third_party/perfetto/gn/perfetto_cc_proto_descriptor.gni")
24*6777b538SAndroid Build Coastguard Worker}
25*6777b538SAndroid Build Coastguard Worker
26*6777b538SAndroid Build Coastguard Workerstatic_library("test_config") {
27*6777b538SAndroid Build Coastguard Worker  testonly = true
28*6777b538SAndroid Build Coastguard Worker  sources = [
29*6777b538SAndroid Build Coastguard Worker    "test_switches.cc",
30*6777b538SAndroid Build Coastguard Worker    "test_switches.h",
31*6777b538SAndroid Build Coastguard Worker    "test_timeouts.cc",
32*6777b538SAndroid Build Coastguard Worker    "test_timeouts.h",
33*6777b538SAndroid Build Coastguard Worker  ]
34*6777b538SAndroid Build Coastguard Worker  deps = [
35*6777b538SAndroid Build Coastguard Worker    "//base",
36*6777b538SAndroid Build Coastguard Worker    "//base:clang_profiling_buildflags",
37*6777b538SAndroid Build Coastguard Worker    "//build:chromeos_buildflags",
38*6777b538SAndroid Build Coastguard Worker  ]
39*6777b538SAndroid Build Coastguard Worker}
40*6777b538SAndroid Build Coastguard Worker
41*6777b538SAndroid Build Coastguard Workerstatic_library("test_support") {
42*6777b538SAndroid Build Coastguard Worker  testonly = true
43*6777b538SAndroid Build Coastguard Worker  sources = [
44*6777b538SAndroid Build Coastguard Worker    "../task/sequence_manager/test/fake_task.cc",
45*6777b538SAndroid Build Coastguard Worker    "../task/sequence_manager/test/fake_task.h",
46*6777b538SAndroid Build Coastguard Worker    "../task/sequence_manager/test/mock_time_domain.cc",
47*6777b538SAndroid Build Coastguard Worker    "../task/sequence_manager/test/mock_time_domain.h",
48*6777b538SAndroid Build Coastguard Worker    "../task/sequence_manager/test/mock_time_message_pump.cc",
49*6777b538SAndroid Build Coastguard Worker    "../task/sequence_manager/test/mock_time_message_pump.h",
50*6777b538SAndroid Build Coastguard Worker    "../task/sequence_manager/test/sequence_manager_for_test.cc",
51*6777b538SAndroid Build Coastguard Worker    "../task/sequence_manager/test/sequence_manager_for_test.h",
52*6777b538SAndroid Build Coastguard Worker    "../task/sequence_manager/test/test_task_time_observer.h",
53*6777b538SAndroid Build Coastguard Worker    "../timer/mock_timer.cc",
54*6777b538SAndroid Build Coastguard Worker    "../timer/mock_timer.h",
55*6777b538SAndroid Build Coastguard Worker    "allow_check_is_test_for_testing.h",
56*6777b538SAndroid Build Coastguard Worker    "bind.cc",
57*6777b538SAndroid Build Coastguard Worker    "bind.h",
58*6777b538SAndroid Build Coastguard Worker    "copy_only_int.cc",
59*6777b538SAndroid Build Coastguard Worker    "copy_only_int.h",
60*6777b538SAndroid Build Coastguard Worker    "gmock_callback_support.h",
61*6777b538SAndroid Build Coastguard Worker    "gmock_expected_support.h",
62*6777b538SAndroid Build Coastguard Worker    "gmock_move_support.h",
63*6777b538SAndroid Build Coastguard Worker    "gtest_links.cc",
64*6777b538SAndroid Build Coastguard Worker    "gtest_links.h",
65*6777b538SAndroid Build Coastguard Worker    "gtest_tags.cc",
66*6777b538SAndroid Build Coastguard Worker    "gtest_tags.h",
67*6777b538SAndroid Build Coastguard Worker    "gtest_util.cc",
68*6777b538SAndroid Build Coastguard Worker    "gtest_util.h",
69*6777b538SAndroid Build Coastguard Worker    "gtest_xml_unittest_result_printer.cc",
70*6777b538SAndroid Build Coastguard Worker    "gtest_xml_unittest_result_printer.h",
71*6777b538SAndroid Build Coastguard Worker    "gtest_xml_util.cc",
72*6777b538SAndroid Build Coastguard Worker    "gtest_xml_util.h",
73*6777b538SAndroid Build Coastguard Worker    "icu_test_util.cc",
74*6777b538SAndroid Build Coastguard Worker    "icu_test_util.h",
75*6777b538SAndroid Build Coastguard Worker    "launcher/test_result.cc",
76*6777b538SAndroid Build Coastguard Worker    "launcher/test_result.h",
77*6777b538SAndroid Build Coastguard Worker    "launcher/test_results_tracker.h",
78*6777b538SAndroid Build Coastguard Worker    "launcher/unit_test_launcher.h",
79*6777b538SAndroid Build Coastguard Worker    "metrics/histogram_enum_reader.cc",
80*6777b538SAndroid Build Coastguard Worker    "metrics/histogram_enum_reader.h",
81*6777b538SAndroid Build Coastguard Worker    "metrics/histogram_tester.cc",
82*6777b538SAndroid Build Coastguard Worker    "metrics/histogram_tester.h",
83*6777b538SAndroid Build Coastguard Worker    "metrics/histogram_variants_reader.cc",
84*6777b538SAndroid Build Coastguard Worker    "metrics/histogram_variants_reader.h",
85*6777b538SAndroid Build Coastguard Worker    "metrics/user_action_tester.cc",
86*6777b538SAndroid Build Coastguard Worker    "metrics/user_action_tester.h",
87*6777b538SAndroid Build Coastguard Worker    "mock_callback.h",
88*6777b538SAndroid Build Coastguard Worker    "mock_devices_changed_observer.cc",
89*6777b538SAndroid Build Coastguard Worker    "mock_devices_changed_observer.h",
90*6777b538SAndroid Build Coastguard Worker    "mock_entropy_provider.cc",
91*6777b538SAndroid Build Coastguard Worker    "mock_entropy_provider.h",
92*6777b538SAndroid Build Coastguard Worker    "mock_log.cc",
93*6777b538SAndroid Build Coastguard Worker    "mock_log.h",
94*6777b538SAndroid Build Coastguard Worker    "move_only_int.h",
95*6777b538SAndroid Build Coastguard Worker    "multiprocess_test.h",
96*6777b538SAndroid Build Coastguard Worker    "null_task_runner.cc",
97*6777b538SAndroid Build Coastguard Worker    "null_task_runner.h",
98*6777b538SAndroid Build Coastguard Worker    "perf_log.cc",
99*6777b538SAndroid Build Coastguard Worker    "perf_log.h",
100*6777b538SAndroid Build Coastguard Worker    "perf_test_suite.cc",
101*6777b538SAndroid Build Coastguard Worker    "perf_test_suite.h",
102*6777b538SAndroid Build Coastguard Worker    "perf_time_logger.cc",
103*6777b538SAndroid Build Coastguard Worker    "perf_time_logger.h",
104*6777b538SAndroid Build Coastguard Worker    "power_monitor_test.cc",
105*6777b538SAndroid Build Coastguard Worker    "power_monitor_test.h",
106*6777b538SAndroid Build Coastguard Worker    "power_monitor_test_utils.cc",
107*6777b538SAndroid Build Coastguard Worker    "power_monitor_test_utils.h",
108*6777b538SAndroid Build Coastguard Worker    "protobuf_matchers.cc",
109*6777b538SAndroid Build Coastguard Worker    "protobuf_matchers.h",
110*6777b538SAndroid Build Coastguard Worker    "rectify_callback.h",
111*6777b538SAndroid Build Coastguard Worker    "rectify_callback_internal.h",
112*6777b538SAndroid Build Coastguard Worker    "repeating_test_future.h",
113*6777b538SAndroid Build Coastguard Worker    "run_until.cc",
114*6777b538SAndroid Build Coastguard Worker    "run_until.h",
115*6777b538SAndroid Build Coastguard Worker    "scoped_amount_of_physical_memory_override.cc",
116*6777b538SAndroid Build Coastguard Worker    "scoped_amount_of_physical_memory_override.h",
117*6777b538SAndroid Build Coastguard Worker    "scoped_block_tests_writing_to_special_dirs.cc",
118*6777b538SAndroid Build Coastguard Worker    "scoped_block_tests_writing_to_special_dirs.h",
119*6777b538SAndroid Build Coastguard Worker    "scoped_command_line.cc",
120*6777b538SAndroid Build Coastguard Worker    "scoped_command_line.h",
121*6777b538SAndroid Build Coastguard Worker    "scoped_feature_list.cc",
122*6777b538SAndroid Build Coastguard Worker    "scoped_feature_list.h",
123*6777b538SAndroid Build Coastguard Worker    "scoped_mock_clock_override.cc",
124*6777b538SAndroid Build Coastguard Worker    "scoped_mock_clock_override.h",
125*6777b538SAndroid Build Coastguard Worker    "scoped_mock_time_message_loop_task_runner.cc",
126*6777b538SAndroid Build Coastguard Worker    "scoped_mock_time_message_loop_task_runner.h",
127*6777b538SAndroid Build Coastguard Worker    "scoped_path_override.cc",
128*6777b538SAndroid Build Coastguard Worker    "scoped_path_override.h",
129*6777b538SAndroid Build Coastguard Worker    "scoped_run_loop_timeout.cc",
130*6777b538SAndroid Build Coastguard Worker    "scoped_run_loop_timeout.h",
131*6777b538SAndroid Build Coastguard Worker    "sequenced_task_runner_test_template.cc",
132*6777b538SAndroid Build Coastguard Worker    "sequenced_task_runner_test_template.h",
133*6777b538SAndroid Build Coastguard Worker    "simple_test_clock.cc",
134*6777b538SAndroid Build Coastguard Worker    "simple_test_clock.h",
135*6777b538SAndroid Build Coastguard Worker    "simple_test_tick_clock.cc",
136*6777b538SAndroid Build Coastguard Worker    "simple_test_tick_clock.h",
137*6777b538SAndroid Build Coastguard Worker    "task_environment.cc",
138*6777b538SAndroid Build Coastguard Worker    "task_environment.h",
139*6777b538SAndroid Build Coastguard Worker    "task_runner_test_template.cc",
140*6777b538SAndroid Build Coastguard Worker    "task_runner_test_template.h",
141*6777b538SAndroid Build Coastguard Worker    "test_discardable_memory_allocator.cc",
142*6777b538SAndroid Build Coastguard Worker    "test_discardable_memory_allocator.h",
143*6777b538SAndroid Build Coastguard Worker    "test_file_util.cc",
144*6777b538SAndroid Build Coastguard Worker    "test_file_util.h",
145*6777b538SAndroid Build Coastguard Worker    "test_future.h",
146*6777b538SAndroid Build Coastguard Worker    "test_future_internal.h",
147*6777b538SAndroid Build Coastguard Worker    "test_io_thread.cc",
148*6777b538SAndroid Build Coastguard Worker    "test_io_thread.h",
149*6777b538SAndroid Build Coastguard Worker    "test_message_loop.cc",
150*6777b538SAndroid Build Coastguard Worker    "test_message_loop.h",
151*6777b538SAndroid Build Coastguard Worker    "test_mock_time_task_runner.cc",
152*6777b538SAndroid Build Coastguard Worker    "test_mock_time_task_runner.h",
153*6777b538SAndroid Build Coastguard Worker    "test_pending_task.cc",
154*6777b538SAndroid Build Coastguard Worker    "test_pending_task.h",
155*6777b538SAndroid Build Coastguard Worker    "test_shared_memory_util.cc",
156*6777b538SAndroid Build Coastguard Worker    "test_shared_memory_util.h",
157*6777b538SAndroid Build Coastguard Worker    "test_simple_task_runner.cc",
158*6777b538SAndroid Build Coastguard Worker    "test_simple_task_runner.h",
159*6777b538SAndroid Build Coastguard Worker    "test_suite.cc",
160*6777b538SAndroid Build Coastguard Worker    "test_suite.h",
161*6777b538SAndroid Build Coastguard Worker    "test_waitable_event.cc",
162*6777b538SAndroid Build Coastguard Worker    "test_waitable_event.h",
163*6777b538SAndroid Build Coastguard Worker    "thread_test_helper.cc",
164*6777b538SAndroid Build Coastguard Worker    "thread_test_helper.h",
165*6777b538SAndroid Build Coastguard Worker    "values_test_util.cc",
166*6777b538SAndroid Build Coastguard Worker    "values_test_util.h",
167*6777b538SAndroid Build Coastguard Worker    "with_feature_override.cc",
168*6777b538SAndroid Build Coastguard Worker    "with_feature_override.h",
169*6777b538SAndroid Build Coastguard Worker  ]
170*6777b538SAndroid Build Coastguard Worker
171*6777b538SAndroid Build Coastguard Worker  configs += [ "//build/config:precompiled_headers" ]
172*6777b538SAndroid Build Coastguard Worker
173*6777b538SAndroid Build Coastguard Worker  public_deps = [
174*6777b538SAndroid Build Coastguard Worker    ":test_config",
175*6777b538SAndroid Build Coastguard Worker    "//base",
176*6777b538SAndroid Build Coastguard Worker    "//base:base_static",
177*6777b538SAndroid Build Coastguard Worker    "//base:i18n",
178*6777b538SAndroid Build Coastguard Worker    "//build:blink_buildflags",
179*6777b538SAndroid Build Coastguard Worker    "//testing/gmock",
180*6777b538SAndroid Build Coastguard Worker    "//testing/gtest",
181*6777b538SAndroid Build Coastguard Worker  ]
182*6777b538SAndroid Build Coastguard Worker
183*6777b538SAndroid Build Coastguard Worker  deps = [
184*6777b538SAndroid Build Coastguard Worker    ":proto_test_support",
185*6777b538SAndroid Build Coastguard Worker    "//build:chromeos_buildflags",
186*6777b538SAndroid Build Coastguard Worker    "//third_party/google_benchmark",
187*6777b538SAndroid Build Coastguard Worker    "//third_party/icu:icuuc",
188*6777b538SAndroid Build Coastguard Worker    "//third_party/libxml:libxml_utils",
189*6777b538SAndroid Build Coastguard Worker    "//third_party/libxml:xml_reader",
190*6777b538SAndroid Build Coastguard Worker  ]
191*6777b538SAndroid Build Coastguard Worker
192*6777b538SAndroid Build Coastguard Worker  if (enable_base_tracing) {
193*6777b538SAndroid Build Coastguard Worker    public_deps += [ "//third_party/perfetto:perfetto_test_support" ]
194*6777b538SAndroid Build Coastguard Worker    public_deps += [ ":test_trace_processor" ]
195*6777b538SAndroid Build Coastguard Worker    sources += [
196*6777b538SAndroid Build Coastguard Worker      "test_trace_processor.cc",
197*6777b538SAndroid Build Coastguard Worker      "test_trace_processor.h",
198*6777b538SAndroid Build Coastguard Worker    ]
199*6777b538SAndroid Build Coastguard Worker    deps += [
200*6777b538SAndroid Build Coastguard Worker      ":amalgamated_perfetto_sql_stdlib",
201*6777b538SAndroid Build Coastguard Worker      ":gen_cc_chrome_track_event_descriptor",
202*6777b538SAndroid Build Coastguard Worker    ]
203*6777b538SAndroid Build Coastguard Worker    if (is_ios) {
204*6777b538SAndroid Build Coastguard Worker      deps += [
205*6777b538SAndroid Build Coastguard Worker        ":test_trace_processor+bundle",
206*6777b538SAndroid Build Coastguard Worker        ":test_trace_processor+link",
207*6777b538SAndroid Build Coastguard Worker      ]
208*6777b538SAndroid Build Coastguard Worker    }
209*6777b538SAndroid Build Coastguard Worker  }
210*6777b538SAndroid Build Coastguard Worker
211*6777b538SAndroid Build Coastguard Worker  if (is_win) {
212*6777b538SAndroid Build Coastguard Worker    sources += [
213*6777b538SAndroid Build Coastguard Worker      "async_results_test_values_win.h",
214*6777b538SAndroid Build Coastguard Worker      "fake_iasync_operation_win.h",
215*6777b538SAndroid Build Coastguard Worker      "file_path_reparse_point_win.cc",
216*6777b538SAndroid Build Coastguard Worker      "file_path_reparse_point_win.h",
217*6777b538SAndroid Build Coastguard Worker      "scoped_os_info_override_win.cc",
218*6777b538SAndroid Build Coastguard Worker      "scoped_os_info_override_win.h",
219*6777b538SAndroid Build Coastguard Worker      "test_file_util_win.cc",
220*6777b538SAndroid Build Coastguard Worker      "test_reg_util_win.cc",
221*6777b538SAndroid Build Coastguard Worker      "test_reg_util_win.h",
222*6777b538SAndroid Build Coastguard Worker      "test_shortcut_win.cc",
223*6777b538SAndroid Build Coastguard Worker      "test_shortcut_win.h",
224*6777b538SAndroid Build Coastguard Worker    ]
225*6777b538SAndroid Build Coastguard Worker  }
226*6777b538SAndroid Build Coastguard Worker
227*6777b538SAndroid Build Coastguard Worker  if (is_chromeos) {
228*6777b538SAndroid Build Coastguard Worker    sources += [
229*6777b538SAndroid Build Coastguard Worker      "scoped_chromeos_version_info.cc",
230*6777b538SAndroid Build Coastguard Worker      "scoped_chromeos_version_info.h",
231*6777b538SAndroid Build Coastguard Worker      "scoped_running_on_chromeos.cc",
232*6777b538SAndroid Build Coastguard Worker      "scoped_running_on_chromeos.h",
233*6777b538SAndroid Build Coastguard Worker    ]
234*6777b538SAndroid Build Coastguard Worker  }
235*6777b538SAndroid Build Coastguard Worker
236*6777b538SAndroid Build Coastguard Worker  if (is_linux || is_chromeos) {
237*6777b538SAndroid Build Coastguard Worker    sources += [ "test_file_util_linux.cc" ]
238*6777b538SAndroid Build Coastguard Worker    public_deps += [ "//third_party/test_fonts/fontconfig:test_support" ]
239*6777b538SAndroid Build Coastguard Worker  }
240*6777b538SAndroid Build Coastguard Worker
241*6777b538SAndroid Build Coastguard Worker  if (is_mac) {
242*6777b538SAndroid Build Coastguard Worker    frameworks = [ "AppKit.framework" ]
243*6777b538SAndroid Build Coastguard Worker    sources += [
244*6777b538SAndroid Build Coastguard Worker      "mock_chrome_application_mac.h",
245*6777b538SAndroid Build Coastguard Worker      "mock_chrome_application_mac.mm",
246*6777b538SAndroid Build Coastguard Worker      "test_file_util_mac.cc",
247*6777b538SAndroid Build Coastguard Worker    ]
248*6777b538SAndroid Build Coastguard Worker  }
249*6777b538SAndroid Build Coastguard Worker
250*6777b538SAndroid Build Coastguard Worker  if (is_android) {
251*6777b538SAndroid Build Coastguard Worker    sources += [
252*6777b538SAndroid Build Coastguard Worker      "android/java_handler_thread_helpers.cc",
253*6777b538SAndroid Build Coastguard Worker      "android/java_handler_thread_helpers.h",
254*6777b538SAndroid Build Coastguard Worker      "android/url_utils.cc",
255*6777b538SAndroid Build Coastguard Worker      "android/url_utils.h",
256*6777b538SAndroid Build Coastguard Worker      "multiprocess_test_android.cc",
257*6777b538SAndroid Build Coastguard Worker      "test_file_util_android.cc",
258*6777b538SAndroid Build Coastguard Worker      "test_file_util_linux.cc",
259*6777b538SAndroid Build Coastguard Worker      "test_support_android.cc",
260*6777b538SAndroid Build Coastguard Worker      "test_support_android.h",
261*6777b538SAndroid Build Coastguard Worker      "thread_pool_test_helpers_android.cc",
262*6777b538SAndroid Build Coastguard Worker    ]
263*6777b538SAndroid Build Coastguard Worker    deps += [
264*6777b538SAndroid Build Coastguard Worker      ":base_unittests_jni_headers",
265*6777b538SAndroid Build Coastguard Worker      ":test_support_jni_headers",
266*6777b538SAndroid Build Coastguard Worker    ]
267*6777b538SAndroid Build Coastguard Worker  }
268*6777b538SAndroid Build Coastguard Worker
269*6777b538SAndroid Build Coastguard Worker  if (is_ios) {
270*6777b538SAndroid Build Coastguard Worker    sources += [
271*6777b538SAndroid Build Coastguard Worker      "ios/wait_util.h",
272*6777b538SAndroid Build Coastguard Worker      "ios/wait_util.mm",
273*6777b538SAndroid Build Coastguard Worker      "test_file_util_mac.cc",
274*6777b538SAndroid Build Coastguard Worker      "test_listener_ios.h",
275*6777b538SAndroid Build Coastguard Worker      "test_listener_ios.mm",
276*6777b538SAndroid Build Coastguard Worker      "test_support_ios.h",
277*6777b538SAndroid Build Coastguard Worker      "test_support_ios.mm",
278*6777b538SAndroid Build Coastguard Worker    ]
279*6777b538SAndroid Build Coastguard Worker    deps += [
280*6777b538SAndroid Build Coastguard Worker      ":google_test_runner_shared_headers",
281*6777b538SAndroid Build Coastguard Worker      "//build:blink_buildflags",
282*6777b538SAndroid Build Coastguard Worker      "//build:ios_buildflags",
283*6777b538SAndroid Build Coastguard Worker    ]
284*6777b538SAndroid Build Coastguard Worker
285*6777b538SAndroid Build Coastguard Worker    # With blink, we use the standard unit_test_launcher.cc.
286*6777b538SAndroid Build Coastguard Worker    if (!use_blink) {
287*6777b538SAndroid Build Coastguard Worker      sources += [ "launcher/unit_test_launcher_ios.cc" ]
288*6777b538SAndroid Build Coastguard Worker    }
289*6777b538SAndroid Build Coastguard Worker  }
290*6777b538SAndroid Build Coastguard Worker
291*6777b538SAndroid Build Coastguard Worker  if (is_posix || is_fuchsia) {
292*6777b538SAndroid Build Coastguard Worker    sources += [
293*6777b538SAndroid Build Coastguard Worker      "scoped_locale.cc",
294*6777b538SAndroid Build Coastguard Worker      "scoped_locale.h",
295*6777b538SAndroid Build Coastguard Worker      "test_file_util_posix.cc",
296*6777b538SAndroid Build Coastguard Worker    ]
297*6777b538SAndroid Build Coastguard Worker  }
298*6777b538SAndroid Build Coastguard Worker
299*6777b538SAndroid Build Coastguard Worker  if (is_fuchsia) {
300*6777b538SAndroid Build Coastguard Worker    deps += [
301*6777b538SAndroid Build Coastguard Worker      "//third_party/fuchsia-sdk/sdk/fidl/fuchsia.io:fuchsia.io_cpp_hlcpp_conversion",
302*6777b538SAndroid Build Coastguard Worker      "//third_party/fuchsia-sdk/sdk/pkg/zx",
303*6777b538SAndroid Build Coastguard Worker    ]
304*6777b538SAndroid Build Coastguard Worker    public_deps += [ "//third_party/fuchsia-sdk/sdk/pkg/sys_cpp" ]
305*6777b538SAndroid Build Coastguard Worker    sources += [
306*6777b538SAndroid Build Coastguard Worker      "../fuchsia/test_component_context_for_process.cc",
307*6777b538SAndroid Build Coastguard Worker      "../fuchsia/test_component_context_for_process.h",
308*6777b538SAndroid Build Coastguard Worker      "fidl_matchers.h",
309*6777b538SAndroid Build Coastguard Worker      "scoped_dev_zero_fuchsia.cc",
310*6777b538SAndroid Build Coastguard Worker      "scoped_dev_zero_fuchsia.h",
311*6777b538SAndroid Build Coastguard Worker    ]
312*6777b538SAndroid Build Coastguard Worker  }
313*6777b538SAndroid Build Coastguard Worker
314*6777b538SAndroid Build Coastguard Worker  if (use_blink) {
315*6777b538SAndroid Build Coastguard Worker    sources += [
316*6777b538SAndroid Build Coastguard Worker      "launcher/test_launcher.cc",
317*6777b538SAndroid Build Coastguard Worker      "launcher/test_launcher.h",
318*6777b538SAndroid Build Coastguard Worker      "launcher/test_launcher_test_utils.cc",
319*6777b538SAndroid Build Coastguard Worker      "launcher/test_launcher_test_utils.h",
320*6777b538SAndroid Build Coastguard Worker      "launcher/test_launcher_tracer.cc",
321*6777b538SAndroid Build Coastguard Worker      "launcher/test_launcher_tracer.h",
322*6777b538SAndroid Build Coastguard Worker      "launcher/test_results_tracker.cc",
323*6777b538SAndroid Build Coastguard Worker      "launcher/unit_test_launcher.cc",
324*6777b538SAndroid Build Coastguard Worker      "multiprocess_test.cc",
325*6777b538SAndroid Build Coastguard Worker    ]
326*6777b538SAndroid Build Coastguard Worker  }
327*6777b538SAndroid Build Coastguard Worker
328*6777b538SAndroid Build Coastguard Worker  if (enable_base_tracing) {
329*6777b538SAndroid Build Coastguard Worker    sources += [
330*6777b538SAndroid Build Coastguard Worker      "../trace_event/trace_config_memory_test_util.h",
331*6777b538SAndroid Build Coastguard Worker      "trace_event_analyzer.cc",
332*6777b538SAndroid Build Coastguard Worker      "trace_event_analyzer.h",
333*6777b538SAndroid Build Coastguard Worker      "trace_test_utils.cc",
334*6777b538SAndroid Build Coastguard Worker      "trace_test_utils.h",
335*6777b538SAndroid Build Coastguard Worker      "trace_to_file.cc",
336*6777b538SAndroid Build Coastguard Worker      "trace_to_file.h",
337*6777b538SAndroid Build Coastguard Worker    ]
338*6777b538SAndroid Build Coastguard Worker  }
339*6777b538SAndroid Build Coastguard Worker}
340*6777b538SAndroid Build Coastguard Worker
341*6777b538SAndroid Build Coastguard Workercomponent("proto_test_support") {
342*6777b538SAndroid Build Coastguard Worker  testonly = true
343*6777b538SAndroid Build Coastguard Worker
344*6777b538SAndroid Build Coastguard Worker  sources = [
345*6777b538SAndroid Build Coastguard Worker    "test_proto_loader.cc",
346*6777b538SAndroid Build Coastguard Worker    "test_proto_loader.h",
347*6777b538SAndroid Build Coastguard Worker  ]
348*6777b538SAndroid Build Coastguard Worker
349*6777b538SAndroid Build Coastguard Worker  defines = [ "PROTO_TEST_IMPLEMENTATION" ]
350*6777b538SAndroid Build Coastguard Worker
351*6777b538SAndroid Build Coastguard Worker  deps = [
352*6777b538SAndroid Build Coastguard Worker    "//base",
353*6777b538SAndroid Build Coastguard Worker    "//third_party/protobuf:protobuf_full",
354*6777b538SAndroid Build Coastguard Worker  ]
355*6777b538SAndroid Build Coastguard Worker}
356*6777b538SAndroid Build Coastguard Worker
357*6777b538SAndroid Build Coastguard Workerproto_library("test_proto") {
358*6777b538SAndroid Build Coastguard Worker  sources = [ "test.proto" ]
359*6777b538SAndroid Build Coastguard Worker  cc_generator_options = "lite"
360*6777b538SAndroid Build Coastguard Worker}
361*6777b538SAndroid Build Coastguard Worker
362*6777b538SAndroid Build Coastguard Workerproto_library("test_proto_descriptor") {
363*6777b538SAndroid Build Coastguard Worker  sources = [ "test.proto" ]
364*6777b538SAndroid Build Coastguard Worker  generate_cc = false
365*6777b538SAndroid Build Coastguard Worker  generate_python = false
366*6777b538SAndroid Build Coastguard Worker  generate_descriptor = "test_proto.descriptor"
367*6777b538SAndroid Build Coastguard Worker}
368*6777b538SAndroid Build Coastguard Worker
369*6777b538SAndroid Build Coastguard Workerconfig("base_test_implementation") {
370*6777b538SAndroid Build Coastguard Worker  defines = [ "IS_BASE_TEST_IMPL" ]
371*6777b538SAndroid Build Coastguard Worker}
372*6777b538SAndroid Build Coastguard Worker
373*6777b538SAndroid Build Coastguard Workerconfig("perf_test_config") {
374*6777b538SAndroid Build Coastguard Worker  defines = [ "PERF_TEST" ]
375*6777b538SAndroid Build Coastguard Worker}
376*6777b538SAndroid Build Coastguard Worker
377*6777b538SAndroid Build Coastguard Worker# This is a source set instead of a static library because it seems like some
378*6777b538SAndroid Build Coastguard Worker# linkers get confused when "main" is in a static library, and if you link to
379*6777b538SAndroid Build Coastguard Worker# this, you always want the object file anyway.
380*6777b538SAndroid Build Coastguard Workersource_set("test_support_perf") {
381*6777b538SAndroid Build Coastguard Worker  testonly = true
382*6777b538SAndroid Build Coastguard Worker  sources = [ "run_all_perftests.cc" ]
383*6777b538SAndroid Build Coastguard Worker  deps = [
384*6777b538SAndroid Build Coastguard Worker    ":test_support",
385*6777b538SAndroid Build Coastguard Worker    "//base",
386*6777b538SAndroid Build Coastguard Worker    "//testing/gtest",
387*6777b538SAndroid Build Coastguard Worker  ]
388*6777b538SAndroid Build Coastguard Worker
389*6777b538SAndroid Build Coastguard Worker  public_configs = [ ":perf_test_config" ]
390*6777b538SAndroid Build Coastguard Worker}
391*6777b538SAndroid Build Coastguard Worker
392*6777b538SAndroid Build Coastguard Workerstatic_library("run_all_unittests") {
393*6777b538SAndroid Build Coastguard Worker  testonly = true
394*6777b538SAndroid Build Coastguard Worker  sources = [ "run_all_unittests.cc" ]
395*6777b538SAndroid Build Coastguard Worker  deps = [ ":test_support" ]
396*6777b538SAndroid Build Coastguard Worker}
397*6777b538SAndroid Build Coastguard Worker
398*6777b538SAndroid Build Coastguard Worker# These sources are linked into both the base_unittests binary and the test
399*6777b538SAndroid Build Coastguard Worker# shared library target below.
400*6777b538SAndroid Build Coastguard Workersource_set("native_library_test_utils") {
401*6777b538SAndroid Build Coastguard Worker  testonly = true
402*6777b538SAndroid Build Coastguard Worker  sources = [
403*6777b538SAndroid Build Coastguard Worker    "native_library_test_utils.cc",
404*6777b538SAndroid Build Coastguard Worker    "native_library_test_utils.h",
405*6777b538SAndroid Build Coastguard Worker  ]
406*6777b538SAndroid Build Coastguard Worker}
407*6777b538SAndroid Build Coastguard Worker
408*6777b538SAndroid Build Coastguard Worker# This shared library is dynamically loaded by ImmediateCrash unittests.
409*6777b538SAndroid Build Coastguard Workershared_library("immediate_crash_test_helper") {
410*6777b538SAndroid Build Coastguard Worker  sources = [ "immediate_crash_test_helper.cc" ]
411*6777b538SAndroid Build Coastguard Worker
412*6777b538SAndroid Build Coastguard Worker  # Note: the helper has a header-only dependency on //base/immediate_helper.h.
413*6777b538SAndroid Build Coastguard Worker  # However, the build rule intentionally omits an explicit //base dependency
414*6777b538SAndroid Build Coastguard Worker  # to avoid potential ODR violations and minimize the amount of code linked in.
415*6777b538SAndroid Build Coastguard Worker  # We do however need to depend upon a buildflag header included in
416*6777b538SAndroid Build Coastguard Worker  # base/immediate_crash.h.
417*6777b538SAndroid Build Coastguard Worker  deps = [ "//base:fuzzing_buildflags" ]
418*6777b538SAndroid Build Coastguard Worker
419*6777b538SAndroid Build Coastguard Worker  # Try to minimize the risk of non-official builds generating different code.
420*6777b538SAndroid Build Coastguard Worker  if (!is_official_build) {
421*6777b538SAndroid Build Coastguard Worker    configs -= [ "//build/config/compiler:default_optimization" ]
422*6777b538SAndroid Build Coastguard Worker    configs += [ "//build/config/compiler:optimize_max" ]
423*6777b538SAndroid Build Coastguard Worker  }
424*6777b538SAndroid Build Coastguard Worker
425*6777b538SAndroid Build Coastguard Worker  # Disable sanitization: sanitized builds are assumed to be saner than normal,
426*6777b538SAndroid Build Coastguard Worker  # and can affect codegen in surprising ways, which breaks the tests.
427*6777b538SAndroid Build Coastguard Worker  configs -= [ "//build/config/sanitizers:default_sanitizer_flags" ]
428*6777b538SAndroid Build Coastguard Worker
429*6777b538SAndroid Build Coastguard Worker  if (is_android) {
430*6777b538SAndroid Build Coastguard Worker    configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
431*6777b538SAndroid Build Coastguard Worker  }
432*6777b538SAndroid Build Coastguard Worker}
433*6777b538SAndroid Build Coastguard Worker
434*6777b538SAndroid Build Coastguard Worker# This shared library is dynamically loaded by NativeLibrary unittests.
435*6777b538SAndroid Build Coastguard Workershared_library("test_shared_library") {
436*6777b538SAndroid Build Coastguard Worker  testonly = true
437*6777b538SAndroid Build Coastguard Worker  sources = [ "test_shared_library.cc" ]
438*6777b538SAndroid Build Coastguard Worker
439*6777b538SAndroid Build Coastguard Worker  deps = [ ":native_library_test_utils" ]
440*6777b538SAndroid Build Coastguard Worker}
441*6777b538SAndroid Build Coastguard Worker
442*6777b538SAndroid Build Coastguard Workerif (is_fuchsia || is_linux || is_chromeos) {
443*6777b538SAndroid Build Coastguard Worker  shared_library("malloc_wrapper") {
444*6777b538SAndroid Build Coastguard Worker    testonly = true
445*6777b538SAndroid Build Coastguard Worker    sources = [
446*6777b538SAndroid Build Coastguard Worker      "malloc_wrapper.cc",
447*6777b538SAndroid Build Coastguard Worker      "malloc_wrapper.h",
448*6777b538SAndroid Build Coastguard Worker    ]
449*6777b538SAndroid Build Coastguard Worker  }
450*6777b538SAndroid Build Coastguard Worker}
451*6777b538SAndroid Build Coastguard Worker
452*6777b538SAndroid Build Coastguard Workerif (is_android) {
453*6777b538SAndroid Build Coastguard Worker  generate_jni("base_unittests_jni_headers") {
454*6777b538SAndroid Build Coastguard Worker    testonly = true
455*6777b538SAndroid Build Coastguard Worker    sources = [
456*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/ContentUriTestUtils.java",
457*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/JavaHandlerThreadHelpers.java",
458*6777b538SAndroid Build Coastguard Worker    ]
459*6777b538SAndroid Build Coastguard Worker  }
460*6777b538SAndroid Build Coastguard Worker
461*6777b538SAndroid Build Coastguard Worker  generate_jni("test_support_jni_headers") {
462*6777b538SAndroid Build Coastguard Worker    testonly = true
463*6777b538SAndroid Build Coastguard Worker    sources = [
464*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/MainReturnCodeResult.java",
465*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/MultiprocessTestClientLauncher.java",
466*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/task/ThreadPoolTestHelpers.java",
467*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/util/UrlUtils.java",
468*6777b538SAndroid Build Coastguard Worker    ]
469*6777b538SAndroid Build Coastguard Worker  }
470*6777b538SAndroid Build Coastguard Worker
471*6777b538SAndroid Build Coastguard Worker  # Used by all base test targets: gtests, robolectric, and instrumentation tests.
472*6777b538SAndroid Build Coastguard Worker  android_library("test_support_java") {
473*6777b538SAndroid Build Coastguard Worker    testonly = true
474*6777b538SAndroid Build Coastguard Worker
475*6777b538SAndroid Build Coastguard Worker    deps = [
476*6777b538SAndroid Build Coastguard Worker      "//base:base_java",
477*6777b538SAndroid Build Coastguard Worker      "//base:process_launcher_java",
478*6777b538SAndroid Build Coastguard Worker      "//testing/android/native_test:native_main_runner_java",
479*6777b538SAndroid Build Coastguard Worker      "//third_party/android_deps:com_google_code_findbugs_jsr305_java",
480*6777b538SAndroid Build Coastguard Worker      "//third_party/jni_zero:jni_zero_java",
481*6777b538SAndroid Build Coastguard Worker    ]
482*6777b538SAndroid Build Coastguard Worker
483*6777b538SAndroid Build Coastguard Worker    srcjar_deps = [ ":test_support_java_aidl" ]
484*6777b538SAndroid Build Coastguard Worker    sources = [
485*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/GarbageCollectionTestUtils.java",
486*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/MainReturnCodeResult.java",
487*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/MultiprocessTestClientLauncher.java",
488*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/MultiprocessTestClientService.java",
489*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/MultiprocessTestClientService0.java",
490*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/MultiprocessTestClientService1.java",
491*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/MultiprocessTestClientService2.java",
492*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/MultiprocessTestClientService3.java",
493*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/MultiprocessTestClientService4.java",
494*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/MultiprocessTestClientService5.java",
495*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/MultiprocessTestClientService6.java",
496*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/MultiprocessTestClientService7.java",
497*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/MultiprocessTestClientService8.java",
498*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/MultiprocessTestClientService9.java",
499*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/MultiprocessTestClientServiceDelegate.java",
500*6777b538SAndroid Build Coastguard Worker    ]
501*6777b538SAndroid Build Coastguard Worker  }
502*6777b538SAndroid Build Coastguard Worker
503*6777b538SAndroid Build Coastguard Worker  android_aidl("test_support_java_aidl") {
504*6777b538SAndroid Build Coastguard Worker    testonly = true
505*6777b538SAndroid Build Coastguard Worker    import_include = [
506*6777b538SAndroid Build Coastguard Worker      "android/java/src",
507*6777b538SAndroid Build Coastguard Worker      "//base/android/java/src",
508*6777b538SAndroid Build Coastguard Worker    ]
509*6777b538SAndroid Build Coastguard Worker    sources = [
510*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/ITestCallback.aidl",
511*6777b538SAndroid Build Coastguard Worker      "android/java/src/org/chromium/base/ITestController.aidl",
512*6777b538SAndroid Build Coastguard Worker    ]
513*6777b538SAndroid Build Coastguard Worker  }
514*6777b538SAndroid Build Coastguard Worker}
515*6777b538SAndroid Build Coastguard Worker
516*6777b538SAndroid Build Coastguard Workerif (is_ios) {
517*6777b538SAndroid Build Coastguard Worker  source_set("google_test_runner_shared_headers") {
518*6777b538SAndroid Build Coastguard Worker    sources = [ "ios/google_test_runner_delegate.h" ]
519*6777b538SAndroid Build Coastguard Worker  }
520*6777b538SAndroid Build Coastguard Worker
521*6777b538SAndroid Build Coastguard Worker  source_set("google_test_runner") {
522*6777b538SAndroid Build Coastguard Worker    sources = [ "ios/google_test_runner.mm" ]
523*6777b538SAndroid Build Coastguard Worker    deps = [ ":google_test_runner_shared_headers" ]
524*6777b538SAndroid Build Coastguard Worker    frameworks = [ "UIKit.framework" ]
525*6777b538SAndroid Build Coastguard Worker    configs += [ "//build/config/ios:xctest_config" ]
526*6777b538SAndroid Build Coastguard Worker  }
527*6777b538SAndroid Build Coastguard Worker}
528*6777b538SAndroid Build Coastguard Worker
529*6777b538SAndroid Build Coastguard Worker# Trivial executable which outputs space-delimited argv to stdout,
530*6777b538SAndroid Build Coastguard Worker# used for testing.
531*6777b538SAndroid Build Coastguard Workerexecutable("test_child_process") {
532*6777b538SAndroid Build Coastguard Worker  testonly = true
533*6777b538SAndroid Build Coastguard Worker  sources = [ "test_child_process.cc" ]
534*6777b538SAndroid Build Coastguard Worker}
535*6777b538SAndroid Build Coastguard Worker
536*6777b538SAndroid Build Coastguard Workerif (enable_base_tracing) {
537*6777b538SAndroid Build Coastguard Worker  perfetto_cc_proto_descriptor("gen_cc_chrome_track_event_descriptor") {
538*6777b538SAndroid Build Coastguard Worker    descriptor_name = "chrome_track_event.descriptor"
539*6777b538SAndroid Build Coastguard Worker    descriptor_target = "//base/tracing/protos:chrome_track_event"
540*6777b538SAndroid Build Coastguard Worker  }
541*6777b538SAndroid Build Coastguard Worker
542*6777b538SAndroid Build Coastguard Worker  import("//base/tracing/stdlib/chrome/perfetto_sql_files.gni")
543*6777b538SAndroid Build Coastguard Worker  action("amalgamated_perfetto_sql_stdlib") {
544*6777b538SAndroid Build Coastguard Worker    script = "//third_party/perfetto/tools/gen_amalgamated_sql.py"
545*6777b538SAndroid Build Coastguard Worker    sources = rebase_path(chrome_stdlib_sql_files,
546*6777b538SAndroid Build Coastguard Worker                          ".",
547*6777b538SAndroid Build Coastguard Worker                          "//base/tracing/stdlib/chrome")
548*6777b538SAndroid Build Coastguard Worker    stdlib_header = "$root_gen_dir/base/test/perfetto_sql_stdlib.h"
549*6777b538SAndroid Build Coastguard Worker    outputs = [ stdlib_header ]
550*6777b538SAndroid Build Coastguard Worker    args = [
551*6777b538SAndroid Build Coastguard Worker             "--namespace",
552*6777b538SAndroid Build Coastguard Worker             "chrome_stdlib",
553*6777b538SAndroid Build Coastguard Worker             "--cpp-out",
554*6777b538SAndroid Build Coastguard Worker             rebase_path(stdlib_header, root_build_dir),
555*6777b538SAndroid Build Coastguard Worker           ] + rebase_path(sources, root_build_dir)
556*6777b538SAndroid Build Coastguard Worker  }
557*6777b538SAndroid Build Coastguard Worker
558*6777b538SAndroid Build Coastguard Worker  # We encapsulate the trace processor in a separate shared library to prevent
559*6777b538SAndroid Build Coastguard Worker  # any duplicate symbol issues. Perfetto symbols are exported by chromium’s
560*6777b538SAndroid Build Coastguard Worker  # base via a public_dep on libperfetto; libtrace_processor also depends on
561*6777b538SAndroid Build Coastguard Worker  # these symbols. So we “hide” the perfetto symbols exported from this
562*6777b538SAndroid Build Coastguard Worker  # interface. Also, chrome targets depend on chromium_sqlite and the trace
563*6777b538SAndroid Build Coastguard Worker  # processor depends on dev_sqlite. The two share the same symbols but have
564*6777b538SAndroid Build Coastguard Worker  # different implementations, so we need to hide dev_sqlite in this shared
565*6777b538SAndroid Build Coastguard Worker  # library even in non-component builds to prevent duplicate symbols.
566*6777b538SAndroid Build Coastguard Worker  _target_type = "shared_library"
567*6777b538SAndroid Build Coastguard Worker  if (is_ios) {
568*6777b538SAndroid Build Coastguard Worker    _target_type = "ios_framework_bundle"
569*6777b538SAndroid Build Coastguard Worker  }
570*6777b538SAndroid Build Coastguard Worker
571*6777b538SAndroid Build Coastguard Worker  target(_target_type, "test_trace_processor") {
572*6777b538SAndroid Build Coastguard Worker    defines = [ "TEST_TRACE_PROCESSOR_IMPL" ]
573*6777b538SAndroid Build Coastguard Worker    testonly = true
574*6777b538SAndroid Build Coastguard Worker    sources = [
575*6777b538SAndroid Build Coastguard Worker      "test_trace_processor_export.h",
576*6777b538SAndroid Build Coastguard Worker      "test_trace_processor_impl.cc",
577*6777b538SAndroid Build Coastguard Worker      "test_trace_processor_impl.h",
578*6777b538SAndroid Build Coastguard Worker    ]
579*6777b538SAndroid Build Coastguard Worker    deps = [
580*6777b538SAndroid Build Coastguard Worker      "//third_party/abseil-cpp:absl",
581*6777b538SAndroid Build Coastguard Worker      "//third_party/perfetto:libtrace_processor",
582*6777b538SAndroid Build Coastguard Worker    ]
583*6777b538SAndroid Build Coastguard Worker    if (is_android) {
584*6777b538SAndroid Build Coastguard Worker      configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
585*6777b538SAndroid Build Coastguard Worker    }
586*6777b538SAndroid Build Coastguard Worker
587*6777b538SAndroid Build Coastguard Worker    if (is_ios) {
588*6777b538SAndroid Build Coastguard Worker      info_plist = "test_trace_processor_impl.plist"
589*6777b538SAndroid Build Coastguard Worker      output_name = "TestTraceProcessor"
590*6777b538SAndroid Build Coastguard Worker      bundle_deps_filter = [ "//third_party/icu:icudata" ]
591*6777b538SAndroid Build Coastguard Worker    }
592*6777b538SAndroid Build Coastguard Worker
593*6777b538SAndroid Build Coastguard Worker    # Set rpath on dependent tests so that they can find the shared library
594*6777b538SAndroid Build Coastguard Worker    # in a non-component build.
595*6777b538SAndroid Build Coastguard Worker    if (!is_component_build) {
596*6777b538SAndroid Build Coastguard Worker      all_dependent_configs = []
597*6777b538SAndroid Build Coastguard Worker      if (is_linux || is_chromeos) {
598*6777b538SAndroid Build Coastguard Worker        all_dependent_configs +=
599*6777b538SAndroid Build Coastguard Worker            [ "//build/config/gcc:rpath_for_built_shared_libraries" ]
600*6777b538SAndroid Build Coastguard Worker      }
601*6777b538SAndroid Build Coastguard Worker      if (is_mac) {
602*6777b538SAndroid Build Coastguard Worker        # We need the lib to be in $root_out_dir/Libraries so the library is where
603*6777b538SAndroid Build Coastguard Worker        # the linker expects it, since we set the install_name flag. We need to
604*6777b538SAndroid Build Coastguard Worker        # set this flag so that the library can be found when it is bundled in the
605*6777b538SAndroid Build Coastguard Worker        # Content Shell Framework (see test_trace_processor_bundle_data).
606*6777b538SAndroid Build Coastguard Worker        output_dir = "$root_out_dir/Libraries"
607*6777b538SAndroid Build Coastguard Worker        ldflags = [ "-Wl,-install_name,@loader_path/Libraries/libtest_trace_processor.dylib" ]
608*6777b538SAndroid Build Coastguard Worker      }
609*6777b538SAndroid Build Coastguard Worker    }
610*6777b538SAndroid Build Coastguard Worker  }
611*6777b538SAndroid Build Coastguard Worker
612*6777b538SAndroid Build Coastguard Worker  if (!is_component_build && is_mac) {
613*6777b538SAndroid Build Coastguard Worker    bundle_data("test_trace_processor_bundle_data") {
614*6777b538SAndroid Build Coastguard Worker      testonly = true
615*6777b538SAndroid Build Coastguard Worker      sources = [ "$root_out_dir/Libraries/libtest_trace_processor.dylib" ]
616*6777b538SAndroid Build Coastguard Worker      outputs = [ "{{bundle_contents_dir}}/Libraries/{{source_file_part}}" ]
617*6777b538SAndroid Build Coastguard Worker      public_deps = [ ":test_trace_processor" ]
618*6777b538SAndroid Build Coastguard Worker    }
619*6777b538SAndroid Build Coastguard Worker  }
620*6777b538SAndroid Build Coastguard Worker} else if (!is_component_build && is_mac) {
621*6777b538SAndroid Build Coastguard Worker  # Provide a dummy target in order for clients to not have to special-case
622*6777b538SAndroid Build Coastguard Worker  # the dependency.
623*6777b538SAndroid Build Coastguard Worker  group("test_trace_processor_bundle_data") {
624*6777b538SAndroid Build Coastguard Worker    testonly = true
625*6777b538SAndroid Build Coastguard Worker  }
626*6777b538SAndroid Build Coastguard Worker}
627*6777b538SAndroid Build Coastguard Worker
628*6777b538SAndroid Build Coastguard Workerif (is_android) {
629*6777b538SAndroid Build Coastguard Worker  android_library("public_transit_java") {
630*6777b538SAndroid Build Coastguard Worker    testonly = true
631*6777b538SAndroid Build Coastguard Worker
632*6777b538SAndroid Build Coastguard Worker    deps = [
633*6777b538SAndroid Build Coastguard Worker      "//base:base_java",
634*6777b538SAndroid Build Coastguard Worker      "//base:base_java_test_support",
635*6777b538SAndroid Build Coastguard Worker      "//build/android:build_java",
636*6777b538SAndroid Build Coastguard Worker      "//third_party/android_deps:com_google_errorprone_error_prone_annotations_java",
637*6777b538SAndroid Build Coastguard Worker      "//third_party/android_deps:espresso_java",
638*6777b538SAndroid Build Coastguard Worker      "//third_party/android_deps:guava_android_java",
639*6777b538SAndroid Build Coastguard Worker      "//third_party/androidx:androidx_annotation_annotation_java",
640*6777b538SAndroid Build Coastguard Worker      "//third_party/androidx:androidx_core_core_java",
641*6777b538SAndroid Build Coastguard Worker      "//third_party/androidx:androidx_test_monitor_java",
642*6777b538SAndroid Build Coastguard Worker      "//third_party/hamcrest:hamcrest_java",
643*6777b538SAndroid Build Coastguard Worker      "//third_party/junit",
644*6777b538SAndroid Build Coastguard Worker    ]
645*6777b538SAndroid Build Coastguard Worker
646*6777b538SAndroid Build Coastguard Worker    sources = [
647*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/BatchedPublicTransitRule.java",
648*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/CallbackCondition.java",
649*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/Condition.java",
650*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/ConditionChecker.java",
651*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/ConditionStatus.java",
652*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/ConditionWaiter.java",
653*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/ConditionalState.java",
654*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/ElementInState.java",
655*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/Elements.java",
656*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/FacilityCheckIn.java",
657*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/FacilityCheckOut.java",
658*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/InstrumentationThreadCondition.java",
659*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/LogicalElement.java",
660*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/PublicTransitConfig.java",
661*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/StationFacility.java",
662*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/StatusStore.java",
663*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/TrafficControl.java",
664*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/TransitAsserts.java",
665*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/TransitStation.java",
666*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/Transition.java",
667*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/TravelException.java",
668*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/Trip.java",
669*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/UiThreadCondition.java",
670*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/ViewConditions.java",
671*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/ViewElement.java",
672*6777b538SAndroid Build Coastguard Worker      "android/javatests/src/org/chromium/base/test/transit/ViewElementInState.java",
673*6777b538SAndroid Build Coastguard Worker    ]
674*6777b538SAndroid Build Coastguard Worker  }
675*6777b538SAndroid Build Coastguard Worker}
676