Chromium Code Reviews| OLD | NEW |
|---|---|
| (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 } | |
| OLD | NEW |