# Copyright 2012 the V8 project authors. All rights reserved.
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
#     * Redistributions of source code must retain the above copyright
#       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.

[
[ALWAYS, {
  # 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:
  # Skip long running test in debug and allow it to timeout in release mode.
  # regress/regress-524: [PASS, TIMEOUT, ['mode == debug', SKIP]],

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

  # Issue 4698: not fully supported by Turbofan yet
  'es6/tail-call': [PASS, NO_VARIANTS],

  # Issue 3389: deopt_every_n_garbage_collections is unsafe
  'regress/regress-2653': [SKIP],

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

  # Issue 3641: The new 'then' semantics suppress some exceptions.
  # These tests may be changed or removed when 'chain' is deprecated.
  'es6/debug-promises/reject-with-throw-in-reject': [FAIL],
  'es6/debug-promises/reject-with-undefined-reject': [FAIL],
  'es6/debug-promises/reject-with-invalid-reject': [FAIL],

  ##############################################################################
  # TurboFan compiler failures.

  # TODO(verwaest): Some tests are over-restrictive about object layout.
  'array-constructor-feedback': [PASS, NO_VARIANTS],
  'array-feedback': [PASS, NO_VARIANTS],
  'compare-known-objects-slow': [PASS, NO_VARIANTS],
  'elements-kind': [PASS, NO_VARIANTS],
  'opt-elements-kind': [PASS, NO_VARIANTS],
  'smi-representation': [PASS, NO_VARIANTS],

  # Some tests are just too slow to run for now.
  'big-object-literal': [PASS, NO_VARIANTS],
  'bit-not': [PASS, NO_VARIANTS],
  'json2': [PASS, NO_VARIANTS],
  'packed-elements': [PASS, NO_VARIANTS],
  'string-indexof-1': [PASS, NO_VARIANTS],
  'unbox-double-arrays': [PASS, NO_VARIANTS],
  'unicode-test': [PASS, NO_VARIANTS],
  'whitespaces': [PASS, NO_VARIANTS],
  'compiler/osr-assert': [PASS, NO_VARIANTS],
  'es6/string-fromcodepoint': [PASS, NO_VARIANTS],
  'regress/regress-2185-2': [PASS, NO_VARIANTS],
  'regress/regress-2612': [PASS, NO_VARIANTS],

  # Modules are busted
  'harmony/module-linking': [SKIP],
  'harmony/module-recompile': [SKIP],
  'harmony/module-resolution': [SKIP],
  'harmony/regress/regress-343928': [SKIP],

  # Proxy tests rely on non ES6 version of Proxies
  # TODO(neis,cbruni): figure out which Proxy tests can be reused
  'harmony/proxies-example-membrane': [SKIP],
  'strong/load-proxy': [SKIP],

  # Issue 3660: Replacing activated TurboFan frames by unoptimized code does
  # not work, but we expect it to not crash.
  'debug-step-turbofan': [PASS, FAIL],

  # TODO(mstarzinger): Optimizing top-level code revealed some issues. Fix!
  'bitops-info': [PASS, NO_VARIANTS],  # fails on ARM hardware.
  'md5': [PASS, NO_VARIANTS],  # fails on ARM hardware.
  'debug-break-inline': [PASS, NO_VARIANTS],  # very flaky.
  'debug-compile-event-newfunction': [PASS, NO_VARIANTS],
  'debug-conditional-breakpoints': [PASS, NO_VARIANTS],
  'debug-evaluate-locals-optimized': [PASS, NO_VARIANTS],
  'debug-evaluate-locals-optimized-double': [PASS, NO_VARIANTS],
  'debug-evaluate-recursive': [PASS, NO_VARIANTS],  # only in no-snap debug.
  'debug-ignore-breakpoints': [PASS, NO_VARIANTS],  # only in no-snap debug.
  'debug-setbreakpoint': [PASS, NO_VARIANTS],  # only in no-snap debug.
  'debug-step': [PASS, NO_VARIANTS],  # windows only.
  'debug-step-2': [PASS, NO_VARIANTS],  # flaky in no-snap mode.
  'debug-step-3': [PASS, NO_VARIANTS],  # flaky in no-snap mode.
  'debug-stepframe-clearing': [PASS, NO_VARIANTS],  # only in no-snap debug.
  'debug-stepin-call-function-stub': [PASS, NO_VARIANTS],  # only in no-snap debug.
  'debug-stepin-positions': [PASS, NO_VARIANTS],  # only due to inlining.
  'regress/regress-3717': [PASS, NO_VARIANTS],  # only in no-snap mode.
  'regress/regress-2451': [PASS, NO_VARIANTS],  # with custom snapshot and gc-stress.
  'debug-multiple-breakpoints': [PASS, NO_VARIANTS],  # with custom snapshot and gc-stress.
  'debug-listbreakpoints': [PASS, NO_VARIANTS],  # arm64 nosnap with turbofan
  'debug-enable-disable-breakpoints': [PASS, NO_VARIANTS],  #arm64 nosnap with turbofan.

  # Issue 3956: Strong mode is deprecating. The expectations inside the
  # following tests should be updated once deprecation is complete.
  'strong/destructuring': [SKIP],
  'strong/implicit-conversions': [SKIP],
  'strong/implicit-conversions-count': [SKIP],
  'strong/implicit-conversions-inlining': [SKIP],
  'strong/load-builtins': [SKIP],
  'strong/load-element': [SKIP],
  'strong/load-element-mutate-backing-store': [SKIP],
  'strong/load-property': [SKIP],
  'strong/load-property-mutate-backing-store': [SKIP],
  'strong/load-super': [SKIP],
  'strong/literals': [SKIP], # Rest arguments do not respect strongness in Turbofan.

  # Issue 4035: unexpected frame->context() in debugger
  'regress/regress-crbug-107996': [PASS, NO_VARIANTS],
  'regress/regress-crbug-171715': [PASS, NO_VARIANTS],
  'regress/regress-crbug-222893': [PASS, NO_VARIANTS],
  'regress/regress-crbug-323936': [PASS, NO_VARIANTS],
  'regress/regress-crbug-491943': [PASS, NO_VARIANTS],
  'regress/regress-325676': [PASS, NO_VARIANTS],
  'debug-evaluate-closure': [PASS, NO_VARIANTS],
  'debug-evaluate-with': [PASS, NO_VARIANTS],

  # TODO(mstarzinger): Optimizing top-level code flushed out some correctness
  # issues on ARM and ARM64.
  'es6/math-log2-log10': [PASS, NO_VARIANTS],  # on ARM and ARM64.
  'mirror-script': [PASS, NO_VARIANTS],  # on ARM64 only.

  # TODO(jarin/mstarzinger): Investigate debugger issues with TurboFan.
  'debug-evaluate-const': [PASS, NO_VARIANTS],
  'debug-evaluate-locals': [PASS, NO_VARIANTS],
  'debug-evaluate-locals-capturing': [PASS, NO_VARIANTS],
  'debug-liveedit-check-stack': [PASS, NO_VARIANTS],  # only in no-snap mode.
  'debug-liveedit-double-call': [PASS, NO_VARIANTS],
  'debug-set-variable-value': [PASS, NO_VARIANTS],
  'debug-stepout-scope-part1': [PASS, NO_VARIANTS],
  'debug-stepout-scope-part2': [PASS, NO_VARIANTS],
  'debug-stepout-scope-part3': [PASS, NO_VARIANTS],
  'es6/debug-evaluate-blockscopes': [PASS, NO_VARIANTS],
  # Issue 4055: Scope chain length observed by debugger is off.
  'es6/generators-debug-scopes': [PASS, NO_VARIANTS],

  # TODO(titzer): --always-opt incorrectly disables CrankShaft soft deopt points
  'result-table-min': [PASS, NO_VARIANTS],
  'result-table-max': [PASS, NO_VARIANTS],
  # TODO(titzer): too slow in --turbo mode due to O(n^2) graph verification.
  'regress/regress-1122': [PASS, NO_VARIANTS],

  # Assumptions about optimization need investigation in TurboFan.
  'regress-sync-optimized-lists': [PASS, NO_VARIANTS],
  'regress/regress-store-uncacheable': [PASS, NO_VARIANTS],

  # issue 4078:
  'allocation-site-info': [PASS, NO_VARIANTS],

  ##############################################################################
  # Too slow in debug mode with --stress-opt mode.
  'compiler/regress-stacktrace-methods': [PASS, ['mode == debug', SKIP]],
  'compiler/regress-funcaller': [PASS, ['mode == debug', SKIP]],
  'regress/regress-2318': [PASS, ['mode == debug', SKIP]],
  'regress/regress-create-exception': [PASS, ['mode == debug', SKIP]],

  ##############################################################################
  # Too slow in debug mode for validation of elements.
  'regress/regress-430201': [PASS, ['mode == debug', SKIP]],
  'regress/regress-430201b': [PASS, ['mode == debug', SKIP]],

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

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

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

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

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

  # Issue 4413: this test sometimes times out with TSAN because we trigger
  # the slow path in C++ with holey arrays in Function.prototype.apply.
  # TODO(bmeurer): Add fast support for holey arrays in apply.
  'apply': [PASS, TIMEOUT],

  # Very slow on ARM and MIPS, contains no architecture dependent code.
  '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', TIMEOUT]],
  '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]],
  '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]],

  ##############################################################################
  # This test expects to reach a certain recursion depth, which may not work
  # for debug mode.
  'json-recursive': [PASS, ['mode == debug', PASS, FAIL]],

  ##############################################################################
  # Skip long running tests that time out in debug mode.
  'generated-transition-stub': [PASS, ['mode == debug', SKIP]],
  'migrations': [SKIP],
  'array-functions-prototype-misc': [PASS, SLOW, ['mode == debug', SKIP]],

  ##############################################################################
  # 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.
  # 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.
  'd8-os': [PASS, NO_VARIANTS, ['isolates or arch == android_arm or arch == android_arm64 or arch == android_ia32', SKIP]],
  'tools/tickprocessor': [PASS, NO_VARIANTS, ['arch == android_arm or arch == android_arm64 or arch == android_ia32', SKIP]],

  ##############################################################################
  # Long running test that reproduces memory leak and should be run manually.
  'regress/regress-2073': [SKIP],

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

  ##############################################################################
  # 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': [PASS, ['mode == debug', SKIP]],
  'regress/regress-634-debug': [PASS, ['mode == release', SKIP]],

  # BUG(336820). TODO(bmeurer): Investigate.
  'regress/regress-336820': [PASS, FAIL],

  # BUG(v8:2989). PASS/FAIL on linux32 because crankshaft is turned off for
  # nosse2. Also for arm novfp3.
  'regress/regress-2989': [FAIL, NO_VARIANTS, ['system == linux and arch == x87 or arch == arm and simulator == True', PASS]],

  # Skip endain dependent test for mips due to different typed views of the same
  # array buffer.
  'nans': [PASS, ],

  # 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]],

  # Too slow for slow variants.
  'asm/embenchen/*': [PASS, SLOW, FAST_VARIANTS],
  'asm/poppler/*': [PASS, SLOW, FAST_VARIANTS],
  'asm/sqlite3/*': [PASS, SLOW, FAST_VARIANTS],

  # BUG(v8:3838).
  'regress/regress-3116': [PASS, ['isolates', FLAKY]],

  # BUG(v8:4458). TODO(mvstanton): reenable the test once --vector-stores is
  # prermanently enabled.
  'call-counts': [SKIP],

  # BUG(chromium:508074). Remove this once the issue is fixed.
  'harmony/arrow-rest-params': [PASS, NO_VARIANTS],
  'harmony/rest-params': [PASS, ['no_snap == True', NO_VARIANTS]],

  # Slow tests.
  'copy-on-write-assert': [PASS, SLOW],
  'debug-scopes': [PASS, SLOW],
  'es7/object-observe': [PASS, ['mode == debug', SLOW]],
  'numops-fuzz-part*': [PASS, ['mode == debug', SLOW]],
  'readonly': [PASS, SLOW],
  'regress/regress-1200351': [PASS, ['mode == debug', SLOW]],
  'regress/regress-crbug-474297': [PASS, ['mode == debug', SLOW]],

  # TODO(titzer): correct WASM adapter frame alignment on arm64
  'wasm/*': [PASS, ['arch == arm64', SKIP]],
  'wasm/asm-wasm': [PASS, ['arch == arm or arch == arm64', SKIP]],

  # case-insensitive unicode regexp relies on case mapping provided by ICU.
  'harmony/unicode-regexp-ignore-case': [PASS, ['no_i18n == True', FAIL]],
  'harmony/unicode-regexp-ignore-case-noi18n': [FAIL, ['no_i18n == True', PASS]],
  # desugaring regexp property class relies on ICU.
  'harmony/unicode-regexp-property-class': [PASS, ['no_i18n == True', FAIL]],
}],  # ALWAYS

