Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(146)

Side by Side Diff: testing/rules.gni

Issue 824263004: Move the test template to //testing/test.gni (part 2) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 # Copyright 2015 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
5 # ==============================================================================
6 # TEST SETUP
7 # ==============================================================================
8
9 # Define a test as an executable (or apk on Android) with the "testonly" flag
10 # set.
11 template("test") {
12 if (is_android) {
13 import("//build/config/android/config.gni")
14 import("//build/config/android/rules.gni")
15
16 main_target_name = target_name
17 library_name = "${target_name}__library"
18 apk_name = "${target_name}_apk"
19
20 shared_library(library_name) {
21 # Configs will always be defined since we set_defaults for a component
22 # in the main config. We want to use those rather than whatever came with
23 # the nested shared/static library inside the component.
24 configs = [] # Prevent list overwriting warning.
25 configs = invoker.configs
26
27 # See above call.
cjhopman 2015/01/12 18:36:12 Might want to bring the relevant comment from BUIL
28 set_sources_assignment_filter([])
29
30 testonly = true
31
32 if (defined(invoker.all_dependent_configs)) {
33 all_dependent_configs = invoker.all_dependent_configs
34 }
35 if (defined(invoker.allow_circular_includes_from)) {
36 allow_circular_includes_from = invoker.allow_circular_includes_from
37 }
38 if (defined(invoker.cflags)) {
39 cflags = invoker.cflags
40 }
41 if (defined(invoker.cflags_c)) {
42 cflags_c = invoker.cflags_c
43 }
44 if (defined(invoker.cflags_cc)) {
45 cflags_cc = invoker.cflags_cc
46 }
47 if (defined(invoker.cflags_objc)) {
48 cflags_objc = invoker.cflags_objc
49 }
50 if (defined(invoker.cflags_objcc)) {
51 cflags_objcc = invoker.cflags_objcc
52 }
53 if (defined(invoker.check_includes)) {
54 check_includes = invoker.check_includes
55 }
56 if (defined(invoker.data)) {
57 data = invoker.data
58 }
59 if (defined(invoker.data_deps)) {
60 data_deps = invoker.data_deps
61 }
62 if (defined(invoker.datadeps)) {
63 datadeps = invoker.datadeps
64 }
65 if (defined(invoker.defines)) {
66 defines = invoker.defines
67 }
68 deps = [
69 "//testing/android:native_test_native_code",
cjhopman 2015/01/12 19:10:22 This is actually the added dependency on //testing
70 ]
71 if (defined(invoker.deps)) {
72 deps += invoker.deps
73 }
74 if (defined(invoker.direct_dependent_configs)) {
75 direct_dependent_configs = invoker.direct_dependent_configs
76 }
77 if (defined(invoker.forward_dependent_configs_from)) {
78 forward_dependent_configs_from = invoker.forward_dependent_configs_from
79 }
80 if (defined(invoker.include_dirs)) {
81 include_dirs = invoker.include_dirs
82 }
83 if (defined(invoker.ldflags)) {
84 ldflags = invoker.ldflags
85 }
86 if (defined(invoker.lib_dirs)) {
87 lib_dirs = invoker.lib_dirs
88 }
89 if (defined(invoker.libs)) {
90 libs = invoker.libs
91 }
92 if (defined(invoker.output_extension)) {
93 output_extension = invoker.output_extension
94 }
95 if (defined(invoker.output_name)) {
96 output_name = invoker.output_name
97 }
98 if (defined(invoker.public)) {
99 public = invoker.public
100 }
101 if (defined(invoker.public_configs)) {
102 public_configs = invoker.public_configs
103 }
104 if (defined(invoker.public_deps)) {
105 public_deps = invoker.public_deps
106 }
107 if (defined(invoker.sources)) {
108 sources = invoker.sources
109 }
110 if (defined(invoker.visibility)) {
111 visibility = invoker.visibility
112 }
113 }
114
115 unittest_apk(apk_name) {
116 unittests_dep = ":$library_name"
117 apk_name = main_target_name
118 if (defined(invoker.output_name)) {
119 test_output_name = invoker.output_name
120 unittests_binary = "lib${test_output_name}.so"
121 }
122 deps = [
123 ":$library_name",
124 ]
125 if (defined(invoker.apk_deps)) {
126 deps += invoker.apk_deps
127 }
128 }
129
130 group(target_name) {
131 testonly = true
132
133 deps = [
134 ":$library_name",
135 ":$apk_name",
136 ]
137 }
138 } else {
139 executable(target_name) {
140 # See above.
141 configs = [] # Prevent list overwriting warning.
142 configs = invoker.configs
143
144 # See above call.
145 set_sources_assignment_filter([])
146
147 testonly = true
148
149 if (defined(invoker.all_dependent_configs)) {
150 all_dependent_configs = invoker.all_dependent_configs
151 }
152 if (defined(invoker.allow_circular_includes_from)) {
153 allow_circular_includes_from = invoker.allow_circular_includes_from
154 }
155 if (defined(invoker.cflags)) {
156 cflags = invoker.cflags
157 }
158 if (defined(invoker.cflags_c)) {
159 cflags_c = invoker.cflags_c
160 }
161 if (defined(invoker.cflags_cc)) {
162 cflags_cc = invoker.cflags_cc
163 }
164 if (defined(invoker.cflags_objc)) {
165 cflags_objc = invoker.cflags_objc
166 }
167 if (defined(invoker.cflags_objcc)) {
168 cflags_objcc = invoker.cflags_objcc
169 }
170 if (defined(invoker.check_includes)) {
171 check_includes = invoker.check_includes
172 }
173 if (defined(invoker.data)) {
174 data = invoker.data
175 }
176 if (defined(invoker.data_deps)) {
177 data_deps = invoker.data_deps
178 }
179 if (defined(invoker.datadeps)) {
180 datadeps = invoker.datadeps
181 }
182 if (defined(invoker.defines)) {
183 defines = invoker.defines
184 }
185
186 # All shared libraries must have the sanitizer deps to properly link in
187 # asan mode (this target will be empty in other cases).
188 if (defined(invoker.deps)) {
189 deps = invoker.deps + [ "//build/config/sanitizers:deps" ]
190 } else {
191 deps = [
192 "//build/config/sanitizers:deps",
193 ]
194 }
195 if (defined(invoker.direct_dependent_configs)) {
196 direct_dependent_configs = invoker.direct_dependent_configs
197 }
198 if (defined(invoker.forward_dependent_configs_from)) {
199 forward_dependent_configs_from = invoker.forward_dependent_configs_from
200 }
201 if (defined(invoker.include_dirs)) {
202 include_dirs = invoker.include_dirs
203 }
204 if (defined(invoker.ldflags)) {
205 ldflags = invoker.ldflags
206 }
207 if (defined(invoker.lib_dirs)) {
208 lib_dirs = invoker.lib_dirs
209 }
210 if (defined(invoker.libs)) {
211 libs = invoker.libs
212 }
213 if (defined(invoker.output_extension)) {
214 output_extension = invoker.output_extension
215 }
216 if (defined(invoker.output_name)) {
217 output_name = invoker.output_name
218 }
219 if (defined(invoker.public)) {
220 public = invoker.public
221 }
222 if (defined(invoker.public_configs)) {
223 public_configs = invoker.public_configs
224 }
225 if (defined(invoker.public_deps)) {
226 public_deps = invoker.public_deps
227 }
228 if (defined(invoker.sources)) {
229 sources = invoker.sources
230 }
231 if (defined(invoker.visibility)) {
232 visibility = invoker.visibility
233 }
234 }
235 }
236 }
OLDNEW
« no previous file with comments | « sync/BUILD.gn ('k') | third_party/libaddressinput/BUILD.gn » ('j') | ui/base/BUILD.gn » ('J')

Powered by Google App Engine
This is Rietveld 408576698