1 target_config = { 2 3 # Configuration syntax: 4 # 5 # Required keys: (Use one or more of these) 6 # * golem - specify a golem machine-type to build, e.g. android-armv8 7 # (uses art/tools/golem/build-target.sh) 8 # * make - specify a make target to build, e.g. build-art-host 9 # * run-test - runs the tests in art/test/ directory with testrunner.py, 10 # specify a list of arguments to pass to testrunner.py 11 # 12 # Optional keys: (Use any of these) 13 # * env - Add additional environment variable to the current environment. 14 # 15 # *** IMPORTANT ***: 16 # This configuration is used by the android build server. Targets must not be renamed 17 # or removed. 18 # 19 20 ########################################## 21 22 # General ART configurations. 23 # Calls make and testrunner both. 24 25 'art-test' : { 26 'make' : 'test-art-host-gtest', 27 'run-test' : [] 28 }, 29 30 'art-test-javac' : { 31 'run-test' : ['--jvm'] 32 }, 33 34 # ART run-test configurations 35 # (calls testrunner which builds and then runs the test targets) 36 37 'art-ndebug' : { 38 'run-test' : ['--ndebug'] 39 }, 40 'art-interpreter' : { 41 'run-test' : ['--interpreter'] 42 }, 43 'art-interpreter-cxx' : { 44 'run-test' : ['--interpreter'], 45 'env' : { 46 'ART_USE_CXX_INTERPRETER' : 'true' 47 } 48 }, 49 'art-interpreter-access-checks' : { 50 'run-test' : ['--interp-ac'] 51 }, 52 'art-jit' : { 53 'run-test' : ['--jit', '--debuggable', '--ndebuggable'] 54 }, 55 'art-jit-on-first-use' : { 56 'run-test' : ['--jit-on-first-use'] 57 }, 58 'art-pictest' : { 59 # Deprecated config: All AOT-compiled code is PIC now. 60 'run-test' : ['--optimizing'] 61 }, 62 'art-gcstress-gcverify': { 63 # Do not exercise '--interpreter', '--optimizing', nor '--jit' in this 64 # configuration, as they are covered by the 65 # 'art-interpreter-gcstress-gcverify', 66 # 'art-optimizing-gcstress-gcverify' and 'art-jit-gcstress-gcverify' 67 # configurations below. 68 'run-test': ['--interp-ac', 69 '--speed-profile', 70 '--gcstress', 71 '--gcverify'] 72 }, 73 'art-interpreter-gcstress-gcverify' : { 74 'run-test' : ['--interpreter', 75 '--gcstress', 76 '--gcverify'] 77 }, 78 'art-optimizing-gcstress-gcverify' : { 79 'run-test' : ['--optimizing', 80 '--gcstress', 81 '--gcverify'] 82 }, 83 'art-jit-gcstress-gcverify' : { 84 'run-test' : ['--jit', 85 '--gcstress', 86 '--gcverify'] 87 }, 88 'art-jit-on-first-use-gcstress' : { 89 'run-test' : ['--jit-on-first-use', 90 '--gcstress'] 91 }, 92 'art-read-barrier-heap-poisoning' : { 93 'run-test': ['--interpreter', 94 '--optimizing'], 95 'env' : { 96 'ART_HEAP_POISONING' : 'true' 97 } 98 }, 99 'art-read-barrier-table-lookup' : { 100 'run-test' : ['--interpreter', 101 '--optimizing'], 102 'env' : { 103 'ART_READ_BARRIER_TYPE' : 'TABLELOOKUP', 104 'ART_HEAP_POISONING' : 'true' 105 } 106 }, 107 'art-debug-gc' : { 108 'run-test' : ['--interpreter', 109 '--optimizing'], 110 'env' : { 111 'ART_TEST_DEBUG_GC' : 'true', 112 'ART_USE_READ_BARRIER' : 'false' 113 } 114 }, 115 # TODO: Consider removing this configuration when it is no longer used by 116 # any continuous testing target (b/62611253), as the SS collector overlaps 117 # with the CC collector, since both move objects. 118 'art-ss-gc' : { 119 'run-test' : ['--interpreter', 120 '--optimizing', 121 '--jit'], 122 'env' : { 123 'ART_DEFAULT_GC_TYPE' : 'SS', 124 'ART_USE_READ_BARRIER' : 'false' 125 } 126 }, 127 # TODO: Remove this configuration (b/62611253) when the GSS collector is removed (b/73295078). 128 'art-gss-gc' : { 129 'run-test' : ['--interpreter', 130 '--optimizing', 131 '--jit'], 132 'env' : { 133 'ART_DEFAULT_GC_TYPE' : 'GSS', 134 'ART_USE_READ_BARRIER' : 'false' 135 } 136 }, 137 # TODO: Consider removing this configuration when it is no longer used by 138 # any continuous testing target (b/62611253), as the SS collector overlaps 139 # with the CC collector, since both move objects. 140 'art-ss-gc-tlab' : { 141 'run-test' : ['--interpreter', 142 '--optimizing', 143 '--jit'], 144 'env' : { 145 'ART_DEFAULT_GC_TYPE' : 'SS', 146 'ART_USE_TLAB' : 'true', 147 'ART_USE_READ_BARRIER' : 'false' 148 } 149 }, 150 # TODO: Remove this configuration (b/62611253) when the GSS collector is removed (b/73295078). 151 'art-gss-gc-tlab' : { 152 'run-test' : ['--interpreter', 153 '--optimizing', 154 '--jit'], 155 'env' : { 156 'ART_DEFAULT_GC_TYPE' : 'GSS', 157 'ART_USE_TLAB' : 'true', 158 'ART_USE_READ_BARRIER' : 'false' 159 } 160 }, 161 'art-tracing' : { 162 'run-test' : ['--trace'] 163 }, 164 'art-interpreter-tracing' : { 165 'run-test' : ['--interpreter', 166 '--trace'] 167 }, 168 'art-forcecopy' : { 169 'run-test' : ['--forcecopy'] 170 }, 171 'art-no-prebuild' : { 172 'run-test' : ['--no-prebuild'] 173 }, 174 'art-no-image' : { 175 'run-test' : ['--no-image'] 176 }, 177 'art-interpreter-no-image' : { 178 'run-test' : ['--interpreter', 179 '--no-image'] 180 }, 181 'art-heap-poisoning' : { 182 'run-test' : ['--interpreter', 183 '--optimizing', 184 '--cdex-none'], 185 'env' : { 186 'ART_USE_READ_BARRIER' : 'false', 187 'ART_HEAP_POISONING' : 'true', 188 # Disable compact dex to get coverage of standard dex file usage. 189 'ART_DEFAULT_COMPACT_DEX_LEVEL' : 'none' 190 } 191 }, 192 'art-preopt' : { 193 # This test configuration is intended to be representative of the case 194 # of preopted apps, which are precompiled against an 195 # unrelocated image, then used with a relocated image. 196 'run-test' : ['--prebuild', 197 '--relocate', 198 '--jit'] 199 }, 200 201 # ART gtest configurations 202 # (calls make 'target' which builds and then runs the gtests). 203 204 'art-gtest' : { 205 'make' : 'test-art-host-gtest' 206 }, 207 'art-gtest-read-barrier': { 208 'make' : 'test-art-host-gtest', 209 'env' : { 210 'ART_HEAP_POISONING' : 'true' 211 } 212 }, 213 'art-gtest-read-barrier-table-lookup': { 214 'make' : 'test-art-host-gtest', 215 'env': { 216 'ART_READ_BARRIER_TYPE' : 'TABLELOOKUP', 217 'ART_HEAP_POISONING' : 'true' 218 } 219 }, 220 # TODO: Consider removing this configuration when it is no longer used by 221 # any continuous testing target (b/62611253), as the SS collector overlaps 222 # with the CC collector, since both move objects. 223 'art-gtest-ss-gc': { 224 'make' : 'test-art-host-gtest', 225 'env': { 226 'ART_DEFAULT_GC_TYPE' : 'SS', 227 'ART_USE_READ_BARRIER' : 'false', 228 # Disable compact dex to get coverage of standard dex file usage. 229 'ART_DEFAULT_COMPACT_DEX_LEVEL' : 'none' 230 } 231 }, 232 # TODO: Remove this configuration (b/62611253) when the GSS collector is removed (b/73295078). 233 'art-gtest-gss-gc': { 234 'make' : 'test-art-host-gtest', 235 'env' : { 236 'ART_DEFAULT_GC_TYPE' : 'GSS', 237 'ART_USE_READ_BARRIER' : 'false' 238 } 239 }, 240 # TODO: Consider removing this configuration when it is no longer used by 241 # any continuous testing target (b/62611253), as the SS collector overlaps 242 # with the CC collector, since both move objects. 243 'art-gtest-ss-gc-tlab': { 244 'make' : 'test-art-host-gtest', 245 'env': { 246 'ART_DEFAULT_GC_TYPE' : 'SS', 247 'ART_USE_TLAB' : 'true', 248 'ART_USE_READ_BARRIER' : 'false', 249 } 250 }, 251 # TODO: Remove this configuration (b/62611253) when the GSS collector is removed (b/73295078). 252 'art-gtest-gss-gc-tlab': { 253 'make' : 'test-art-host-gtest', 254 'env': { 255 'ART_DEFAULT_GC_TYPE' : 'GSS', 256 'ART_USE_TLAB' : 'true', 257 'ART_USE_READ_BARRIER' : 'false' 258 } 259 }, 260 'art-gtest-debug-gc' : { 261 'make' : 'test-art-host-gtest', 262 'env' : { 263 'ART_TEST_DEBUG_GC' : 'true', 264 'ART_USE_READ_BARRIER' : 'false' 265 } 266 }, 267 'art-generational-cc': { 268 'make' : 'test-art-host-gtest', 269 'run-test' : [], 270 'env' : { 271 'ART_USE_GENERATIONAL_CC' : 'true' 272 } 273 }, 274 275 # ASAN (host) configurations. 276 277 # These configurations need detect_leaks=0 to work in non-setup environments like build bots, 278 # as our build tools leak. b/37751350 279 280 'art-gtest-asan': { 281 'make' : 'test-art-host-gtest', 282 'env': { 283 'SANITIZE_HOST' : 'address', 284 'ASAN_OPTIONS' : 'detect_leaks=0' 285 } 286 }, 287 'art-asan': { 288 'run-test' : ['--interpreter', 289 '--interp-ac', 290 '--optimizing', 291 '--jit', 292 '--speed-profile'], 293 'env': { 294 'SANITIZE_HOST' : 'address', 295 'ASAN_OPTIONS' : 'detect_leaks=0' 296 } 297 }, 298 'art-gtest-heap-poisoning': { 299 'make' : 'test-art-host-gtest', 300 'env' : { 301 'ART_HEAP_POISONING' : 'true', 302 'ART_USE_READ_BARRIER' : 'false', 303 'SANITIZE_HOST' : 'address', 304 'ASAN_OPTIONS' : 'detect_leaks=0' 305 } 306 }, 307 308 # ART Golem build targets used by go/lem (continuous ART benchmarking), 309 # (art-opt-cc is used by default since it mimics the default preopt config), 310 # 311 # calls golem/build-target.sh which builds a golem tarball of the target name, 312 # e.g. 'golem: android-armv7' produces an 'android-armv7.tar.gz' upon success. 313 314 'art-golem-android-armv7': { 315 'golem' : 'android-armv7' 316 }, 317 'art-golem-android-armv8': { 318 'golem' : 'android-armv8' 319 }, 320 'art-golem-linux-armv7': { 321 'golem' : 'linux-armv7' 322 }, 323 'art-golem-linux-armv8': { 324 'golem' : 'linux-armv8' 325 }, 326 'art-golem-linux-ia32': { 327 'golem' : 'linux-ia32' 328 }, 329 'art-golem-linux-x64': { 330 'golem' : 'linux-x64' 331 }, 332 'art-linux-bionic-x64': { 333 'build': '{ANDROID_BUILD_TOP}/art/tools/build_linux_bionic_tests.sh {MAKE_OPTIONS}', 334 'run-test': ['--run-test-option=--bionic', 335 '--host', 336 '--64', 337 '--no-build-dependencies'], 338 }, 339 'art-linux-bionic-x64-zipapex': { 340 'build': '{ANDROID_BUILD_TOP}/art/tools/build_linux_bionic_tests.sh {MAKE_OPTIONS} com.android.runtime.host', 341 'run-test': ['--run-test-option=--bionic', 342 "--runtime-zipapex={SOONG_OUT_DIR}/host/linux_bionic-x86/apex/com.android.runtime.host.zipapex", 343 '--host', 344 '--64', 345 '--no-build-dependencies'], 346 }, 347 } 348