['novfp3 == True', {
  'asm/embenchen/box2d': [SKIP],
  'asm/embenchen/zlib': [SKIP],
  'asm/embenchen/memops': [SKIP],
  'asm/embenchen/lua_binarytrees': [SKIP],
}],  # novfp3 == True

##############################################################################
['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],
  'd8-performance-now': [SKIP],
  'elements-kind': [SKIP],
  'elements-transition-hoisting': [SKIP],
  'fast-prototype': [SKIP],
  'field-type-tracking': [SKIP],
  'getters-on-elements': [SKIP],
  'es6/block-let-crankshaft': [SKIP],
  'opt-elements-kind': [SKIP],
  'osr-elements-kind': [SKIP],
  'regress/regress-crbug-137689': [SKIP],
  'regress/regress-165637': [SKIP],
  'regress/regress-2249': [SKIP],
  'regress/regress-4121': [SKIP],
  'compare-known-objects-slow': [SKIP],
  # Tests taking too long
  'debug-stepout-scope-part8': [SKIP],
  'mirror-object': [SKIP],
  'packed-elements': [SKIP],
  'regress/regress-1122': [SKIP],
  'regress/regress-331444': [SKIP],
  'regress/regress-353551': [SKIP],
  'regress/regress-crbug-119926': [SKIP],
  'regress/short-circuit': [SKIP],
  'stack-traces-overflow': [SKIP],
  'unicode-test': [SKIP],
  'whitespaces': [SKIP],

  # TODO(mstarzinger): Takes too long with TF.
  'array-sort': [PASS, NO_VARIANTS],
  'regress/regress-91008': [PASS, NO_VARIANTS],
  'regress/regress-417709a': [PASS, ['arch == arm64', NO_VARIANTS]],
  'regress/regress-transcendental': [PASS, ['arch == arm64', NO_VARIANTS]],
  'compiler/osr-regress-max-locals': [PASS, NO_VARIANTS],
  'math-floor-of-div': [PASS, NO_VARIANTS],
  'unicodelctest': [PASS, NO_VARIANTS],
  'unicodelctest-no-optimization': [PASS, NO_VARIANTS],

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

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

  # Issue 3723.
  'regress/regress-3717': [SKIP],

  # BUG(v8:4237)
  'regress/regress-3976': [SKIP],

  # BUG(v8:4359)
  'strong/load-proxy': [SKIP],

  # Slow tests.
  'array-constructor': [PASS, SLOW],
  'json': [PASS, SLOW],
  'regress/regress-446389': [PASS, SLOW],
  'regress/regress-inline-getter-near-stack-limit': [PASS, SLOW],

  # BUG(v8:3097)
  'debug-references': [SKIP],

  # BUG(v8:4754).
  'debug-referenced-by': [PASS, NO_VARIANTS],
}],  # 'gc_stress == True'

