mjsunit.status 31.9 KB
Newer Older
1
# Copyright 2012 the V8 project authors. All rights reserved.
2 3 4 5
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
kasperl@chromium.org's avatar
kasperl@chromium.org committed
6
#     * Redistributions of source code must retain the above copyright
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
#       notice, this list of conditions and the following disclaimer.
#     * Redistributions in binary form must reproduce the above
#       copyright notice, this list of conditions and the following
#       disclaimer in the documentation and/or other materials provided
#       with the distribution.
#     * Neither the name of Google Inc. nor the names of its
#       contributors may be used to endorse or promote products derived
#       from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

28 29
[
[ALWAYS, {
30 31 32
  # Modules which are only meant to be imported from by other tests, not to be
  # tested standalone.
  'modules-skip*': [SKIP],
33
  'harmony/modules-skip*': [SKIP],
34
  'regress/modules-skip*': [SKIP],
35

36 37 38 39 40 41 42 43 44 45
  # All tests in the bug directory are expected to fail.
  'bugs/*': [FAIL],

  ##############################################################################
  # Fails.
  'regress/regress-1119': [FAIL],

  # Issue 1719: Slow to collect arrays over several contexts.
  'regress/regress-524': [SKIP],
  # When that bug is fixed, revert the expectation to:
46 47
  # Skip long running test in debug.
  # regress/regress-524: [PASS, ['mode == debug', SKIP]],
48 49 50 51

  # This test non-deterministically runs out of memory on Windows ia32.
  'regress/regress-crbug-160010': [SKIP],

52 53 54
  # Issue 3784: setters-on-elements is flaky
  'setters-on-elements': [PASS, FAIL],

55 56 57
  # Issue 5495: enable the test when the constant field tracking in enabled.
  'const-field-tracking': [SKIP],

58 59 60 61
  ##############################################################################
  # Too slow in debug mode with --stress-opt mode.
  'regress/regress-create-exception': [PASS, ['mode == debug', SKIP]],

62 63
  ##############################################################################
  # Too slow in debug mode for validation of elements.
64
  'regress/regress-430201': [PASS, ['mode == debug', SKIP], ['tsan', SKIP]],
65
  'regress/regress-430201b': [PASS, ['mode == debug', SKIP]],
66
  'regress/regress-716044': [PASS, ['mode == debug', SKIP]],
67

68 69 70 71
  ##############################################################################
  # Too slow in debug mode for GC stress mode.
  'regress/regress-crbug-217858': [PASS, ['mode == debug', SKIP]],

72 73 74
  # Too slow in debug mode and under turbofan.
  'regress/regress-4595': [PASS, NO_VARIANTS, ['mode == debug', SKIP]],

75
  ##############################################################################
76
  # Only RegExp stuff tested, no need for extensive optimizing compiler tests.
77
  'regexp-global': [PASS, NO_VARIANTS],
78
  'third_party/regexp-pcre/regexp-pcre': [PASS, NO_VARIANTS],
79

80 81
  ##############################################################################
  # No need to waste time for this test.
82
  'd8/d8-performance-now': [PASS, NO_VARIANTS],
83
  'regress/regress-crbug-491062': [PASS, NO_VARIANTS],
84

85
  # Issue 488: this test sometimes times out.
86
  # TODO(arm): This seems to flush out a bug on arm with simulator.
87
  'array-constructor': [PASS, SLOW, ['arch == arm and simulator == True', SKIP]],
88

89
  # Very slow test
90
  'regress/regress-crbug-808192' : [PASS, SLOW, NO_VARIANTS, ['arch == arm or arch == arm64 or arch == android_arm or arch == android_arm64 or arch == mipsel or arch == mips64el or arch == mips64 or arch == mips or arch == s390 or arch == s390x or arch == ppc or arch == ppc64', SKIP]],
91

92
  # Very slow on ARM and MIPS, contains no architecture dependent code.
93
  'unicode-case-overoptimization': [PASS, NO_VARIANTS, ['arch == arm or arch == arm64 or arch == android_arm or arch == android_arm64 or arch == mipsel or arch == mips64el or arch == mips64 or arch == mips', SKIP]],
94
  'regress/regress-3976': [PASS, NO_VARIANTS, ['arch == arm or arch == arm64 or arch == android_arm or arch == android_arm64 or arch == mipsel or arch == mips64el or arch == mips64 or arch == mips', SKIP]],
95
  'regress/regress-crbug-482998': [PASS, NO_VARIANTS, ['arch == arm or arch == arm64 or arch == android_arm or arch == android_arm64 or arch == mipsel or arch == mips64el or arch == mips', SKIP]],
96
  'regress/regress-740784': [PASS, NO_VARIANTS, ['arch == arm or arch == arm64 or arch == android_arm or arch == android_arm64 or arch == mipsel or arch == mips64el or arch == mips', SKIP]],
97

98 99 100 101
  # This test allocates a 2G block of memory and if there are multiple
  # variants this can lead to OOM.
  'regress/regress-crbug-514081': [PASS, NO_VARIANTS],

102 103 104
  ##############################################################################
  # Skip long running tests that time out in debug mode.
  'generated-transition-stub': [PASS, ['mode == debug', SKIP]],
105
  'migrations': [SKIP],
106
  'array-functions-prototype-misc': [PASS, SLOW, ['mode == debug', SKIP]],
107
  'compiler/regress-808472': [PASS, ['mode == debug', SKIP]],
108 109 110 111 112

  ##############################################################################
  # This test sets the umask on a per-process basis and hence cannot be
  # used in multi-threaded runs.
  # On android there is no /tmp directory.
113 114 115 116
  # Currently d8-os generates a temporary directory name using Math.random(), so
  # we cannot run several variants of d8-os simultaneously, since all of them
  # get the same random seed and would generate the same directory name. Besides
  # that, it doesn't make sense to run several variants of d8-os anyways.
117
  'd8/d8-os': [PASS, NO_VARIANTS, ['isolates or arch == android_arm or arch == android_arm64 or arch == android_ia32', SKIP]],
118
  'tools/tickprocessor': [PASS, NO_VARIANTS, ['arch == android_arm or arch == android_arm64 or arch == android_ia32', SKIP]],
119
  'tools/dumpcpp': [PASS, NO_VARIANTS, ['arch == android_arm or arch == android_arm64 or arch == android_ia32', SKIP]],
120

121 122 123 124 125 126
  ##############################################################################
  # This test generates a file in the test directory, so we cannot run several
  # variants of the test simultaneously. Additionally the test should not be
  # affected by variants.
  'd8/enable-tracing': [PASS, NO_VARIANTS],

127 128 129
  ##############################################################################
  # Long running test that reproduces memory leak and should be run manually.
  'regress/regress-2073': [SKIP],
130 131 132 133

  ##############################################################################
  # Tests verifying CHECK and ASSERT.
  'verify-check-false': [FAIL, NO_VARIANTS],
134
  'verify-assert-false': [NO_VARIANTS, ['mode == release and dcheck_always_on == False', PASS], ['mode == debug or dcheck_always_on == True', FAIL]],
135 136 137 138 139 140

  ##############################################################################
  # Tests with different versions for release and debug.
  'compiler/alloc-number': [PASS, ['mode == debug', SKIP]],
  'compiler/alloc-number-debug': [PASS, ['mode == release', SKIP]],
  'regress/regress-634-debug': [PASS, ['mode == release', SKIP]],
141

Jakob Kummerow's avatar
Jakob Kummerow committed
142 143
  # BUG(v8:2989).
  'regress/regress-2989': [FAIL, NO_VARIANTS],
144

145 146
  # This test variant makes only sense on arm.
  'math-floor-of-div-nosudiv': [PASS, SLOW, ['arch not in [arm, arm64, android_arm, android_arm64]', SKIP]],
147 148

  # Too slow for slow variants.
149 150 151
  'asm/embenchen/*': [PASS, SLOW, NO_VARIANTS],
  'asm/poppler/*': [PASS, SLOW, NO_VARIANTS],
  'asm/sqlite3/*': [PASS, SLOW, NO_VARIANTS],
machenbach's avatar
machenbach committed
152

153 154
  # Slow tests.
  'copy-on-write-assert': [PASS, SLOW],
155 156
  'es6/typedarray-construct-offset-not-smi': [PASS, SLOW],
  'harmony/regexp-property-script-extensions': [PASS, SLOW],
157 158
  'numops-fuzz-part*': [PASS, ['mode == debug', SLOW]],
  'readonly': [PASS, SLOW],
159 160 161
  'regress/regress-1122': [PASS, SLOW],
  'regress/regress-605470': [PASS, SLOW],
  'regress/regress-655573': [PASS, SLOW],
162
  'regress/regress-1200351': [PASS, SLOW],
163 164
  'wasm/embenchen/*': [PASS, SLOW],
  'wasm/unreachable-validation': [PASS, SLOW],
165

166
  # case-insensitive unicode regexp relies on case mapping provided by ICU.
167 168
  'es6/unicode-regexp-ignore-case': [PASS, ['no_i18n == True', FAIL]],
  'es6/unicode-regexp-ignore-case-noi18n': [FAIL, ['no_i18n == True', PASS]],
169
  'regress/regress-5036': [PASS, ['no_i18n == True', FAIL]],
170
  'es7/regexp-ui-word': [PASS, ['no_i18n == True', FAIL]],
171 172
  'regexp-modifiers-i18n': [PASS, ['no_i18n == True', FAIL]],
  'regexp-modifiers-autogenerated-i18n': [PASS, ['no_i18n == True', FAIL]],
173
  # desugaring regexp property class relies on ICU.
174
  'harmony/regexp-property-*': [PASS, ['no_i18n == True', FAIL]],
175
  'regress/regress-793588': [PASS, ['no_i18n == True', FAIL]],
176

177 178 179
  # noi18n build cannot parse characters in supplementary plane.
  'harmony/regexp-named-captures': [PASS, ['no_i18n == True', FAIL]],

180 181 182 183
  # noi18n cannot turn on ICU backend for Date
  'icu-date-to-string': [PASS, ['no_i18n == True', SKIP]],
  'icu-date-lord-howe': [PASS, ['no_i18n == True', SKIP]],

machenbach's avatar
machenbach committed
184 185 186
  # TODO(bmeurer): Flaky timeouts (sometimes <1s, sometimes >3m).
  'unicodelctest': [PASS, NO_VARIANTS],
  'unicodelctest-no-optimization': [PASS, NO_VARIANTS],
187 188 189 190

  # TODO(vogelheim): big-object-literal exceeds the stack in debug builds,
  #                  which makes the test useless.
  'big-object-literal': [PASS, ['mode == debug', SKIP]],
191

192 193
  # BUG(v8:6306).
  'wasm/huge-memory': [SKIP],
194 195 196

  # Allocates a huge string and then flattens it, very slow in debug mode.
  'regress/regress-752764': [PASS, ['mode == debug', SLOW]],
197
}],  # ALWAYS
198

199 200 201 202 203 204 205
['novfp3 == True', {
  'asm/embenchen/box2d': [SKIP],
  'asm/embenchen/zlib': [SKIP],
  'asm/embenchen/memops': [SKIP],
  'asm/embenchen/lua_binarytrees': [SKIP],
}],  # novfp3 == True

206
##############################################################################
207 208
# TODO(ahaas): Port multiple return values to ARM, MIPS, S390 and PPC
['arch == arm or arch == arm64 or arch == mips or arch == mips64 or arch == mipsel or arch == mips64el or arch == s390 or arch == s390x or arch == ppc or arch == ppc64', {
209 210 211 212
  'wasm/multi-value': [SKIP],
}],

##############################################################################
213 214 215 216 217 218
['gc_stress == True', {
  # Skip tests not suitable for GC stress.
  'allocation-site-info': [SKIP],
  'array-constructor-feedback': [SKIP],
  'array-feedback': [SKIP],
  'array-literal-feedback': [SKIP],
219
  'd8/d8-performance-now': [SKIP],
220
  'elements-kind': [SKIP],
221
  'elements-transition-hoisting': [SKIP],
222
  'fast-prototype': [SKIP],
223
  'field-type-tracking': [SKIP],
224
  'getters-on-elements': [SKIP],
225
  'es6/block-let-crankshaft': [SKIP],
226 227
  'opt-elements-kind': [SKIP],
  'osr-elements-kind': [SKIP],
228
  'regress/regress-crbug-137689': [SKIP],
229
  'regress/regress-trap-allocation-memento': [SKIP],
230 231
  'regress/regress-165637': [SKIP],
  'regress/regress-2249': [SKIP],
232
  'regress/regress-4121': [SKIP],
233
  'compare-known-objects-slow': [SKIP],
234
  # Tests taking too long
235 236 237 238 239 240
  'packed-elements': [SKIP],
  'regress/regress-1122': [SKIP],
  'regress/regress-331444': [SKIP],
  'regress/regress-353551': [SKIP],
  'regress/regress-crbug-119926': [SKIP],
  'regress/short-circuit': [SKIP],
241
  'stack-traces-overflow': [SKIP],
242
  'unicode-test': [SKIP],
243 244
  'whitespaces': [SKIP],

245 246 247 248
  # Unsuitable for GC stress because coverage information is lost on GC.
  'code-coverage-ad-hoc': [SKIP],
  'code-coverage-precise': [SKIP],

249 250
  # TODO(mstarzinger): Takes too long with TF.
  'array-sort': [PASS, NO_VARIANTS],
251
  'regress/regress-91008': [PASS, NO_VARIANTS],
252
  'regress/regress-transcendental': [PASS, ['arch == arm64', NO_VARIANTS]],
253 254
  'compiler/osr-regress-max-locals': [PASS, NO_VARIANTS],
  'math-floor-of-div': [PASS, NO_VARIANTS],
255 256
  'unicodelctest': [PASS, NO_VARIANTS],
  'unicodelctest-no-optimization': [PASS, NO_VARIANTS],
257

258
  # TODO(jkummerow): Doesn't work correctly in GC stress.
259
  'regress/regress-crbug-500497': [SKIP],
260

261 262
  # Too slow for gc stress.
  'asm/embenchen/box2d': [SKIP],
263

littledan's avatar
littledan committed
264 265
  # BUG(v8:4237)
  'regress/regress-3976': [SKIP],
266

267 268 269 270 271
  # Slow tests.
  'array-constructor': [PASS, SLOW],
  'json': [PASS, SLOW],
  'regress/regress-446389': [PASS, SLOW],
  'regress/regress-inline-getter-near-stack-limit': [PASS, SLOW],
272

273
  # BUG(v8:4779): Crashes flakily with stress mode on arm64.
274
  'array-splice': [PASS, SLOW, ['arch == arm64', NO_VARIANTS]],
275 276 277

  # BUG(chromium:751825): Crashes flakily.
  'wasm/js-api': [SKIP],
278 279

  # BUG(chromium:773631): Crashes flakily.
280 281
  'wasm/streaming-trap-location': [SKIP],

282 283
}],  # 'gc_stress == True'

284 285 286 287
##############################################################################
['byteorder == big', {
  # Emscripten requires little-endian, skip all tests on big endian platforms.
  'asm/embenchen/*': [SKIP],
288 289
  'asm/poppler/*': [SKIP],
  'asm/sqlite3/*': [SKIP],
290 291
  # TODO(mips-team): Fix Wasm for big-endian.
  'wasm/*': [SKIP],
292 293
}],  # 'byteorder == big'

294
##############################################################################
295
['arch == arm64 or arch == android_arm64', {
296 297 298 299 300 301 302

  # Requires bigger stack size in the Genesis and if stack size is increased,
  # the test requires too much time to run.  However, the problem test covers
  # should be platform-independent.
  'regress/regress-1132': [SKIP],

  # Pass but take too long to run. Skip.
303 304
  # Some similar tests (with fewer iterations) may be included in arm64-js
  # tests.
305 306
  'asm/embenchen/box2d': [SKIP],
  'asm/embenchen/lua_binarytrees': [SKIP],
307
  'big-object-literal': [SKIP],
308 309 310 311 312 313 314 315 316 317 318 319 320
  'compiler/regress-arguments': [SKIP],
  'compiler/regress-gvn': [SKIP],
  'compiler/regress-4': [SKIP],
  'compiler/regress-or': [SKIP],
  'compiler/regress-rep-change': [SKIP],
  'regress/regress-1117': [SKIP],
  'regress/regress-1849': [SKIP],
  'regress/regress-3247124': [SKIP],
  'regress/regress-91008': [SKIP],
  'regress/regress-91010': [SKIP],
  'regress/regress-91013': [SKIP],
  'regress/regress-99167': [SKIP],

321 322 323
  # BUG(v8:3457).
  'deserialize-reference': [PASS, FAIL],

324 325 326
  # BUG(v8:4016)
  'regress/regress-crbug-467047': [SKIP],

327 328 329 330 331 332 333 334 335 336 337 338 339 340
  # Slow tests.
  'array-concat': [PASS, SLOW],
  'array-indexing': [PASS, SLOW],
  'array-reduce': [PASS, SLOW],
  'array-sort': [PASS, SLOW],
  'array-splice': [PASS, SLOW],
  'bit-not': [PASS, SLOW],
  'compiler/alloc-number': [PASS, SLOW],
  'compiler/osr-assert': [PASS, SLOW],
  'compiler/osr-with-args': [PASS, SLOW],
  'generated-transition-stub': [PASS, SLOW],
  'json2': [PASS, SLOW],
  'math-floor-of-div-nosudiv': [PASS, SLOW],
  'math-floor-of-div': [PASS, SLOW],
341
  'messages': [PASS, SLOW],
342 343 344 345 346 347 348 349 350 351 352 353 354
  'packed-elements': [PASS, SLOW],
  'regress/regress-2185-2': [PASS, SLOW],
  'regress/regress-2185': [PASS, SLOW],
  'regress/regress-2790': [PASS, SLOW],
  'regress/regress-331444': [PASS, SLOW],
  'regress/regress-490': [PASS, SLOW],
  'regress/regress-crbug-217858': [PASS, SLOW],
  'regress/regress-create-exception': [PASS, SLOW],
  'regress/regress-json-stringify-gc': [PASS, SLOW],
  'string-indexof-2': [PASS, SLOW],
  'unicodelctest-no-optimization': [PASS, SLOW],
  'unicodelctest': [PASS, SLOW],
  'unicode-test': [PASS, SLOW],
355
  'wasm/atomics': [PASS, SLOW],
356
  'whitespaces': [PASS, SLOW],
357 358 359

  # BUG(v8:7247).
  'regress/regress-779407': [PASS, SLOW, NO_VARIANTS],
360
}],  # 'arch == arm64'
361

362
['arch == arm64 and mode == debug and simulator_run', {
363 364

  # Pass but take too long with the simulator in debug mode.
365
  'array-sort': [PASS, SLOW],
366 367
  'packed-elements': [SKIP],
  'regexp-global': [SKIP],
368 369 370 371
  'math-floor-of-div': [PASS, SLOW],
  'math-floor-of-div-nosudiv': [PASS, SLOW],
  'unicodelctest': [PASS, SLOW],
  'unicodelctest-no-optimization': [PASS, SLOW],
372 373
  # Issue 3219:
  'getters-on-elements': [PASS, ['gc_stress == True', FAIL]],
374 375
  # Expects to finish in a certain time, but sometimes doesn't.
  'regress/regress-165637': [SKIP],
376
}],  # 'arch == arm64 and mode == debug and simulator_run'
377

378 379 380 381 382 383
##############################################################################
['asan == True', {
  # Skip tests not suitable for ASAN.
  'big-array-literal': [SKIP],
  'big-object-literal': [SKIP],
  'regress/regress-crbug-178790': [SKIP],
384

385 386 387 388
  # https://bugs.chromium.org/p/v8/issues/detail?id=4639
  # The failed allocation causes an asan/msan/tsan error
  'es6/typedarray-construct-offset-not-smi': [SKIP],

389
  # Exception thrown during bootstrapping on ASAN builds, see issue 4236.
390
  'regress/regress-1132': [SKIP],
391 392 393 394

  # Flaky on ASAN builds: https://bugs.chromium.org/p/v8/issues/detail?id=6305
  'regress/regress-430201': [SKIP],
  'regress/regress-430201b': [SKIP],
395 396 397

  # Stack overflow on windows.
  'es8/regress/regress-624300': [PASS, ['system == windows', SKIP]],
398 399 400 401

  # https://bugs.chromium.org/p/v8/issues/detail?id=7102
  # Flaky due to huge string allocation.
  'regress/regress-748069': [SKIP],
402 403
}],  # 'asan == True'

404 405 406 407
##############################################################################
['msan == True', {
  # Skip tests not suitable for MSAN.
  'big-array-literal': [SKIP],
408 409 410 411 412
  # ICU upstream issues.
  'date': [SKIP],
  'deep-recursion': [SKIP],
  'regress/regress-builtinbust-7': [SKIP],
  'string-localecompare': [SKIP],
413

414 415
  # Too slow.
  'harmony/regexp-property-lu-ui': [SKIP],
416
  'regress/regress-165637': [SKIP],
417 418 419

  # Flaky with baseline?
  'regress/regress-2185-2': [SKIP],
420

421
  # Slow tests with --noopt.
422 423 424
  'compiler/osr-one': [PASS, SLOW],
  'compiler/osr-two': [PASS, SLOW],
  'wasm/grow-memory': [PASS, SLOW],
425

426 427 428
  # https://bugs.chromium.org/p/v8/issues/detail?id=7102
  # Flaky due to huge string allocation.
  'regress/regress-748069': [SKIP],
429 430
  # Slow test.
  'regress/regress-779407': [PASS, SLOW],
431
}],  # 'msan == True'
432

433 434 435 436 437 438 439 440 441 442 443 444 445 446
##############################################################################
['tsan == True', {
  # https://bugs.chromium.org/p/v8/issues/detail?id=7102
  # Flaky due to huge string allocation.
  'regress/regress-748069': [SKIP],

  # Allocates a large array buffer, which TSAN sometimes cannot handle.
  'regress/regress-599717': [SKIP],

  # BUG(v8:7042). Uses a lot of memory.
  'regress/regress-678917': [SKIP],

  # BUG(v8:6924). The test uses a lot of memory.
  'regress/wasm/regress-694433': [SKIP],
447 448
  'es6/typedarray': [PASS, NO_VARIANTS],
  'regress/regress-752764': [PASS, NO_VARIANTS],
449 450
}],  # 'tsan == True'

451
##############################################################################
452 453 454 455 456
['arch == arm or arch == android_arm', {

  # Slow tests which times out in debug mode.
  'try': [PASS, ['mode == debug', SKIP]],
  'array-constructor': [PASS, ['mode == debug', SKIP]],
457
  'regress/regress-1122': [PASS, SLOW, ['mode == debug and arch == android_arm', SKIP]],
458 459 460 461

  # Flaky test that can hit compilation-time stack overflow in debug mode.
  'unicode-test': [PASS, ['mode == debug', PASS, FAIL]],

462 463 464
  # Slow in release mode on ARM.
  'compiler/regress-stacktrace-methods': [PASS, SLOW],
  'array-splice': [PASS, SLOW],
465

466 467
  # Long running tests. Skipping because having them timeout takes too long on
  # the buildbot.
468
  'big-object-literal': [SKIP],
469 470 471 472 473 474 475 476 477 478 479 480
  'compiler/alloc-number': [SKIP],
  'regress/regress-490': [SKIP],
  'regress/regress-create-exception': [SKIP],
  'regress/regress-3247124': [SKIP],

  # Requires bigger stack size in the Genesis and if stack size is increased,
  # the test requires too much time to run.  However, the problem test covers
  # should be platform-independent.
  'regress/regress-1132': [SKIP],

  # Currently always deopt on minus zero
  'math-floor-of-div-minus-zero': [SKIP],
481 482 483

  # Slow tests.
  'array-sort': [PASS, SLOW],
484
  'compiler/osr-with-args': [PASS, SLOW],
485
  'packed-elements': [PASS, SLOW],
486
  'regress/regress-2185-2': [PASS, SLOW],
487
  'regress/regress-2790': [PASS, SLOW],
488
  'regress/regress-91008': [PASS, SLOW],
489
  'regress/regress-json-stringify-gc': [PASS, SLOW],
490
  'string-indexof-2': [PASS, SLOW],
491
  'wasm/atomics': [PASS, SLOW],
492
}],  # 'arch == arm or arch == android_arm'
493

494 495 496 497 498 499 500 501 502 503 504
##############################################################################
['(arch == mipsel or arch == mips or arch == mips64el or arch == mips64) and simulator_run != True', {
  # These tests fail occasionally on the buildbots because they consume
  # a large amount of memory if executed in parallel. Therefore we
  # run only a single instance of these tests
  'regress/regress-crbug-514081': [PASS, NO_VARIANTS],
  'regress/regress-599717': [PASS, NO_VARIANTS],
  'regress/regress-599414-array-concat-fast-path': [PASS, NO_VARIANTS],
  'array-functions-prototype-misc': [PASS, NO_VARIANTS],
}],  # 'arch == mipsel or arch == mips or arch == mips64el or arch == mips64'

505
##############################################################################
506
['arch == mipsel or arch == mips or arch == mips64el or arch == mips64 or arch == ppc or arch == ppc64', {
507 508 509 510 511
  # These tests fail because qNaN and sNaN values are encoded differently on
  # MIPS and ARM/x86 architectures
  'wasm/float-constant-folding': [SKIP],
}],

512
##############################################################################
513
['arch == mipsel or arch == mips', {
514 515 516 517 518

  # Slow tests which times out in debug mode.
  'try': [PASS, ['mode == debug', SKIP]],
  'array-constructor': [PASS, ['mode == debug', SKIP]],

519 520 521
  # Slow in release mode on MIPS.
  'compiler/regress-stacktrace-methods': [PASS, SLOW],
  'array-splice': [PASS, SLOW],
522 523

  # Long running test.
524
  'string-indexof-2': [PASS, SLOW],
525

526 527
  # Long running tests. Skipping because having them timeout takes too long on
  # the buildbot.
528 529 530 531 532 533 534 535 536 537 538 539
  'compiler/alloc-number': [SKIP],
  'regress/regress-490': [SKIP],
  'regress/regress-create-exception': [SKIP],
  'regress/regress-3247124': [SKIP],

  # Requires bigger stack size in the Genesis and if stack size is increased,
  # the test requires too much time to run.  However, the problem test covers
  # should be platform-independent.
  'regress/regress-1132': [SKIP],

  # Currently always deopt on minus zero
  'math-floor-of-div-minus-zero': [SKIP],
540 541 542

  # Requires too much memory on MIPS.
  'regress/regress-752764': [SKIP],
543
  'regress/regress-779407': [SKIP],
544
}],  # 'arch == mipsel or arch == mips'
545

546
##############################################################################
547
['arch == mips64el or arch == mips64', {
548 549 550 551 552

  # Slow tests which times out in debug mode.
  'try': [PASS, ['mode == debug', SKIP]],
  'array-constructor': [PASS, ['mode == debug', SKIP]],

553 554 555
  # Slow in release mode on MIPS.
  'compiler/regress-stacktrace-methods': [PASS, SLOW],
  'array-splice': [PASS, SLOW],
556 557

  # Long running test.
558
  'string-indexof-2': [PASS, SLOW],
559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591

  # BUG(3251035): Timeouts in long looping crankshaft optimization
  # tests. Skipping because having them timeout takes too long on the
  # buildbot.
  'compiler/alloc-number': [PASS, SLOW],
  'compiler/array-length': [PASS, SLOW],
  'compiler/assignment-deopt': [PASS, SLOW],
  'compiler/deopt-args': [PASS, SLOW],
  'compiler/inline-compare': [PASS, SLOW],
  'compiler/inline-global-access': [PASS, SLOW],
  'compiler/optimized-function-calls': [PASS, SLOW],
  'compiler/pic': [PASS, SLOW],
  'compiler/property-calls': [PASS, SLOW],
  'compiler/recursive-deopt': [PASS, SLOW],
  'compiler/regress-4': [PASS, SLOW],
  'compiler/regress-funcaller': [PASS, SLOW],
  'compiler/regress-rep-change': [PASS, SLOW],
  'compiler/regress-arguments': [PASS, SLOW],
  'compiler/regress-funarguments': [PASS, SLOW],
  'compiler/regress-3249650': [PASS, SLOW],
  'compiler/simple-deopt': [PASS, SLOW],
  'regress/regress-490': [PASS, SLOW],
  'regress/regress-create-exception': [PASS, SLOW],
  'regress/regress-3218915': [PASS, SLOW],
  'regress/regress-3247124': [PASS, SLOW],

  # Requires bigger stack size in the Genesis and if stack size is increased,
  # the test requires too much time to run.  However, the problem test covers
  # should be platform-independent.
  'regress/regress-1132': [SKIP],

  # Currently always deopt on minus zero
  'math-floor-of-div-minus-zero': [SKIP],
592 593 594

  # Requires too much memory on MIPS.
  'regress/regress-752764': [SKIP],
595
  'regress/regress-779407': [SKIP],
596
}],  # 'arch == mips64el or arch == mips64'
597

598 599
##############################################################################
['system == windows', {
600
  # TODO(mstarzinger): Too slow with turbo fan.
601
  'big-object-literal': [SKIP],
602 603 604
  'math-floor-of-div': [PASS, ['mode == debug', SKIP]],
  'math-floor-of-div-nosudiv': [PASS, ['mode == debug', SKIP]],
  'unicodelctest': [PASS, ['mode == debug', SKIP]],
605

606 607 608
  # Setting the timezone and locale with environment variables unavailable
  'icu-date-to-string': [SKIP],
  'icu-date-lord-howe': [SKIP],
609
  'regress/regress-6288': [SKIP],
610
}],  # 'system == windows'
611

612 613 614 615 616 617
##############################################################################
['system == macos', {
  # BUG(v8:5333)
  'big-object-literal': [SKIP],
}],  # 'system == macos'

618
##############################################################################
619 620 621 622 623 624 625
['deopt_fuzzer == True', {

  # Skip tests that are not suitable for deoptimization fuzzing.
  'never-optimize': [SKIP],
  'regress/regress-2185-2': [SKIP],
  'readonly': [SKIP],
  'array-feedback': [SKIP],
626 627 628 629
  'deopt-recursive-eager-once': [SKIP],
  'deopt-recursive-lazy-once': [SKIP],
  'deopt-recursive-soft-once': [SKIP],
  'code-coverage-block-opt': [SKIP],
630

631 632 633
  # Bounds check triggers forced deopt for array constructors.
  'array-constructor-feedback': [SKIP],

634 635 636
  # Deopting uses just enough memory to make this one OOM.
  'regress/regress-3976': [SKIP],

637 638 639
  # Forced optimisation path tests.
  'shared-function-tier-up-turbo': [SKIP],

640
  # Fails deopt_fuzzer due to --deopt_every_n_times
641 642 643 644
  'es6/array-iterator-turbo': [SKIP],

  # BUG(v8:7466).
  'compiler/promise-constructor': [SKIP],
645
}],  # 'deopt_fuzzer == True'
646

647
##############################################################################
648
['gc_fuzzer', {
649 650 651
  'regress/regress-336820': [SKIP],
  'regress/regress-748069': [SKIP],
  'regress/regress-778668': [SKIP],
652
  'ignition/regress-672027': [PASS, ['tsan', SKIP]],
653
  'string-replace-gc': [PASS, SLOW, ['mode == debug', SKIP]],
654

655 656 657 658
  # Unsuitable for GC fuzzing because coverage information is lost on GC.
  'code-coverage-ad-hoc': [SKIP],
  'code-coverage-precise': [SKIP],

659 660
  # Fails allocation on tsan.
  'es6/classes': [PASS, ['tsan', SKIP]],
661 662 663 664 665 666 667 668 669 670 671 672

  # Tests that fail some assertions due to checking internal state sensitive
  # to GC. We mark PASS,FAIL to not skip those tests on the endurance fuzzer.
  'array-literal-feedback': [PASS, FAIL],
  'compiler/native-context-specialization-hole-check': [PASS, FAIL],
  'elements-transition-hoisting': [PASS, FAIL],
  'es6/collections-constructor-custom-iterator': [PASS, FAIL],
  'keyed-load-with-symbol-key': [PASS, FAIL],
  'regress/regress-3709': [PASS, FAIL],
  'regress/regress-trap-allocation-memento': [PASS, FAIL],
  'regress/regress-unlink-closures-on-deopt': [PASS, FAIL],
  'shared-function-tier-up-turbo': [PASS, FAIL],
673
}],  # 'gc_fuzzer'
674

675 676 677 678 679
##############################################################################
['endurance_fuzzer', {
  # BUG(v8:7400).
  'wasm/lazy-compilation': [SKIP],

680 681 682
  # BUG(v8:7429).
  'regress/regress-599414-array-concat-fast-path': [SKIP],

683 684
  # Often crashes due to memory consumption.
  'regress/regress-655573': [SKIP],
685 686 687 688 689 690

  # TSAN allocation failures.
  'deep-recursion': [PASS, ['tsan', SKIP]],
  'regress/regress-430201b': [PASS, ['tsan', SKIP]],
  'regress/regress-crbug-493779': [PASS, ['tsan', SKIP]],
  'regress/wasm/regress-763439': [PASS, ['tsan', SKIP]],
691 692
}],  # 'endurance_fuzzer'

693 694 695 696
##############################################################################
['predictable == True', {

  # Skip tests that are known to be non-deterministic.
697 698
  'd8/d8-worker-sharedarraybuffer': [SKIP],
  'd8/d8-os': [SKIP],
699
  'harmony/futex': [SKIP],
700 701 702

  # BUG(v8:7166).
  'd8/enable-tracing': [SKIP],
703 704
  # Relies on async compilation which requires background tasks.
  'wasm/streaming-error-position': [SKIP],
705 706
}],  # 'predictable == True'

707
##############################################################################
708
['arch == ppc and simulator_run or arch == ppc64 and simulator_run', {
709 710 711

  # take too long with the simulator.
  'regress/regress-1132': [SKIP],
712
  'regress/regress-740784': [SKIP],
713
  'regress/regress-crbug-482998': [PASS, SLOW],
714 715
  'regress/regress-91008': [PASS, SLOW],
  'harmony/regexp-property-lu-ui': [PASS, SLOW],
716 717
  'whitespaces': [PASS, SLOW],
  'wasm/grow-memory': [PASS, SLOW],
718
}],  # 'arch == ppc and simulator_run'
719

720 721 722 723 724
##############################################################################
['arch == ppc64', {

  # stack overflow
  'big-array-literal': [SKIP],
725
  'regress/regress-353551': [SKIP],
726 727
}],  # 'arch == ppc64'

728 729 730 731 732
##############################################################################
['arch == ppc64 or arch == ppc or arch == s390 or arch == s390x', {

  # TODO(ppc/s390): implement atomic operations
  'wasm/atomics': [SKIP],
733
  'wasm/shared-memory': [SKIP],
734
  # TODO(ppc/s390): fix constant pool issue and implement tagging for reloc
735
  'wasm/compiled-module-serialization': [SKIP],
736
  'regress/wasm/regress-808980': [SKIP],
737 738
}],  # 'arch == ppc64 or arch == ppc or arch == s390 or arch == s390x'

739 740
##############################################################################
['variant == stress', {
741 742
  'es6/array-iterator-turbo': [SKIP],

743
  'array-natives-elements': [SKIP],
744 745
  'ignition/regress-599001-verifyheap': [SKIP],
  'unicode-test': [SKIP],
746 747 748

  # Slow tests.
  'regress/regress-2185-2': [SKIP],
749 750
}],  # variant == stress

751 752 753 754 755 756
##############################################################################
['variant == nooptimization', {
  # Slow tests.
  'regress/regress-2185-2': [SKIP],
}],  # variant == nooptimization

757 758 759 760
##############################################################################
['gcov_coverage', {
  # Tests taking too long.
  'array-functions-prototype-misc': [SKIP],
761 762 763

  # Stack overflow.
  'big-array-literal': [SKIP],
764 765
}],  # 'gcov_coverage'

766
##############################################################################
767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784
['variant == wasm_traps', {
  # Skip stuff uninteresting for wasm traps
  'bugs/*': [SKIP],
  'compiler/*': [SKIP],
  'es6/*': [SKIP],
  'es7/*': [SKIP],
  'es8/*': [SKIP],
  'harmony/*': [SKIP],
  'ignition/*': [SKIP],
  'lithium/*': [SKIP],
  'third_party/*': [SKIP],
  'tools/*': [SKIP],
  'apply': [SKIP],
  'math-*': [SKIP],
  'unicode-test': [SKIP],
  'whitespaces': [SKIP],
}],  # variant == wasm_traps

785 786 787 788 789 790
['variant == wasm_traps and gc_stress == True', {
  # TODO(eholk): these tests are disabled due to address space exhaustion.
  # Re-enable them once Wasm address space limits are in place.
  '*': [SKIP],
}],  # variant == wasm_traps and gc_stress == True

791 792 793 794 795 796 797
##############################################################################
['no_harness', {
    # skip assertion tests since the stack trace is broken if mjsunit is
    # included in the snapshot
    'mjsunit-assertion-error' : [SKIP],
}], # no_harness

798 799 800 801 802 803
##############################################################################
['arch != x64 or deopt_fuzzer', {
    # Skip stress-deopt-count tests since it's in x64 only
    'compiler/stress-deopt-count-*': [SKIP],
}], # arch != x64 or deopt_fuzzer

804 805 806 807 808 809 810
##############################################################################
# Liftoff is currently only sufficiently implemented on x64 and ia32.
# TODO(clemensh): Implement on all other platforms (crbug.com/v8/6600).
['arch != x64 and arch != ia32', {
  'wasm/liftoff': [SKIP],
}], # arch != x64 and arch != ia32

811 812 813 814 815 816 817
##############################################################################
['variant == liftoff', {
  # In the liftoff variant, liftoff compilation happens even though the test
  # does not explicitly enable it.
  'wasm/default-liftoff-setting': [SKIP],
}], # variant == liftoff

818 819 820 821 822 823 824
##############################################################################
['variant == slow_path and gc_stress', {
  # Slow tests.
  'regress/regress-crbug-493779': [SKIP],
  'string-replace-gc': [SKIP],
}],  # variant == slow_path

825
]