# 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 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],
  'ignition/regress-599001-verifyheap': [PASS, NO_VARIANTS],
  'es6/string-fromcodepoint': [PASS, NO_VARIANTS],
  'regress/regress-2185-2': [PASS, NO_VARIANTS],
  'regress/regress-2612': [PASS, NO_VARIANTS],

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

  ##############################################################################
  # 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]],
  'tools/dumpcpp': [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-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:4458). TODO(mvstanton): reenable the test once --vector-stores is
  # prermanently enabled.
  'call-counts': [SKIP],

  # Slow tests.
  'copy-on-write-assert': [PASS, SLOW],
  'debug-scopes': [PASS, 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]],
  'es6/tail-call-megatest*': [PASS, SLOW, FAST_VARIANTS, ['tsan', SKIP]],

  # TODO(titzer): ASM->WASM tests on these platforms
  'wasm/asm-wasm': [PASS, ['arch in [arm, arm64, mips, mipsel, mips64, mips64el]', SKIP]],
  # TODO(branelson): Figure out why ignition + asm-wasm-stdlib fails.
  'wasm/asm-wasm-stdlib': [PASS, ['arch in [arm, arm64, mips, mipsel, mips64, mips64el] or ignition == True', SKIP]],
  'wasm/asm-wasm-literals': [PASS, ['arch in [arm, arm64, mips, mipsel, mips64, mips64el] or ignition == True', SKIP]],
  'wasm/asm-wasm-copy': [PASS, ['arch in [arm, arm64, mips, mipsel, mips64, mips64el]', SKIP]],
  'wasm/asm-wasm-deopt': [PASS, ['arch in [arm, arm64, mips, mipsel, mips64, mips64el]', SKIP]],
  'wasm/asm-wasm-switch': [PASS, ['arch in [arm, arm64, mips, mipsel, mips64, mips64el]', SKIP]],

  # TODO(branelson): Figure out why ignition + asm->wasm fails embenchen.
  'wasm/embenchen/*': [PASS, ['arch == arm64', SKIP], ['ignition == True', SKIP]],

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

  # TODO(bmeurer): Flaky timeouts (sometimes <1s, sometimes >3m).
  'unicodelctest': [PASS, NO_VARIANTS],
  'unicodelctest-no-optimization': [PASS, NO_VARIANTS],

  ############################################################################
  # Ignition

  # TODO(mythria, 4780): Related to type feedback for calls in interpreter.
  'array-literal-feedback': [PASS, NO_IGNITION],
  'regress/regress-4121': [PASS, NO_IGNITION],

  # TODO(mythria, 4764): lack of osr support.
  'regress/regress-2618': [PASS, NO_IGNITION],

  # TODO(mythria, 4764): lack of osr support. The tests waits in a loop
  # till it is optimized. So test timeouts.
  'array-literal-transitions': [PASS, NO_IGNITION],

  # TODO(4680): Test doesn't know about three tier compiler pipeline.
  'assert-opt-and-deopt': [PASS, NO_IGNITION],

  # BUG(rmcilroy,4989): Function is optimized without type feedback and so immediately deopts again, causing check failure in the test.
  'compiler/deopt-inlined-from-call': [PASS, NO_IGNITION],
  'compiler/increment-typefeedback': [PASS, NO_IGNITION],
  'compiler/manual-concurrent-recompile': [PASS, NO_IGNITION],
  'constant-folding-2': [PASS, NO_IGNITION],
  'debug-is-active': [PASS, NO_IGNITION],
  'deopt-with-fp-regs': [PASS, NO_IGNITION],
  'deserialize-optimize-inner': [PASS, NO_IGNITION],
  'div-mul-minus-one': [PASS, NO_IGNITION],
  'double-intrinsics': [PASS, NO_IGNITION],
  'elements-transition-hoisting': [PASS, NO_IGNITION],
  'es6/block-let-crankshaft': [PASS, NO_IGNITION],
  'es6/block-let-crankshaft-sloppy': [PASS, NO_IGNITION],
  'getters-on-elements': [PASS, NO_IGNITION],
  'harmony/do-expressions': [PASS, NO_IGNITION],
  'math-floor-of-div-minus-zero': [PASS, NO_IGNITION],
  'regress/regress-2132': [PASS, NO_IGNITION],
  'regress/regress-2339': [PASS, NO_IGNITION],
  'regress/regress-3176': [PASS, NO_IGNITION],
  'regress/regress-3709': [PASS, NO_IGNITION],
  'regress/regress-385565': [PASS, NO_IGNITION],
  'regress/regress-crbug-594183': [PASS, NO_IGNITION],
  'regress/regress-embedded-cons-string': [PASS, NO_IGNITION],
  'regress/regress-map-invalidation-2': [PASS, NO_IGNITION],
  'regress/regress-param-local-type': [PASS, NO_IGNITION],
  'regress/regress-prepare-break-while-recompile': [PASS, NO_IGNITION],
  'shift-for-integer-div': [PASS, NO_IGNITION],
  'sin-cos': [PASS, NO_IGNITION],
  'smi-mul-const': [PASS, NO_IGNITION],
  'smi-mul': [PASS, NO_IGNITION],
  'unary-minus-deopt': [PASS, NO_IGNITION],

  # TODO(rmcilroy,5038): Crashes in Deoptimizer::PatchCodeForDeoptimization on
  # nosnap builds when --stress-opt and --turbo-from-bytecode is enabled.
  'harmony/generators-turbo': [PASS, FAST_VARIANTS],
}],  # 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-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],

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

  # BUG(v8:4779): Crashes flakily with stress mode on arm64.
  'array-splice': [PASS, SLOW, ['arch == arm64', FAST_VARIANTS]],

  # BUG(v8:5053).
  'wasm/embenchen/fasta': [PASS, FAST_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-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],

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

  # TODO(rmcilroy,4680): Arm64 specific timeouts.
  'asm/construct-double': [PASS, NO_IGNITION],
  'compiler/osr-one': [PASS, NO_IGNITION],
  'compiler/osr-two': [PASS, NO_IGNITION],
  'wasm/asm-wasm-i32': [PASS, NO_IGNITION],
  'wasm/asm-wasm-u32': [PASS, NO_IGNITION],
}],  # 'arch == arm64'

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

  # Pass but take too long with the simulator in debug mode.
  'array-sort': [PASS, TIMEOUT],
  'packed-elements': [SKIP],
  'regexp-global': [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]],

  # Ignition.
  'es6/templates': [PASS, ['no_snap and mode == debug', NO_IGNITION]],
  'regress/regress-crbug-364374': [PASS, ['no_snap and mode == debug', NO_IGNITION]],
}],  # '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],

  # TODO(mythria,4680): All of these tests have large loops and hence slow
  # and timeout.
  'compiler/osr-big': [PASS, NO_IGNITION],
  'compiler/osr-nested': [PASS, NO_IGNITION],
  'regress/regress-298269': [PASS, NO_IGNITION],
  'regress/regress-crbug-319860': [PASS, NO_IGNITION],
  'regress/regress-deep-proto': [PASS, NO_IGNITION],
  'try': [PASS, NO_IGNITION],
  # Too slow for interpreter and msan.
  'es6/tail-call-megatest*': [PASS, NO_IGNITION],

  # Too slow.
  'harmony/regexp-property-lu-ui': [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-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],

  # TODO(rmcilroy,4680): Arm specific timeouts.
  'compiler/osr-one': [PASS, NO_IGNITION],
  'compiler/osr-two': [PASS, NO_IGNITION],
  'regress/regress-1257': [PASS, NO_IGNITION],
}],  # '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-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-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]],
  '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],

  # 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-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],
}],  # 'arch == nacl_ia32 or arch == nacl_x64'