##############################################################################
['no_i18n == True and mode == debug', {
  # Tests too slow for no18n debug.
  'regress/regress-1200351': [SKIP],
}],  # 'no_i18n == True and mode == debug'

##############################################################################
['byteorder == big', {
  # Emscripten requires little-endian, skip all tests on big endian platforms.
  'asm/embenchen/*': [SKIP],
  'asm/poppler/*': [SKIP],
  'asm/sqlite3/*': [SKIP],
  # TODO(mips-team): Fix Wasm for big-endian.
  'wasm/*': [SKIP],
}],  # 'byteorder == big'

##############################################################################
['arch == arm64 or arch == android_arm64', {

  # arm64 TF timeout.
  'regress/regress-1257': [PASS, TIMEOUT],

  # 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.
  # Some similar tests (with fewer iterations) may be included in arm64-js
  # tests.
  'asm/embenchen/box2d': [SKIP],
  'asm/embenchen/lua_binarytrees': [SKIP],
  'big-object-literal': [SKIP],
  'compiler/regress-arguments': [SKIP],
  'compiler/regress-gvn': [SKIP],
  'compiler/regress-max-locals-for-osr': [SKIP],
  'compiler/regress-4': [SKIP],
  'compiler/regress-or': [SKIP],
  'compiler/regress-rep-change': [SKIP],
  'regress/regress-1117': [SKIP],
  'regress/regress-1145': [SKIP],
  'regress/regress-1849': [SKIP],
  'regress/regress-3247124': [SKIP],
  'regress/regress-634': [SKIP],
  'regress/regress-91008': [SKIP],
  'regress/regress-91010': [SKIP],
  'regress/regress-91013': [SKIP],
  'regress/regress-99167': [SKIP],

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

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

  # Slow tests.
  'array-concat': [PASS, SLOW],
  'array-constructor': [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],
  'debug-scopes': [PASS, SLOW],
  'generated-transition-stub': [PASS, SLOW],
  'json2': [PASS, SLOW],
  'math-floor-of-div-nosudiv': [PASS, SLOW],
  'math-floor-of-div': [PASS, SLOW],
  'mirror-object': [PASS, SLOW],
  'packed-elements': [PASS, SLOW],
  'regress/regress-1122': [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],
  'whitespaces': [PASS, TIMEOUT, SLOW],
}],  # 'arch == arm64'

