Home | History | Annotate | Download | only in testrunner
      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