• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Copyright (c) 2013 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5import("//build/config/ui.gni")
6import("//build/config/nacl/config.gni")
7
8if (is_android) {
9  import("//build/config/android/rules.gni")
10}
11
12source_set("test_config") {
13  # TODO http://crbug.com/412064 enable this flag all the time.
14  testonly = !is_component_build
15  sources = [
16    "test_switches.cc",
17    "test_switches.h",
18    "test_timeouts.cc",
19    "test_timeouts.h",
20  ]
21  deps = [
22    "//base",
23  ]
24}
25
26# GYP: //base/base.gyp:test_support_base
27source_set("test_support") {
28  # TODO http://crbug.com/412064 enable this flag all the time.
29  testonly = !is_component_build
30  sources = [
31    "gtest_util.cc",
32    "gtest_util.h",
33    "gtest_xml_unittest_result_printer.cc",
34    "gtest_xml_unittest_result_printer.h",
35    "gtest_xml_util.cc",
36    "gtest_xml_util.h",
37    "histogram_tester.cc",
38    "histogram_tester.h",
39    "ios/wait_util.h",
40    "ios/wait_util.mm",
41    "launcher/test_result.cc",
42    "launcher/test_result.h",
43    "launcher/test_results_tracker.h",
44    "launcher/unit_test_launcher.h",
45    "mock_chrome_application_mac.h",
46    "mock_chrome_application_mac.mm",
47    "mock_devices_changed_observer.cc",
48    "mock_devices_changed_observer.h",
49    "mock_entropy_provider.cc",
50    "mock_entropy_provider.h",
51    "mock_log.cc",
52    "mock_log.h",
53    "multiprocess_test.h",
54    "null_task_runner.cc",
55    "null_task_runner.h",
56    "opaque_ref_counted.cc",
57    "opaque_ref_counted.h",
58    "perf_log.cc",
59    "perf_log.h",
60    "perf_test_suite.cc",
61    "perf_test_suite.h",
62    "perf_time_logger.cc",
63    "perf_time_logger.h",
64    "power_monitor_test_base.cc",
65    "power_monitor_test_base.h",
66    "scoped_locale.cc",
67    "scoped_locale.h",
68    "scoped_path_override.cc",
69    "scoped_path_override.h",
70    "sequenced_task_runner_test_template.cc",
71    "sequenced_task_runner_test_template.h",
72    "sequenced_worker_pool_owner.cc",
73    "sequenced_worker_pool_owner.h",
74    "simple_test_clock.cc",
75    "simple_test_clock.h",
76    "simple_test_tick_clock.cc",
77    "simple_test_tick_clock.h",
78    "task_runner_test_template.cc",
79    "task_runner_test_template.h",
80    "test_discardable_memory_allocator.cc",
81    "test_discardable_memory_allocator.h",
82    "test_file_util.cc",
83    "test_file_util.h",
84    "test_file_util_android.cc",
85    "test_file_util_linux.cc",
86    "test_file_util_mac.cc",
87    "test_file_util_posix.cc",
88    "test_file_util_win.cc",
89    "test_io_thread.cc",
90    "test_io_thread.h",
91    "test_listener_ios.h",
92    "test_listener_ios.mm",
93    "test_mock_time_task_runner.cc",
94    "test_mock_time_task_runner.h",
95    "test_pending_task.cc",
96    "test_pending_task.h",
97    "test_reg_util_win.cc",
98    "test_reg_util_win.h",
99    "test_shortcut_win.cc",
100    "test_shortcut_win.h",
101    "test_simple_task_runner.cc",
102    "test_simple_task_runner.h",
103    "test_suite.cc",
104    "test_suite.h",
105    "test_support_android.cc",
106    "test_support_android.h",
107    "test_support_ios.h",
108    "test_support_ios.mm",
109    "test_ui_thread_android.cc",
110    "test_ui_thread_android.h",
111    "thread_test_helper.cc",
112    "thread_test_helper.h",
113    "trace_event_analyzer.cc",
114    "trace_event_analyzer.h",
115    "trace_to_file.cc",
116    "trace_to_file.h",
117    "user_action_tester.cc",
118    "user_action_tester.h",
119    "values_test_util.cc",
120    "values_test_util.h",
121  ]
122
123  if (is_ios) {
124    sources += [ "launcher/unit_test_launcher_ios.cc" ]
125  } else if (!is_nacl_nonsfi) {
126    sources += [
127      "launcher/test_launcher.cc",
128      "launcher/test_launcher.h",
129      "launcher/test_results_tracker.cc",
130      "launcher/unit_test_launcher.cc",
131      "multiprocess_test.cc",
132      "multiprocess_test_android.cc",
133    ]
134  }
135
136  configs += [ "//build/config:precompiled_headers" ]
137
138  data = [
139    # The isolate needs this script for setting up the test. It's not actually
140    # needed to run this target locally.
141    "//testing/test_env.py",
142  ]
143
144  public_deps = [
145    ":test_config",
146    "//base",
147    "//base:base_static",
148    "//base:i18n",
149  ]
150  deps = [
151    "//base/third_party/dynamic_annotations",
152    "//testing/gmock",
153    "//testing/gtest",
154    "//third_party/icu:icuuc",
155    "//third_party/libxml",
156  ]
157
158  if (!is_posix) {
159    sources -= [
160      "scoped_locale.cc",
161      "scoped_locale.h",
162    ]
163  }
164
165  if (is_ios) {
166    set_sources_assignment_filter([])
167    sources += [ "test_file_util_mac.cc" ]
168    set_sources_assignment_filter(sources_assignment_filter)
169  }
170
171  if (is_android) {
172    deps += [ ":base_unittests_jni_headers" ]
173  }
174
175  if (is_nacl_nonsfi) {
176    sources += [
177      "launcher/test_launcher.h",
178      "launcher/test_result.h",
179      "launcher/unit_test_launcher.h",
180      "launcher/unit_test_launcher_nacl_nonsfi.cc",
181    ]
182    sources -= [
183      "gtest_xml_util.cc",
184      "gtest_xml_util.h",
185      "perf_test_suite.cc",
186      "perf_test_suite.h",
187      "scoped_path_override.cc",
188      "scoped_path_override.h",
189      "test_discardable_memory_allocator.cc",
190      "test_discardable_memory_allocator.h",
191      "test_file_util.cc",
192      "test_file_util.h",
193      "test_file_util_posix.cc",
194      "test_suite.cc",
195      "test_suite.h",
196      "trace_to_file.cc",
197      "trace_to_file.h",
198    ]
199    public_deps -= [ "//base:i18n" ]
200    deps -= [
201      "//third_party/icu:icuuc",
202      "//third_party/libxml",
203    ]
204  }
205}
206
207config("perf_test_config") {
208  defines = [ "PERF_TEST" ]
209}
210
211source_set("test_support_perf") {
212  testonly = true
213  sources = [
214    "run_all_perftests.cc",
215  ]
216  deps = [
217    ":test_support",
218    "//base",
219    "//testing/gtest",
220  ]
221
222  public_configs = [ ":perf_test_config" ]
223}
224
225source_set("test_launcher_nacl_nonsfi") {
226  testonly = true
227  sources = [
228    "launcher/test_launcher_nacl_nonsfi.cc",
229    "launcher/test_launcher_nacl_nonsfi.h",
230  ]
231  deps = [
232    ":test_support",
233  ]
234}
235
236source_set("run_all_unittests") {
237  testonly = true
238  sources = [
239    "run_all_unittests.cc",
240  ]
241  deps = [
242    ":test_support",
243  ]
244}
245
246if (is_linux) {
247  shared_library("malloc_wrapper") {
248    testonly = true
249    sources = [
250      "malloc_wrapper.cc",
251    ]
252    deps = [
253      "//base",
254      "//build/config/sanitizers:deps",
255    ]
256  }
257}
258
259if (is_android) {
260  generate_jni("base_unittests_jni_headers") {
261    sources = [
262      "android/java/src/org/chromium/base/ContentUriTestUtils.java",
263      "android/java/src/org/chromium/base/TestUiThread.java",
264    ]
265    jni_package = "base"
266  }
267}
268