['arch == arm64 and mode == debug and simulator_run == True', {

  # Pass but take too long with the simulator in debug mode.
  'array-iterate-backwards': [PASS, TIMEOUT],
  'array-sort': [PASS, TIMEOUT],
  'packed-elements': [SKIP],
  'regexp-global': [SKIP],
  'compiler/alloc-numbers': [SKIP],
  'harmony/symbols': [SKIP],
  'math-floor-of-div': [PASS, TIMEOUT],
  'math-floor-of-div-nosudiv': [PASS, TIMEOUT],
  'unicodelctest': [PASS, TIMEOUT],
  'unicodelctest-no-optimization': [PASS, TIMEOUT],
  # Issue 3219:
  'getters-on-elements': [PASS, ['gc_stress == True', FAIL]],
}],  # 'arch == arm64 and mode == debug and simulator_run == True'

##############################################################################
['asan == True', {
  # Skip tests not suitable for ASAN.
  'big-array-literal': [SKIP],
  'big-object-literal': [SKIP],
  'regress/regress-crbug-178790': [SKIP],

  # Exception thrown during bootstrapping on ASAN builds, see issue 4236.
  'regress/regress-1132': [SKIP],
}],  # 'asan == True'

##############################################################################
['msan == True', {
  # Skip tests not suitable for MSAN.
  'big-array-literal': [SKIP],
  # ICU upstream issues.
  'date': [SKIP],
  'deep-recursion': [SKIP],
  'regress/regress-builtinbust-7': [SKIP],
  'string-localecompare': [SKIP],
}],  # 'msan == True'

