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         'env' : {
     29             'ART_USE_READ_BARRIER' : 'true'
     30         }
     31     },
     32 
     33     'art-test-javac' : {
     34         'run-test' : ['--jvm']
     35     },
     36 
     37     # ART run-test configurations
     38     # (calls testrunner which builds and then runs the test targets)
     39 
     40     'art-ndebug' : {
     41         'run-test' : ['--ndebug'],
     42         'env' : {
     43             'ART_USE_READ_BARRIER' : 'true'
     44         }
     45     },
     46     'art-interpreter' : {
     47         'run-test' : ['--interpreter'],
     48         'env' : {
     49             'ART_USE_READ_BARRIER' : 'true'
     50         }
     51     },
     52     'art-interpreter-access-checks' : {
     53         'run-test' : ['--interp-ac'],
     54         'env' : {
     55             'ART_USE_READ_BARRIER' : 'true'
     56         }
     57     },
     58     'art-jit' : {
     59         'run-test' : ['--jit'],
     60         'env' : {
     61             'ART_USE_READ_BARRIER' : 'true'
     62         }
     63     },
     64     'art-pictest' : {
     65         'run-test' : ['--pictest',
     66                       '--optimizing'],
     67         'env' : {
     68             'ART_USE_READ_BARRIER' : 'true'
     69         }
     70     },
     71     'art-gcstress-gcverify': {
     72         'run-test': ['--gcstress',
     73                      '--gcverify'],
     74         'env' : {
     75             'ART_USE_READ_BARRIER' : 'false',
     76             'ART_DEFAULT_GC_TYPE' : 'SS'
     77         }
     78     },
     79     'art-interpreter-gcstress' : {
     80         'run-test' : ['--interpreter',
     81                       '--gcstress'],
     82         'env' : {
     83             'ART_USE_READ_BARRIER' : 'false',
     84             'ART_DEFAULT_GC_TYPE' : 'SS'
     85         }
     86     },
     87     'art-optimizing-gcstress' : {
     88         'run-test' : ['--gcstress',
     89                       '--optimizing'],
     90         'env' : {
     91             'ART_USE_READ_BARRIER' : 'false',
     92             'ART_DEFAULT_GC_TYPE' : 'SS'
     93         }
     94     },
     95     'art-jit-gcstress' : {
     96         'run-test' : ['--jit',
     97                       '--gcstress'],
     98         'env' : {
     99             'ART_USE_READ_BARRIER' : 'false',
    100             'ART_DEFAULT_GC_TYPE' : 'SS'
    101         }
    102     },
    103     'art-read-barrier' : {
    104         'run-test': ['--interpreter',
    105                   '--optimizing'],
    106         'env' : {
    107             'ART_USE_READ_BARRIER' : 'true',
    108             'ART_HEAP_POISONING' : 'true'
    109         }
    110     },
    111     'art-read-barrier-gcstress' : {
    112         'run-test' : ['--interpreter',
    113                       '--optimizing',
    114                       '--gcstress'],
    115         'env' : {
    116             'ART_USE_READ_BARRIER' : 'true',
    117             'ART_HEAP_POISONING' : 'true'
    118         }
    119     },
    120     'art-read-barrier-table-lookup' : {
    121         'run-test' : ['--interpreter',
    122                       '--optimizing'],
    123         'env' : {
    124             'ART_USE_READ_BARRIER' : 'true',
    125             'ART_READ_BARRIER_TYPE' : 'TABLELOOKUP',
    126             'ART_HEAP_POISONING' : 'true'
    127         }
    128     },
    129     'art-debug-gc' : {
    130         'run-test' : ['--interpreter',
    131                       '--optimizing'],
    132         'env' : {
    133             'ART_TEST_DEBUG_GC' : 'true',
    134             'ART_USE_READ_BARRIER' : 'false'
    135         }
    136     },
    137     'art-ss-gc' : {
    138         'run-test' : ['--interpreter',
    139                       '--optimizing',
    140                       '--jit'],
    141         'env' : {
    142             'ART_DEFAULT_GC_TYPE' : 'SS',
    143             'ART_USE_READ_BARRIER' : 'false'
    144         }
    145     },
    146     'art-gss-gc' : {
    147         'run-test' : ['--interpreter',
    148                       '--optimizing',
    149                       '--jit'],
    150         'env' : {
    151             'ART_DEFAULT_GC_TYPE' : 'GSS',
    152             'ART_USE_READ_BARRIER' : 'false'
    153         }
    154     },
    155     'art-ss-gc-tlab' : {
    156         'run-test' : ['--interpreter',
    157                       '--optimizing',
    158                       '--jit'],
    159         'env' : {
    160             'ART_DEFAULT_GC_TYPE' : 'SS',
    161             'ART_USE_TLAB' : 'true',
    162             'ART_USE_READ_BARRIER' : 'false'
    163         }
    164     },
    165     'art-gss-gc-tlab' : {
    166         'run-test' : ['--interpreter',
    167                       '--optimizing',
    168                       '--jit'],
    169         'env' : {
    170             'ART_DEFAULT_GC_TYPE' : 'GSS',
    171             'ART_USE_TLAB' : 'true',
    172             'ART_USE_READ_BARRIER' : 'false'
    173         }
    174     },
    175     'art-tracing' : {
    176         'run-test' : ['--trace'],
    177         'env' : {
    178             'ART_USE_READ_BARRIER' : 'true'
    179         }
    180     },
    181     'art-interpreter-tracing' : {
    182         'run-test' : ['--interpreter',
    183                       '--trace'],
    184         'env' : {
    185             'ART_USE_READ_BARRIER' : 'true',
    186         }
    187     },
    188     'art-forcecopy' : {
    189         'run-test' : ['--forcecopy'],
    190         'env' : {
    191             'ART_USE_READ_BARRIER' : 'true',
    192         }
    193     },
    194     'art-no-prebuild' : {
    195         'run-test' : ['--no-prebuild'],
    196         'env' : {
    197             'ART_USE_READ_BARRIER' : 'true',
    198         }
    199     },
    200     'art-no-image' : {
    201         'run-test' : ['--no-image'],
    202         'env' : {
    203             'ART_USE_READ_BARRIER' : 'true',
    204         }
    205     },
    206     'art-interpreter-no-image' : {
    207         'run-test' : ['--interpreter',
    208                       '--no-image'],
    209         'env' : {
    210             'ART_USE_READ_BARRIER' : 'true',
    211         }
    212     },
    213     'art-relocate-no-patchoat' : {
    214         'run-test' : ['--relocate-npatchoat'],
    215         'env' : {
    216             'ART_USE_READ_BARRIER' : 'true',
    217         }
    218     },
    219     'art-no-dex2oat' : {
    220         'run-test' : ['--no-dex2oat'],
    221         'env' : {
    222             'ART_USE_READ_BARRIER' : 'true',
    223         }
    224     },
    225     'art-heap-poisoning' : {
    226         'run-test' : ['--interpreter',
    227                       '--optimizing',
    228                       '--cdex-none'],
    229         'env' : {
    230             'ART_USE_READ_BARRIER' : 'false',
    231             'ART_HEAP_POISONING' : 'true',
    232             # Disable compact dex to get coverage of standard dex file usage.
    233             'ART_DEFAULT_COMPACT_DEX_LEVEL' : 'none'
    234         }
    235     },
    236     'art-preopt' : {
    237         # This test configuration is intended to be representative of the case
    238         # of preopted apps, which are precompiled compiled pic against an
    239         # unrelocated image, then used with a relocated image.
    240         'run-test' : ['--pictest',
    241                       '--prebuild',
    242                       '--relocate',
    243                       '--jit'],
    244         'env' : {
    245             'ART_USE_READ_BARRIER' : 'true'
    246         }
    247     },
    248 
    249     # ART gtest configurations
    250     # (calls make 'target' which builds and then runs the gtests).
    251 
    252     'art-gtest' : {
    253         'make' :  'test-art-host-gtest',
    254         'env' : {
    255             'ART_USE_READ_BARRIER' : 'true'
    256         }
    257     },
    258     'art-gtest-read-barrier': {
    259         'make' :  'test-art-host-gtest',
    260         'env' : {
    261             'ART_USE_READ_BARRIER' : 'true',
    262             'ART_HEAP_POISONING' : 'true'
    263         }
    264     },
    265     'art-gtest-read-barrier-table-lookup': {
    266         'make' :  'test-art-host-gtest',
    267         'env': {
    268             'ART_USE_READ_BARRIER' : 'true',
    269             'ART_READ_BARRIER_TYPE' : 'TABLELOOKUP',
    270             'ART_HEAP_POISONING' : 'true'
    271         }
    272     },
    273     'art-gtest-ss-gc': {
    274         'make' :  'test-art-host-gtest',
    275         'env': {
    276             'ART_DEFAULT_GC_TYPE' : 'SS',
    277             'ART_USE_READ_BARRIER' : 'false',
    278             # Disable compact dex to get coverage of standard dex file usage.
    279             'ART_DEFAULT_COMPACT_DEX_LEVEL' : 'none'
    280         }
    281     },
    282     'art-gtest-gss-gc': {
    283         'make' :  'test-art-host-gtest',
    284         'env' : {
    285             'ART_DEFAULT_GC_TYPE' : 'GSS',
    286             'ART_USE_READ_BARRIER' : 'false'
    287         }
    288     },
    289     'art-gtest-ss-gc-tlab': {
    290         'make' :  'test-art-host-gtest',
    291         'env': {
    292             'ART_DEFAULT_GC_TYPE' : 'SS',
    293             'ART_USE_TLAB' : 'true',
    294             'ART_USE_READ_BARRIER' : 'false',
    295         }
    296     },
    297     'art-gtest-gss-gc-tlab': {
    298         'make' :  'test-art-host-gtest',
    299         'env': {
    300             'ART_DEFAULT_GC_TYPE' : 'GSS',
    301             'ART_USE_TLAB' : 'true',
    302             'ART_USE_READ_BARRIER' : 'false'
    303         }
    304     },
    305     'art-gtest-debug-gc' : {
    306         'make' :  'test-art-host-gtest',
    307         'env' : {
    308             'ART_TEST_DEBUG_GC' : 'true',
    309             'ART_USE_READ_BARRIER' : 'false'
    310         }
    311     },
    312     'art-gtest-valgrind32': {
    313       # Disabled: x86 valgrind does not understand SSE4.x
    314       # 'make' : 'valgrind-test-art-host32',
    315         'env': {
    316             'ART_USE_READ_BARRIER' : 'false'
    317         }
    318     },
    319     'art-gtest-valgrind64': {
    320         'make' : 'valgrind-test-art-host64',
    321         'env': {
    322             'ART_USE_READ_BARRIER' : 'false'
    323         }
    324     },
    325 
    326    # ASAN (host) configurations.
    327 
    328    # These configurations need detect_leaks=0 to work in non-setup environments like build bots,
    329    # as our build tools leak. b/37751350
    330 
    331     'art-gtest-asan': {
    332         'make' : 'test-art-host-gtest',
    333         'env': {
    334             'SANITIZE_HOST' : 'address',
    335             'ASAN_OPTIONS' : 'detect_leaks=0'
    336         }
    337     },
    338     'art-asan': {
    339         'run-test' : ['--interpreter',
    340                       '--optimizing',
    341                       '--jit'],
    342         'env': {
    343             'SANITIZE_HOST' : 'address',
    344             'ASAN_OPTIONS' : 'detect_leaks=0'
    345         }
    346     },
    347     'art-gtest-heap-poisoning': {
    348         'make' : 'test-art-host-gtest',
    349         'env' : {
    350             'ART_HEAP_POISONING' : 'true',
    351             'ART_USE_READ_BARRIER' : 'false',
    352             'SANITIZE_HOST' : 'address',
    353             'ASAN_OPTIONS' : 'detect_leaks=0'
    354         }
    355     },
    356 
    357    # ART Golem build targets used by go/lem (continuous ART benchmarking),
    358    # (art-opt-cc is used by default since it mimics the default preopt config),
    359    #
    360    # calls golem/build-target.sh which builds a golem tarball of the target name,
    361    #     e.g. 'golem: android-armv7' produces an 'android-armv7.tar.gz' upon success.
    362 
    363     'art-golem-android-armv7': {
    364         'golem' : 'android-armv7'
    365     },
    366     'art-golem-android-armv8': {
    367         'golem' : 'android-armv8'
    368     },
    369     'art-golem-linux-armv7': {
    370         'golem' : 'linux-armv7'
    371     },
    372     'art-golem-linux-armv8': {
    373         'golem' : 'linux-armv8'
    374     },
    375     'art-golem-linux-ia32': {
    376         'golem' : 'linux-ia32'
    377     },
    378     'art-golem-linux-x64': {
    379         'golem' : 'linux-x64'
    380     },
    381 }
    382