##############################################################################
['arch == s390 or arch == s390x', {

  # 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],
}],  # 'arch == s390 or arch == s390x'

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

  # Too slow.
  'es6/tail-call-megatest*': [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'

##############################################################################
['arch == ppc64', {

  # stack overflow
  'big-array-literal': [SKIP],
}],  # 'arch == ppc64'

##############################################################################
['ignition or ignition_turbofan', {
  # TODO(mythria, 4780): Related to type feedback for calls in interpreter.
  'array-literal-feedback': [FAIL],
  'regress/regress-4121': [FAIL],

  # TODO(mythria, 4764): lack of osr support.
  'regress/regress-2618': [FAIL],
  # TODO(mythria, 4764): lack of osr support. The tests waits in a loop
  # till it is optimized. So test timeouts.
  'array-literal-transitions': [SKIP],

  'wasm/asm-wasm-f32': [PASS, ['arch in [arm64]', SKIP]],
  'wasm/asm-wasm-f64': [PASS, ['arch in [arm64]', SKIP]],

  # TODO(rmcilroy,titzer): Times out after
  # https://codereview.chromium.org/1951013002 .
  'regress/regress-599717': [PASS, ['tsan', SKIP]],

  # TODO(rmcilroy,5038): Crashes in Deoptimizer::PatchCodeForDeoptimization on
  # nosnap builds when --stress-opt and --turbo-from-bytecode is enabled.
  'harmony/generators-turbo': [PASS, FAST_VARIANTS],
  'regress/regress-crbug-352058': [SKIP],

  # TODO(jarin): No truncations on CheckFloat64Hole.
  'getters-on-elements': [SKIP],

  # TODO(rmcilroy): Flaky OOM.
  'unicodelctest-no-optimization': [SKIP],
}],  # ignition or ignition_turbofan

['(ignition or ignition_turbofan) and arch == arm64', {
  # TODO(rmcilroy,4680): Arm64 specific timeouts.
  'asm/construct-double': [SKIP],
  'compiler/osr-one': [SKIP],
  'compiler/osr-two': [SKIP],
  'wasm/asm-wasm-i32': [SKIP],
  'wasm/asm-wasm-u32': [SKIP],
}],  # (ignition or ignition_turbofan) and arch == arm64

['(ignition or ignition_turbofan) and arch == arm', {
  # TODO(rmcilroy,4680): Arm specific timeouts.
  'compiler/osr-one': [SKIP],
  'compiler/osr-two': [SKIP],
  'regress/regress-1257': [SKIP],
}],  # (ignition or ignition_turbofan) and arch == arm

['(ignition or ignition_turbofan) and msan', {
  # TODO(mythria,4680): All of these tests have large loops and hence slow
  # and timeout.
  'compiler/osr-big': [SKIP],
  'compiler/osr-nested': [SKIP],
  'regress/regress-298269': [SKIP],
  'regress/regress-crbug-319860': [SKIP],
  'regress/regress-deep-proto': [SKIP],
  'try': [SKIP],
  # Too slow for interpreter and msan.
  'es6/tail-call-megatest*': [SKIP],
}],  # (ignition or ignition_turbofan) and msan

##############################################################################
['gcov_coverage', {
  # Tests taking too long.
  'array-functions-prototype-misc': [SKIP],

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

]