##############################################################################
['arch == arm or arch == android_arm', {

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

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

  # Times out often in release mode on ARM.
  'compiler/regress-stacktrace-methods': [PASS, ['mode == release', TIMEOUT]],
  'array-splice': [PASS, TIMEOUT],

  # Long running tests. Skipping because having them timeout takes too long on
  # the buildbot.
  'big-object-literal': [SKIP],
  'compiler/alloc-number': [SKIP],
  'regress/regress-490': [SKIP],
  'regress/regress-634': [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],

  # Slow tests.
  'array-sort': [PASS, SLOW],
  'compiler/osr-with-args': [PASS, SLOW],
  'mirror-object': [PASS, SLOW],
  'packed-elements': [PASS, SLOW],
  'regress/regress-2185-2': [PASS, SLOW],
  'regress/regress-2790': [PASS, SLOW],
  'regress/regress-91008': [PASS, SLOW],
  'regress/regress-json-stringify-gc': [PASS, SLOW],
  'string-indexof-2': [PASS, TIMEOUT],
}],  # 'arch == arm or arch == android_arm'

##############################################################################
['arch == mipsel or arch == mips', {

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

  # Times out often in release mode on MIPS.
  'compiler/regress-stacktrace-methods': [PASS, ['mode == release', TIMEOUT]],
  'array-splice': [PASS, TIMEOUT],

  # Long running test.
  'mirror-object': [PASS, TIMEOUT],
  'string-indexof-2': [PASS, TIMEOUT],

  # Long running tests. Skipping because having them timeout takes too long on
  # the buildbot.
  'compiler/alloc-number': [SKIP],
  'regress/regress-490': [SKIP],
  'regress/regress-634': [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],
}],  # 'arch == mipsel or arch == mips'

