• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1target_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: Consider removing this configuration when it is no longer used by
128    # any continuous testing target (b/62611253), as the SS collector overlaps
129    # with the CC collector, since both move objects.
130    'art-ss-gc-tlab' : {
131        'run-test' : ['--interpreter',
132                      '--optimizing',
133                      '--jit'],
134        'env' : {
135            'ART_DEFAULT_GC_TYPE' : 'SS',
136            'ART_USE_TLAB' : 'true',
137            'ART_USE_READ_BARRIER' : 'false'
138        }
139    },
140    'art-tracing' : {
141        'run-test' : ['--trace',
142                      '--stream']
143    },
144    'art-interpreter-tracing' : {
145        'run-test' : ['--interpreter',
146                      '--trace']
147    },
148    'art-forcecopy' : {
149        'run-test' : ['--forcecopy']
150    },
151    'art-no-prebuild' : {
152        'run-test' : ['--no-prebuild']
153    },
154    'art-no-image' : {
155        'run-test' : ['--no-image']
156    },
157    'art-interpreter-no-image' : {
158        'run-test' : ['--interpreter',
159                      '--no-image']
160    },
161    'art-heap-poisoning' : {
162        'run-test' : ['--interpreter',
163                      '--optimizing'],
164        'env' : {
165            'ART_USE_READ_BARRIER' : 'false',
166            'ART_HEAP_POISONING' : 'true'
167        }
168    },
169    'art-preopt' : {
170        # This test configuration is intended to be representative of the case
171        # of preopted apps, which are precompiled against an
172        # unrelocated image, then used with a relocated image.
173        'run-test' : ['--prebuild',
174                      '--relocate',
175                      '--jit']
176    },
177
178    # ART gtest configurations
179    # (calls make 'target' which builds and then runs the gtests).
180
181    'art-gtest' : {
182        'make' :  'test-art-host-gtest'
183    },
184    'art-gtest-read-barrier': {
185        'make' :  'test-art-host-gtest',
186        'env' : {
187            'ART_HEAP_POISONING' : 'true'
188        }
189    },
190    'art-gtest-read-barrier-table-lookup': {
191        'make' :  'test-art-host-gtest',
192        'env': {
193            'ART_READ_BARRIER_TYPE' : 'TABLELOOKUP',
194            'ART_HEAP_POISONING' : 'true'
195        }
196    },
197    # TODO: Consider removing this configuration when it is no longer used by
198    # any continuous testing target (b/62611253), as the SS collector overlaps
199    # with the CC collector, since both move objects.
200    'art-gtest-ss-gc': {
201        'make' :  'test-art-host-gtest',
202        'env': {
203            'ART_DEFAULT_GC_TYPE' : 'SS',
204            'ART_USE_READ_BARRIER' : 'false'
205        }
206    },
207    # TODO: Consider removing this configuration when it is no longer used by
208    # any continuous testing target (b/62611253), as the SS collector overlaps
209    # with the CC collector, since both move objects.
210    'art-gtest-ss-gc-tlab': {
211        'make' :  'test-art-host-gtest',
212        'env': {
213            'ART_DEFAULT_GC_TYPE' : 'SS',
214            'ART_USE_TLAB' : 'true',
215            'ART_USE_READ_BARRIER' : 'false',
216        }
217    },
218    'art-gtest-debug-gc' : {
219        'make' :  'test-art-host-gtest',
220        'env' : {
221            'ART_TEST_DEBUG_GC' : 'true',
222            'ART_USE_READ_BARRIER' : 'false'
223        }
224    },
225    'art-generational-cc': {
226        'make' : 'test-art-host-gtest',
227        'run-test' : [],
228        'env' : {
229            'ART_USE_GENERATIONAL_CC' : 'true'
230        }
231    },
232
233    # ASAN (host) configurations.
234
235    # These configurations need detect_leaks=0 to work in non-setup environments like build bots,
236    # as our build tools leak. b/37751350
237
238    'art-gtest-asan': {
239        'make' : 'test-art-host-gtest',
240        'env': {
241            'SANITIZE_HOST' : 'address',
242            'ASAN_OPTIONS' : 'detect_leaks=0'
243        }
244    },
245    'art-gtest-asan32': {
246        'make' : 'test-art-host-gtest32',
247        'env': {
248            'SANITIZE_HOST' : 'address',
249            'ASAN_OPTIONS' : 'detect_leaks=0'
250        }
251    },
252    'art-gtest-asan64': {
253        'make' : 'test-art-host-gtest64',
254        'env': {
255            'SANITIZE_HOST' : 'address',
256            'ASAN_OPTIONS' : 'detect_leaks=0'
257        }
258    },
259    'art-asan': {
260        'run-test' : ['--interpreter',
261                      '--interp-ac',
262                      '--optimizing',
263                      '--jit',
264                      '--speed-profile'],
265        'env': {
266            'SANITIZE_HOST' : 'address',
267            'ASAN_OPTIONS' : 'detect_leaks=0'
268        }
269    },
270    'art-gtest-heap-poisoning': {
271        'make' : 'test-art-host-gtest',
272        'env' : {
273            'ART_HEAP_POISONING' : 'true',
274            'ART_USE_READ_BARRIER' : 'false',
275            'SANITIZE_HOST' : 'address',
276            'ASAN_OPTIONS' : 'detect_leaks=0'
277        }
278    },
279
280    # ART Golem build targets used by go/lem (continuous ART benchmarking),
281    # (art-opt-cc is used by default since it mimics the default preopt config),
282    #
283    # calls golem/build-target.sh which builds a golem tarball of the target name,
284    #     e.g. 'golem: android-armv7' produces an 'android-armv7.tar.gz' upon success.
285
286    'art-golem-android-armv7': {
287        'golem' : 'android-armv7'
288    },
289    'art-golem-android-armv8': {
290        'golem' : 'android-armv8'
291    },
292    'art-golem-linux-armv7': {
293        'golem' : 'linux-armv7'
294    },
295    'art-golem-linux-armv8': {
296        'golem' : 'linux-armv8'
297    },
298    'art-golem-linux-ia32': {
299        'golem' : 'linux-ia32'
300    },
301    'art-golem-linux-x64': {
302        'golem' : 'linux-x64'
303    },
304}
305