ProjectingObserverChromeos: Drop DBusThreadManager dependency for better testing.
[chromium-blink-merge.git] / base / test / BUILD.gn
blobadd74cba4bcc2e455819f8f7c3b2ab0ee6c475c6
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 import("//build/config/ui.gni")
7 if (is_android) {
8   import("//build/config/android/rules.gni")
11 # GYP: //base/base.gyp:test_support_base
12 source_set("test_support") {
13   # TODO http://crbug.com/412064 enable this flag all the time.
14   testonly = !is_component_build
15   sources = [
16     "expectations/expectation.cc",
17     "expectations/expectation.h",
18     "expectations/parser.cc",
19     "expectations/parser.h",
20     "gtest_xml_util.cc",
21     "gtest_xml_util.h",
22     "histogram_tester.cc",
23     "histogram_tester.h",
24     "launcher/test_launcher.cc",
25     "launcher/test_launcher.h",
26     "launcher/test_result.cc",
27     "launcher/test_result.h",
28     "launcher/test_results_tracker.cc",
29     "launcher/test_results_tracker.h",
30     "launcher/unit_test_launcher.cc",
31     "launcher/unit_test_launcher.h",
32     "launcher/unit_test_launcher_ios.cc",
33     "mock_chrome_application_mac.h",
34     "mock_chrome_application_mac.mm",
35     "mock_devices_changed_observer.cc",
36     "mock_devices_changed_observer.h",
37     "mock_time_provider.cc",
38     "mock_time_provider.h",
39     "multiprocess_test.cc",
40     "multiprocess_test.h",
41     "multiprocess_test_android.cc",
42     "null_task_runner.cc",
43     "null_task_runner.h",
44     "perf_log.cc",
45     "perf_log.h",
46     "perf_test_suite.cc",
47     "perf_test_suite.h",
48     "perf_time_logger.cc",
49     "perf_time_logger.h",
50     "power_monitor_test_base.cc",
51     "power_monitor_test_base.h",
52     "scoped_locale.cc",
53     "scoped_locale.h",
54     "scoped_path_override.cc",
55     "scoped_path_override.h",
56     "sequenced_task_runner_test_template.cc",
57     "sequenced_task_runner_test_template.h",
58     "sequenced_worker_pool_owner.cc",
59     "sequenced_worker_pool_owner.h",
60     "simple_test_clock.cc",
61     "simple_test_clock.h",
62     "simple_test_tick_clock.cc",
63     "simple_test_tick_clock.h",
64     "task_runner_test_template.cc",
65     "task_runner_test_template.h",
66     "test_file_util.cc",
67     "test_file_util.h",
68     "test_file_util_android.cc",
69     "test_file_util_linux.cc",
70     "test_file_util_mac.cc",
71     "test_file_util_posix.cc",
72     "test_file_util_win.cc",
73     "test_io_thread.cc",
74     "test_io_thread.h",
75     "test_listener_ios.h",
76     "test_listener_ios.mm",
77     "test_pending_task.cc",
78     "test_pending_task.h",
79     "test_reg_util_win.cc",
80     "test_reg_util_win.h",
81     "test_shortcut_win.cc",
82     "test_shortcut_win.h",
83     "test_simple_task_runner.cc",
84     "test_simple_task_runner.h",
85     "test_suite.cc",
86     "test_suite.h",
87     "test_support_android.cc",
88     "test_support_android.h",
89     "test_support_ios.h",
90     "test_support_ios.mm",
91     "test_switches.cc",
92     "test_switches.h",
93     "test_timeouts.cc",
94     "test_timeouts.h",
95     "thread_test_helper.cc",
96     "thread_test_helper.h",
97     "trace_event_analyzer.cc",
98     "trace_event_analyzer.h",
99     "trace_to_file.cc",
100     "trace_to_file.h",
101     "values_test_util.cc",
102     "values_test_util.h",
103   ]
105   public_deps = [
106     "//base",
107     "//base:i18n",
108     "//base:base_static",
109   ]
110   deps = [
111     "//base/third_party/dynamic_annotations",
112     "//testing/gmock",
113     "//testing/gtest",
114     "//third_party/libxml"
115   ]
117   if (!is_posix) {
118     sources -= [
119       "scoped_locale.cc",
120       "scoped_locale.h",
121     ]
122   }
123   if (is_ios) {
124     # iOS uses its own unit test launcher.
125     sources -= [ "launcher/unit_test_launcher.cc" ]
127     # Pull in specific Mac files for iOS (which have been filtered out
128     # by file name rules).
129     set_sources_assignment_filter([])
130     sources += [ "test_file_util_mac.cc" ]
131   }
133   if (is_android) {
134     deps += [ ":base_unittests_jni_headers" ]
135   }
138 config("perf_test_config") {
139   defines = [ "PERF_TEST" ]
142 source_set("test_support_perf") {
143   testonly = true
144   sources = [
145     "run_all_perftests.cc",
146   ]
147   deps = [
148     ":test_support",
149     "//base",
150     "//testing/gtest",
151   ]
153   public_configs = [ ":perf_test_config" ]
156 source_set("run_all_unittests") {
157   testonly = true
158   sources = [
159     "run_all_unittests.cc",
160   ]
161   deps = [
162     ":test_support",
163   ]
166 if (is_android) {
167   generate_jni("base_unittests_jni_headers") {
168     sources = [
169       "android/java/src/org/chromium/base/ContentUriTestUtils.java",
170     ]
171     jni_package = "base"
172   }