##############################################################################
['arch == mips', {
  # Flaky with TF.
  'mirror-script': [PASS, NO_VARIANTS],
}],  # 'arch == mips'

##############################################################################
['arch == x87', {
  # Turbofan will hit the known issue that x87 changes sNaN to qNaN by default.
  'regress/regress-undefined-nan': [SKIP],
  'regress/regress-crbug-242924': [SKIP],
}],  # 'arch == x87'

##############################################################################
['arch == mips64el or arch == mips64', {

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

  # Times out often in release mode on MIPS.
  'compiler/regress-stacktrace-methods': [PASS, PASS, ['mode == release', TIMEOUT]],
  'array-splice': [PASS, TIMEOUT],

  # Long running test.
  'mirror-object': [PASS, TIMEOUT],
  'string-indexof-2': [PASS, TIMEOUT],

  # 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-634': [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],
}],  # 'arch == mips64el or arch == mips64'

##############################################################################
['system == windows', {
  # TODO(mstarzinger): Too slow with turbo fan.
  'big-object-literal': [PASS, ['mode == debug', SKIP]],
  'math-floor-of-div': [PASS, ['mode == debug', SKIP]],
  'math-floor-of-div-nosudiv': [PASS, ['mode == debug', SKIP]],
  'osr-regress-max-locals': [PASS, ['mode == debug', SKIP]],
  'unicodelctest': [PASS, ['mode == debug', SKIP]],

  # BUG(v8:3435)
  'debug-script-breakpoints': [PASS, FAIL],

  # BUG(v8:4495).
  'es6/collections': [PASS, ['arch == ia32', FAST_VARIANTS]],
}],  # 'system == windows'

##############################################################################
# Native Client uses the ARM simulator so will behave similarly to arm
# on mjsunit tests.
# TODO(bradchen): enable more tests for NaCl V8 when it stops using
# the ARM simulator.
##############################################################################
['arch == nacl_ia32 or arch == nacl_x64', {
  # There is no /tmp directory for NaCl runs
  'd8-os': [SKIP],

  # Stack manipulations in LiveEdit is not implemented for this arch.
  'debug-liveedit-check-stack': [SKIP],
  'debug-liveedit-stack-padding': [SKIP],
  'debug-liveedit-restart-frame': [SKIP],
  'debug-liveedit-double-call': [SKIP],
  'harmony/generators-debug-liveedit': [SKIP],

  # NaCl builds have problems with this test since Pepper_28.
  # V8 Issue 2786
  'math-exp-precision': [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],

  # Poor performance for NaCl V8 causes an assertion failure for this test.
  'regress/regress-165637': [SKIP],

  # Skip long running test that times out in debug mode and goes OOM on NaCl.
  'regress/regress-crbug-160010': [SKIP],

  # Skip tests that timout with turbofan.
  'regress/regress-1257': [PASS, NO_VARIANTS],
  'regress/regress-2618': [PASS, NO_VARIANTS],
  'regress/regress-298269': [PASS, NO_VARIANTS],
  'regress/regress-634': [PASS, NO_VARIANTS],
  'regress/regress-91008': [PASS, NO_VARIANTS],
  'compiler/osr-alignment': [PASS, NO_VARIANTS],
  'compiler/osr-one': [PASS, NO_VARIANTS],
  'compiler/osr-two': [PASS, NO_VARIANTS],
  'stack-traces-overflow': [PASS, NO_VARIANTS],
  'mirror-object': [PASS, NO_VARIANTS],

  # Bug(v8:2978).
  'lithium/MathExp': [PASS, FAIL],

  # Lead to OOM:
  'string-oom-*': [SKIP],

  # Crashes.
  'harmony/private': [SKIP],
  'harmony/symbols': [SKIP],
}],  # 'arch == nacl_ia32 or arch == nacl_x64'

