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

Side by Side Diff: testing/test.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: Rebase 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
« no previous file with comments | « sync/BUILD.gn ('k') | third_party/libaddressinput/BUILD.gn » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2015 The Chromium Authors. All rights reserved. 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 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 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.
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 if (!defined(invoker.use_launcher) || invoker.use_launcher) {
70 deps += [ "//testing/android:native_test_native_code" ]
71 }
72 if (defined(invoker.deps)) {
73 deps += invoker.deps
74 }
75 if (defined(invoker.direct_dependent_configs)) {
76 direct_dependent_configs = invoker.direct_dependent_configs
77 }
78 if (defined(invoker.forward_dependent_configs_from)) {
79 forward_dependent_configs_from = invoker.forward_dependent_configs_from
80 }
81 if (defined(invoker.include_dirs)) {
82 include_dirs = invoker.include_dirs
83 }
84 if (defined(invoker.ldflags)) {
85 ldflags = invoker.ldflags
86 }
87 if (defined(invoker.lib_dirs)) {
88 lib_dirs = invoker.lib_dirs
89 }
90 if (defined(invoker.libs)) {
91 libs = invoker.libs
92 }
93 if (defined(invoker.output_extension)) {
94 output_extension = invoker.output_extension
95 }
96 if (defined(invoker.output_name)) {
97 output_name = invoker.output_name
98 }
99 if (defined(invoker.public)) {
100 public = invoker.public
101 }
102 if (defined(invoker.public_configs)) {
103 public_configs = invoker.public_configs
104 }
105 if (defined(invoker.public_deps)) {
106 public_deps = invoker.public_deps
107 }
108 if (defined(invoker.sources)) {
109 sources = invoker.sources
110 }
111 if (defined(invoker.visibility)) {
112 visibility = invoker.visibility
113 }
114 }
115
116 unittest_apk(apk_name) {
117 unittests_dep = ":$library_name"
118 apk_name = main_target_name
119 if (defined(invoker.output_name)) {
120 test_output_name = invoker.output_name
121 unittests_binary = "lib${test_output_name}.so"
122 }
123 deps = [
124 ":$library_name",
125 ]
126 if (defined(invoker.apk_deps)) {
127 deps += invoker.apk_deps
128 }
129 }
130
131 group(target_name) {
132 testonly = true
133
134 deps = [
135 ":$library_name",
136 ":$apk_name",
137 ]
138 }
139 } else {
140 executable(target_name) {
141 # See above.
142 configs = [] # Prevent list overwriting warning.
143 configs = invoker.configs
144
145 # See above call.
146 set_sources_assignment_filter([])
147
148 testonly = true
149
150 if (defined(invoker.all_dependent_configs)) {
151 all_dependent_configs = invoker.all_dependent_configs
152 }
153 if (defined(invoker.allow_circular_includes_from)) {
154 allow_circular_includes_from = invoker.allow_circular_includes_from
155 }
156 if (defined(invoker.cflags)) {
157 cflags = invoker.cflags
158 }
159 if (defined(invoker.cflags_c)) {
160 cflags_c = invoker.cflags_c
161 }
162 if (defined(invoker.cflags_cc)) {
163 cflags_cc = invoker.cflags_cc
164 }
165 if (defined(invoker.cflags_objc)) {
166 cflags_objc = invoker.cflags_objc
167 }
168 if (defined(invoker.cflags_objcc)) {
169 cflags_objcc = invoker.cflags_objcc
170 }
171 if (defined(invoker.check_includes)) {
172 check_includes = invoker.check_includes
173 }
174 if (defined(invoker.data)) {
175 data = invoker.data
176 }
177 if (defined(invoker.data_deps)) {
178 data_deps = invoker.data_deps
179 }
180 if (defined(invoker.datadeps)) {
181 datadeps = invoker.datadeps
182 }
183 if (defined(invoker.defines)) {
184 defines = invoker.defines
185 }
186
187 # All shared libraries must have the sanitizer deps to properly link in
188 # asan mode (this target will be empty in other cases).
189 if (defined(invoker.deps)) {
190 deps = invoker.deps + [ "//build/config/sanitizers:deps" ]
191 } else {
192 deps = [
193 "//build/config/sanitizers:deps",
194 ]
195 }
196 if (defined(invoker.direct_dependent_configs)) {
197 direct_dependent_configs = invoker.direct_dependent_configs
198 }
199 if (defined(invoker.forward_dependent_configs_from)) {
200 forward_dependent_configs_from = invoker.forward_dependent_configs_from
201 }
202 if (defined(invoker.include_dirs)) {
203 include_dirs = invoker.include_dirs
204 }
205 if (defined(invoker.ldflags)) {
206 ldflags = invoker.ldflags
207 }
208 if (defined(invoker.lib_dirs)) {
209 lib_dirs = invoker.lib_dirs
210 }
211 if (defined(invoker.libs)) {
212 libs = invoker.libs
213 }
214 if (defined(invoker.output_extension)) {
215 output_extension = invoker.output_extension
216 }
217 if (defined(invoker.output_name)) {
218 output_name = invoker.output_name
219 }
220 if (defined(invoker.public)) {
221 public = invoker.public
222 }
223 if (defined(invoker.public_configs)) {
224 public_configs = invoker.public_configs
225 }
226 if (defined(invoker.public_deps)) {
227 public_deps = invoker.public_deps
228 }
229 if (defined(invoker.sources)) {
230 sources = invoker.sources
231 }
232 if (defined(invoker.visibility)) {
233 visibility = invoker.visibility
234 }
235 }
236 }
237 }
OLDNEW
« no previous file with comments | « sync/BUILD.gn ('k') | third_party/libaddressinput/BUILD.gn » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698