blob: eaf33b7fc4c202c694a491e21d40144bfe8fc8f7 [file] [log] [blame]
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'],
},
}