1target_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: Consider removing this configuration when it is no longer used by 128 # any continuous testing target (b/62611253), as the SS collector overlaps 129 # with the CC collector, since both move objects. 130 'art-ss-gc-tlab' : { 131 'run-test' : ['--interpreter', 132 '--optimizing', 133 '--jit'], 134 'env' : { 135 'ART_DEFAULT_GC_TYPE' : 'SS', 136 'ART_USE_TLAB' : 'true', 137 'ART_USE_READ_BARRIER' : 'false' 138 } 139 }, 140 'art-tracing' : { 141 'run-test' : ['--trace'] 142 }, 143 'art-interpreter-tracing' : { 144 'run-test' : ['--interpreter', 145 '--trace'] 146 }, 147 'art-forcecopy' : { 148 'run-test' : ['--forcecopy'] 149 }, 150 'art-no-prebuild' : { 151 'run-test' : ['--no-prebuild'] 152 }, 153 'art-no-image' : { 154 'run-test' : ['--no-image'] 155 }, 156 'art-interpreter-no-image' : { 157 'run-test' : ['--interpreter', 158 '--no-image'] 159 }, 160 'art-heap-poisoning' : { 161 'run-test' : ['--interpreter', 162 '--optimizing', 163 '--cdex-none'], 164 'env' : { 165 'ART_USE_READ_BARRIER' : 'false', 166 'ART_HEAP_POISONING' : 'true', 167 # Disable compact dex to get coverage of standard dex file usage. 168 'ART_DEFAULT_COMPACT_DEX_LEVEL' : 'none' 169 } 170 }, 171 'art-preopt' : { 172 # This test configuration is intended to be representative of the case 173 # of preopted apps, which are precompiled against an 174 # unrelocated image, then used with a relocated image. 175 'run-test' : ['--prebuild', 176 '--relocate', 177 '--jit'] 178 }, 179 180 # ART gtest configurations 181 # (calls make 'target' which builds and then runs the gtests). 182 183 'art-gtest' : { 184 'make' : 'test-art-host-gtest' 185 }, 186 'art-gtest-read-barrier': { 187 'make' : 'test-art-host-gtest', 188 'env' : { 189 'ART_HEAP_POISONING' : 'true' 190 } 191 }, 192 'art-gtest-read-barrier-table-lookup': { 193 'make' : 'test-art-host-gtest', 194 'env': { 195 'ART_READ_BARRIER_TYPE' : 'TABLELOOKUP', 196 'ART_HEAP_POISONING' : 'true' 197 } 198 }, 199 # TODO: Consider removing this configuration when it is no longer used by 200 # any continuous testing target (b/62611253), as the SS collector overlaps 201 # with the CC collector, since both move objects. 202 'art-gtest-ss-gc': { 203 'make' : 'test-art-host-gtest', 204 'env': { 205 'ART_DEFAULT_GC_TYPE' : 'SS', 206 'ART_USE_READ_BARRIER' : 'false', 207 # Disable compact dex to get coverage of standard dex file usage. 208 'ART_DEFAULT_COMPACT_DEX_LEVEL' : 'none' 209 } 210 }, 211 # TODO: Consider removing this configuration when it is no longer used by 212 # any continuous testing target (b/62611253), as the SS collector overlaps 213 # with the CC collector, since both move objects. 214 'art-gtest-ss-gc-tlab': { 215 'make' : 'test-art-host-gtest', 216 'env': { 217 'ART_DEFAULT_GC_TYPE' : 'SS', 218 'ART_USE_TLAB' : 'true', 219 'ART_USE_READ_BARRIER' : 'false', 220 } 221 }, 222 'art-gtest-debug-gc' : { 223 'make' : 'test-art-host-gtest', 224 'env' : { 225 'ART_TEST_DEBUG_GC' : 'true', 226 'ART_USE_READ_BARRIER' : 'false' 227 } 228 }, 229 'art-generational-cc': { 230 'make' : 'test-art-host-gtest', 231 'run-test' : [], 232 'env' : { 233 'ART_USE_GENERATIONAL_CC' : 'true' 234 } 235 }, 236 237 # ASAN (host) configurations. 238 239 # These configurations need detect_leaks=0 to work in non-setup environments like build bots, 240 # as our build tools leak. b/37751350 241 242 'art-gtest-asan': { 243 'make' : 'test-art-host-gtest', 244 'env': { 245 'SANITIZE_HOST' : 'address', 246 'ASAN_OPTIONS' : 'detect_leaks=0' 247 } 248 }, 249 'art-asan': { 250 'run-test' : ['--interpreter', 251 '--interp-ac', 252 '--optimizing', 253 '--jit', 254 '--speed-profile'], 255 'env': { 256 'SANITIZE_HOST' : 'address', 257 'ASAN_OPTIONS' : 'detect_leaks=0' 258 } 259 }, 260 'art-gtest-heap-poisoning': { 261 'make' : 'test-art-host-gtest', 262 'env' : { 263 'ART_HEAP_POISONING' : 'true', 264 'ART_USE_READ_BARRIER' : 'false', 265 'SANITIZE_HOST' : 'address', 266 'ASAN_OPTIONS' : 'detect_leaks=0' 267 } 268 }, 269 270 # ART Golem build targets used by go/lem (continuous ART benchmarking), 271 # (art-opt-cc is used by default since it mimics the default preopt config), 272 # 273 # calls golem/build-target.sh which builds a golem tarball of the target name, 274 # e.g. 'golem: android-armv7' produces an 'android-armv7.tar.gz' upon success. 275 276 'art-golem-android-armv7': { 277 'golem' : 'android-armv7' 278 }, 279 'art-golem-android-armv8': { 280 'golem' : 'android-armv8' 281 }, 282 'art-golem-linux-armv7': { 283 'golem' : 'linux-armv7' 284 }, 285 'art-golem-linux-armv8': { 286 'golem' : 'linux-armv8' 287 }, 288 'art-golem-linux-ia32': { 289 'golem' : 'linux-ia32' 290 }, 291 'art-golem-linux-x64': { 292 'golem' : 'linux-x64' 293 }, 294 'art-linux-bionic-x64': { 295 'build': '{ANDROID_BUILD_TOP}/art/tools/build_linux_bionic_tests.sh {MAKE_OPTIONS}', 296 'run-test': ['--run-test-option=--bionic', 297 '--host', 298 '--64', 299 '--no-build-dependencies'], 300 }, 301 'art-linux-bionic-x64-zipapex': { 302 'build': '{ANDROID_BUILD_TOP}/art/tools/build_linux_bionic_tests.sh {MAKE_OPTIONS} com.android.art.host', 303 'run-test': ['--run-test-option=--bionic', 304 "--runtime-zipapex={SOONG_OUT_DIR}/host/linux_bionic-x86/apex/com.android.art.host.zipapex", 305 '--host', 306 '--64', 307 '--no-build-dependencies'], 308 }, 309} 310