| target_config = { |
| |
| # Configuration syntax: |
| # |
| # Required keys: (Use one or more of these) |
| # * make - specify a make target to build, e.g. build-art-host |
| # * run-test - runs the tests in art/test/ directory with testrunner.py, |
| # specify a list of arguments to pass to testrunner.py |
| # |
| # Optional keys: (Use any of these) |
| # * env - Add additional environment variable to the current environment. |
| # |
| # *** IMPORTANT ***: |
| # This configuration is used by the android build server. Targets must not be renamed |
| # or removed. |
| # |
| |
| ########################################## |
| |
| # General ART configurations. |
| # Calls make and testrunner both. |
| |
| 'art-test' : { |
| 'make' : 'test-art-host-gtest', |
| 'run-test' : [] |
| }, |
| |
| 'art-test-javac' : { |
| 'run-test' : ['--jvm'] |
| }, |
| |
| # ART run-test configurations |
| # (calls testrunner which builds and then runs the test targets) |
| |
| 'art-ndebug' : { |
| 'run-test' : ['--ndebug'] |
| }, |
| 'art-interpreter' : { |
| 'run-test' : ['--interpreter'] |
| }, |
| 'art-interpreter-cxx' : { |
| 'run-test' : ['--interpreter'], |
| 'env' : { |
| 'ART_USE_CXX_INTERPRETER' : 'true' |
| } |
| }, |
| 'art-interpreter-access-checks' : { |
| 'run-test' : ['--interp-ac'] |
| }, |
| 'art-jit' : { |
| 'run-test' : ['--jit', '--debuggable', '--ndebuggable'] |
| }, |
| 'art-jit-on-first-use' : { |
| 'run-test' : ['--jit-on-first-use'] |
| }, |
| 'art-pictest' : { |
| # Deprecated config: All AOT-compiled code is PIC now. |
| 'run-test' : ['--optimizing'] |
| }, |
| 'art-gcstress-gcverify': { |
| # Do not exercise '--interpreter', '--optimizing', nor '--jit' in this |
| # configuration, as they are covered by the |
| # 'art-interpreter-gcstress-gcverify', |
| # 'art-optimizing-gcstress-gcverify' and 'art-jit-gcstress-gcverify' |
| # configurations below. |
| 'run-test': ['--interp-ac', |
| '--speed-profile', |
| '--gcstress', |
| '--gcverify'] |
| }, |
| 'art-interpreter-gcstress-gcverify' : { |
| 'run-test' : ['--interpreter', |
| '--gcstress', |
| '--gcverify'] |
| }, |
| 'art-optimizing-gcstress-gcverify' : { |
| 'run-test' : ['--optimizing', |
| '--gcstress', |
| '--gcverify'] |
| }, |
| 'art-jit-gcstress-gcverify' : { |
| 'run-test' : ['--jit', |
| '--gcstress', |
| '--gcverify'] |
| }, |
| 'art-jit-on-first-use-gcstress' : { |
| 'run-test' : ['--jit-on-first-use', |
| '--gcstress'] |
| }, |
| 'art-read-barrier-heap-poisoning' : { |
| 'run-test': ['--interpreter', |
| '--optimizing'], |
| 'env' : { |
| 'ART_HEAP_POISONING' : 'true' |
| } |
| }, |
| 'art-read-barrier-table-lookup' : { |
| 'run-test' : ['--interpreter', |
| '--optimizing'], |
| 'env' : { |
| 'ART_READ_BARRIER_TYPE' : 'TABLELOOKUP', |
| 'ART_HEAP_POISONING' : 'true' |
| } |
| }, |
| 'art-debug-gc' : { |
| 'run-test' : ['--interpreter', |
| '--optimizing'], |
| 'env' : { |
| 'ART_TEST_DEBUG_GC' : 'true', |
| 'ART_USE_READ_BARRIER' : 'false' |
| } |
| }, |
| # TODO: Consider removing this configuration when it is no longer used by |
| # any continuous testing target (b/62611253), as the SS collector overlaps |
| # with the CC collector, since both move objects. |
| 'art-ss-gc' : { |
| 'run-test' : ['--interpreter', |
| '--optimizing', |
| '--jit'], |
| 'env' : { |
| 'ART_DEFAULT_GC_TYPE' : 'SS', |
| 'ART_USE_READ_BARRIER' : 'false' |
| } |
| }, |
| # TODO: Consider removing this configuration when it is no longer used by |
| # any continuous testing target (b/62611253), as the SS collector overlaps |
| # with the CC collector, since both move objects. |
| 'art-ss-gc-tlab' : { |
| 'run-test' : ['--interpreter', |
| '--optimizing', |
| '--jit'], |
| 'env' : { |
| 'ART_DEFAULT_GC_TYPE' : 'SS', |
| 'ART_USE_TLAB' : 'true', |
| 'ART_USE_READ_BARRIER' : 'false' |
| } |
| }, |
| 'art-tracing' : { |
| 'run-test' : ['--trace', |
| '--stream'] |
| }, |
| 'art-interpreter-tracing' : { |
| 'run-test' : ['--interpreter', |
| '--trace'] |
| }, |
| 'art-forcecopy' : { |
| 'run-test' : ['--forcecopy'] |
| }, |
| 'art-no-prebuild' : { |
| 'run-test' : ['--no-prebuild'] |
| }, |
| 'art-no-image' : { |
| 'run-test' : ['--no-image'] |
| }, |
| 'art-interpreter-no-image' : { |
| 'run-test' : ['--interpreter', |
| '--no-image'] |
| }, |
| 'art-heap-poisoning' : { |
| 'run-test' : ['--interpreter', |
| '--optimizing'], |
| 'env' : { |
| 'ART_USE_READ_BARRIER' : 'false', |
| 'ART_HEAP_POISONING' : 'true' |
| } |
| }, |
| 'art-preopt' : { |
| # This test configuration is intended to be representative of the case |
| # of preopted apps, which are precompiled against an |
| # unrelocated image, then used with a relocated image. |
| 'run-test' : ['--prebuild', |
| '--relocate', |
| '--jit'] |
| }, |
| |
| # ART gtest configurations |
| # (calls make 'target' which builds and then runs the gtests). |
| |
| 'art-gtest' : { |
| 'make' : 'test-art-host-gtest' |
| }, |
| 'art-gtest-read-barrier': { |
| 'make' : 'test-art-host-gtest', |
| 'env' : { |
| 'ART_HEAP_POISONING' : 'true' |
| } |
| }, |
| 'art-gtest-read-barrier-table-lookup': { |
| 'make' : 'test-art-host-gtest', |
| 'env': { |
| 'ART_READ_BARRIER_TYPE' : 'TABLELOOKUP', |
| 'ART_HEAP_POISONING' : 'true' |
| } |
| }, |
| # TODO: Consider removing this configuration when it is no longer used by |
| # any continuous testing target (b/62611253), as the SS collector overlaps |
| # with the CC collector, since both move objects. |
| 'art-gtest-ss-gc': { |
| 'make' : 'test-art-host-gtest', |
| 'env': { |
| 'ART_DEFAULT_GC_TYPE' : 'SS', |
| 'ART_USE_READ_BARRIER' : 'false' |
| } |
| }, |
| # TODO: Consider removing this configuration when it is no longer used by |
| # any continuous testing target (b/62611253), as the SS collector overlaps |
| # with the CC collector, since both move objects. |
| 'art-gtest-ss-gc-tlab': { |
| 'make' : 'test-art-host-gtest', |
| 'env': { |
| 'ART_DEFAULT_GC_TYPE' : 'SS', |
| 'ART_USE_TLAB' : 'true', |
| 'ART_USE_READ_BARRIER' : 'false', |
| } |
| }, |
| 'art-gtest-debug-gc' : { |
| 'make' : 'test-art-host-gtest', |
| 'env' : { |
| 'ART_TEST_DEBUG_GC' : 'true', |
| 'ART_USE_READ_BARRIER' : 'false' |
| } |
| }, |
| 'art-generational-cc': { |
| 'make' : 'test-art-host-gtest', |
| 'run-test' : [], |
| 'env' : { |
| 'ART_USE_GENERATIONAL_CC' : 'true' |
| } |
| }, |
| |
| # ASAN (host) configurations. |
| |
| # These configurations need detect_leaks=0 to work in non-setup environments |
| # like build bots, as our build tools leak. It gets overridden in |
| # Android.gtest.mk to enable leak detection again during the test runs. |
| # b/37751350 |
| |
| # TODO(b/438495566): Use detect_odr_violation=1 below to tolerate ODR |
| # violations from libz being both statically linked and loaded dynamically |
| # through libz-host.so. |
| |
| 'art-gtest-asan': { |
| 'make' : 'test-art-host-gtest', |
| 'env': { |
| 'SANITIZE_HOST' : 'address', |
| 'ASAN_OPTIONS' : 'detect_leaks=0:detect_odr_violation=1' |
| } |
| }, |
| 'art-gtest-asan32': { |
| 'make' : 'test-art-host-gtest32', |
| 'env': { |
| 'SANITIZE_HOST' : 'address', |
| 'ASAN_OPTIONS' : 'detect_leaks=0:detect_odr_violation=1' |
| } |
| }, |
| 'art-gtest-asan64': { |
| 'make' : 'test-art-host-gtest64', |
| 'env': { |
| 'SANITIZE_HOST' : 'address', |
| 'ASAN_OPTIONS' : 'detect_leaks=0:detect_odr_violation=1' |
| } |
| }, |
| 'art-asan': { |
| 'run-test' : ['--interpreter', |
| '--interp-ac', |
| '--optimizing', |
| '--jit', |
| '--speed-profile'], |
| 'env': { |
| 'SANITIZE_HOST' : 'address', |
| 'ASAN_OPTIONS' : 'detect_leaks=0:detect_odr_violation=1' |
| } |
| }, |
| 'art-gtest-heap-poisoning': { |
| 'make' : 'test-art-host-gtest', |
| 'env' : { |
| 'ART_HEAP_POISONING' : 'true', |
| 'ART_USE_READ_BARRIER' : 'false', |
| 'SANITIZE_HOST' : 'address', |
| 'ASAN_OPTIONS' : 'detect_leaks=0:detect_odr_violation=1' |
| } |
| }, |
| } |