##############################################################################
['deopt_fuzzer == True', {

  # Skip tests that are not suitable for deoptimization fuzzing.
  'assert-opt-and-deopt': [SKIP],
  'never-optimize': [SKIP],
  'regress/regress-2185-2': [SKIP],
  'readonly': [SKIP],
  'array-feedback': [SKIP],

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

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

  # Deopt every n garbage collections collides with deopt every n times.
  'regress/regress-2653': [SKIP],
}],  # 'deopt_fuzzer == True'

##############################################################################
['predictable == True', {

  # Skip tests that are known to be non-deterministic.
  'd8-worker-sharedarraybuffer': [SKIP],
  'd8-os': [SKIP],
}],  # 'predictable == True'

##############################################################################
['arch == ppc and simulator_run == True or arch == ppc64 and simulator_run == True', {

  # take too long with the simulator.
  'regress/regress-1132': [SKIP],
}],  # 'arch == ppc and simulator_run == True'

['ignition == True', {
  # Skip strong mode tests since strong mode is unsupported on ignition.
  'strong/*': [SKIP],

  # TODO(yangguo,4690): Requires debugger support.
  'es6/debug*': [SKIP],
  'harmony/debug*': [SKIP],
  'regress/debug*': [SKIP],
  'regress/regress-debug*': [SKIP],

  # TODO(yangguo,4690): assertion failures in debugger tests.
  'debug-allscopes-on-debugger': [FAIL],
  'debug-liveedit-restart-frame': [FAIL],
  'debug-return-value': [FAIL],
  'debug-liveedit-literals': [FAIL],
  'debug-liveedit-3': [FAIL],
  'debug-liveedit-1': [FAIL],
  'debug-step-into-json': [FAIL],
  'debug-liveedit-patch-positions-replace': [FAIL],
  'debug-step-into-valueof': [FAIL],
  'debug-liveedit-patch-positions': [FAIL],
  'debug-liveedit-stepin': [FAIL],
  'debug-step-4': [FAIL],
  'debug-liveedit-newsource': [FAIL],
  'debug-liveedit-stack-padding': [FAIL],
  'debug-stepframe': [FAIL],
  'debug-negative-break-points': [FAIL],
  'debug-stepin-accessor': [FAIL],
  'debug-step-stub-callfunction': [FAIL],
  'debug-liveedit-breakpoints': [FAIL],
  'debug-stepin-accessor-ic': [FAIL],
  'debug-stepin-builtin': [FAIL],
  'debug-stepin-foreach': [FAIL],
  'debug-stepnext-do-while': [FAIL],
  'debug-stepin-builtin-callback-opt': [FAIL],
  'debug-stepin-function-call': [FAIL],

  # TODO(yangguo,4690): Check failure in debug.cc BreakLocation::SetBreakPoint
  # DCHECK(IsDebugBreak() || IsDebuggerStatement());
  'regress/regress-1523': [FAIL],
  'regress/regress-102153': [FAIL],
  'regress/regress-2825': [FAIL],
  'regress/regress-crbug-119800': [FAIL],
  'regress/regress-crbug-467180': [FAIL],
  'regress/regress-opt-after-debug-deopt': [FAIL],

  # TODO(rmcilroy,4681): Requires support for generators.
  'messages': [FAIL],
  'es6/array-from': [FAIL],
  'regress-3225': [FAIL],
  'es6/classes-subclass-builtins': [FAIL],
  'es6/computed-property-names-classes': [FAIL],
  'es6/computed-property-names-object-literals-methods': [FAIL],
  'es6/function-length-configurable': [FAIL],
  'es6/generators-poisoned-properties': [FAIL],
  'es6/generators-runtime': [FAIL],
  'es6/generators-objects': [FAIL],
  'es6/generators-parsing': [FAIL],
  'es6/generators-iteration': [FAIL],
  'es6/generators-states': [FAIL],
  'es6/iteration-semantics': [FAIL],
  'es6/iterator-prototype': [FAIL],
  'es6/generators-mirror': [FAIL],
  'es6/object-literals-method': [FAIL],
  'es6/object-literals-super': [FAIL],
  'es6/generators-relocation': [FAIL],
  'es6/spread-array': [FAIL],
  'es6/generators-debug-liveedit': [FAIL],
  'es6/spread-call': [FAIL],
  'es6/typedarray-from': [FAIL],
  'es6/typedarray': [FAIL],
  'es6/regress/regress-2681': [FAIL],
  'es6/regress/regress-2691': [FAIL],
  'es6/regress/regress-3280': [FAIL],
  'harmony/destructuring-assignment': [FAIL],
  'harmony/function-sent': [FAIL],
  'harmony/reflect-enumerate-delete': [FAIL],
  'harmony/reflect-enumerate-special-cases': [FAIL],
  'harmony/proxies-enumerate': [FAIL],
  'harmony/reflect-enumerate-opt': [FAIL],
  'harmony/reflect-enumerate': [FAIL],
  'harmony/destructuring': [FAIL],
  'harmony/regress/regress-4482': [FAIL],
  'harmony/generators': [FAIL],
  'harmony/iterator-close': [FAIL],
  'harmony/reflect-construct': [FAIL],
  'es6/promises': [FAIL],

  # TODO(rmcilroy,4680): Check failed in
  # BytecodeGenerator::VisitFunctionLiteral - !shared_info.is_null().
  'regress/regress-crbug-429159': [FAIL],

  # TODO(rmcilroy,4680): Pass on debug, fail on release.
  'compiler/regress-stacktrace-methods': [PASS, ['mode == release', FAIL]],

  # TODO(rmcilroy,4680): Test assert failures.
  'array-literal-feedback': [FAIL],
  'undetectable-compare': [FAIL],
  'debug-liveedit-2': [FAIL],
  'es6/string-search': [FAIL],
  'es6/mirror-collections': [FAIL],
  'es6/regress/regress-468661': [FAIL],
  'harmony/string-replace': [FAIL],
  'harmony/string-match': [FAIL],
  'harmony/string-split': [FAIL],
  'regress/regress-2618': [FAIL],
  'regress/regress-4121': [FAIL],
  'regress/regress-4266': [FAIL],
  'harmony/simd': [FAIL],
  'regress/regress-crbug-109362': [FAIL],
  'regress/regress-crbug-568477-2': [FAIL],
  'regress/regress-crbug-568477-3': [FAIL],
  'regress/regress-crbug-568477-1': [FAIL],
  'regress/regress-2318': [FAIL],

  # TODO(rmcilroy, 4680): new ES6 instanceof support
  'harmony/instanceof-es6': [SKIP],

  # TODO(rmcilroy,4680): Test timeouts.
  'array-literal-transitions': [SKIP],
  'regress/regress-crbug-517592': [SKIP],
  'regress/regress-crbug-568477-4': [SKIP],
  'regress/regress-crbug-409614': [SKIP],
  'regress/regress-crbug-42414': [SKIP],
  'regress/regress-1853': [SKIP],
  'regress/regress-crbug-424142': [SKIP],
}],  # ignition == True

['ignition == True and arch == arm64', {
  # TODO(rmcilroy,4680): Fails on Arm64 due to expecting to take less than 3
  # seconds.
  'regress/regress-165637': [FAIL],
}],  # ignition == True and arch == arm64

['ignition == True and (arch == arm or arch == arm64)', {
  # TODO(rmcilroy,4680): Arm / Arm64 specific timeouts.
  'asm/construct-double': [SKIP],
  'compiler/osr-nested': [SKIP],
  'compiler/osr-one': [SKIP],
  'compiler/osr-two': [SKIP],
  'regress/regress-1257': [SKIP],
  'regress/regress-165637': [SKIP],
  'regress/regress-2185': [SKIP],
  'regress/regress-91008': [SKIP],
  'unicodelctest': [SKIP],
  'unicodelctest-no-optimization': [SKIP],
}],  # ignition == True and (arch == arm or arch == arm64)

##############################################################################
['gcov_coverage', {
  # Tests taking too long.
  'array-functions-prototype-misc': [SKIP],
  'strong/implicit-conversions': [SKIP],
  'strong/load-element-mutate-backing-store': [SKIP],

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

]
