| target_config = { |
| |
| # Configuration syntax: |
| # |
| # Required keys: (Use one or more of these) |
| # * golem - specify a golem machine-type to build, e.g. android-armv8 |
| # (uses art/tools/golem/build-target.sh) |
| # * 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', |
| '--cdex-none'], |
| 'env' : { |
| 'ART_USE_READ_BARRIER' : 'false', |
| 'ART_HEAP_POISONING' : 'true', |
| # Disable compact dex to get coverage of standard dex file usage. |
| 'ART_DEFAULT_COMPACT_DEX_LEVEL' : 'none' |
| } |
| }, |
| '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', |
| # Disable compact dex to get coverage of standard dex file usage. |
| 'ART_DEFAULT_COMPACT_DEX_LEVEL' : 'none' |
| } |
| }, |
| # 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. b/37751350 |
| |
| 'art-gtest-asan': { |
| 'make' : 'test-art-host-gtest', |
| 'env': { |
| 'SANITIZE_HOST' : 'address', |
| 'ASAN_OPTIONS' : 'detect_leaks=0' |
| } |
| }, |
| 'art-gtest-asan32': { |
| 'make' : 'test-art-host-gtest32', |
| 'env': { |
| 'SANITIZE_HOST' : 'address', |
| 'ASAN_OPTIONS' : 'detect_leaks=0' |
| } |
| }, |
| 'art-gtest-asan64': { |
| 'make' : 'test-art-host-gtest64', |
| 'env': { |
| 'SANITIZE_HOST' : 'address', |
| 'ASAN_OPTIONS' : 'detect_leaks=0' |
| } |
| }, |
| 'art-asan': { |
| 'run-test' : ['--interpreter', |
| '--interp-ac', |
| '--optimizing', |
| '--jit', |
| '--speed-profile'], |
| 'env': { |
| 'SANITIZE_HOST' : 'address', |
| 'ASAN_OPTIONS' : 'detect_leaks=0' |
| } |
| }, |
| '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' |
| } |
| }, |
| |
| # ART Golem build targets used by go/lem (continuous ART benchmarking), |
| # (art-opt-cc is used by default since it mimics the default preopt config), |
| # |
| # calls golem/build-target.sh which builds a golem tarball of the target name, |
| # e.g. 'golem: android-armv7' produces an 'android-armv7.tar.gz' upon success. |
| |
| 'art-golem-android-armv7': { |
| 'golem' : 'android-armv7' |
| }, |
| 'art-golem-android-armv8': { |
| 'golem' : 'android-armv8' |
| }, |
| 'art-golem-linux-armv7': { |
| 'golem' : 'linux-armv7' |
| }, |
| 'art-golem-linux-armv8': { |
| 'golem' : 'linux-armv8' |
| }, |
| 'art-golem-linux-ia32': { |
| 'golem' : 'linux-ia32' |
| }, |
| 'art-golem-linux-x64': { |
| 'golem' : 'linux-x64' |
| }, |
| 'art-linux-bionic-x64': { |
| 'build': '{ANDROID_BUILD_TOP}/art/tools/build_linux_bionic_tests.sh {MAKE_OPTIONS}', |
| 'run-test': ['--run-test-option=--bionic', |
| '--host', |
| '--64', |
| '--no-build-dependencies'], |
| }, |
| 'art-linux-bionic-x64-zipapex': { |
| 'build': '{ANDROID_BUILD_TOP}/art/tools/build_linux_bionic_tests.sh {MAKE_OPTIONS} com.android.art.host', |
| 'run-test': ['--run-test-option=--bionic', |
| "--runtime-zipapex={SOONG_OUT_DIR}/host/linux_bionic-x86/apex/com.android.art.host.zipapex", |
| '--host', |
| '--64', |
| '--no-build-dependencies'], |
| }, |
| } |