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

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

  # TODO(turbofan): The escape analysis needs some investigation.
  'compiler/escape-analysis-deopt-5': [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]],

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

  # TODO(bradnelson) Fix and re-enable.
  'wasm/embenchen/copy': [FAIL],  # wrong answer
  'wasm/embenchen/box2d': [SKIP],   # hang
  'wasm/embenchen/lua_binarytrees': [SKIP],  # fails decode
  'wasm/embenchen/zlib': [SKIP],  # fails gc-stress

  # 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/regexp-property-*': [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],

  # 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]],
}],  # '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', {
  # TODO(yangguo,4690): assertion failures in debugger tests.
  'debug-allscopes-on-debugger': [FAIL],
  'debug-return-value': [FAIL],
  'es6/debug-stepnext-for': [FAIL],
  'es6/debug-stepin-string-template': [FAIL],
  'es6/debug-promises/stepin-constructor': [FAIL],
  'harmony/debug-stepin-proxies': [FAIL],
  'regress/regress-crbug-119800': [FAIL],
  'regress/regress-opt-after-debug-deopt': [FAIL],
  'regress/regress-crbug-568477-2': [FAIL],

   # TODO(rmcilroy,4765): assertion failures in LiveEdit tests.
  'debug-liveedit-restart-frame': [FAIL],
  'debug-liveedit-literals': [FAIL],
  'debug-liveedit-3': [FAIL],
  'debug-liveedit-1': [FAIL],
  'debug-liveedit-2': [FAIL],
  'debug-liveedit-patch-positions-replace': [FAIL],
  'debug-liveedit-patch-positions': [FAIL],
  'debug-liveedit-stepin': [FAIL],
  'debug-liveedit-newsource': [FAIL],
  'debug-liveedit-stack-padding': [FAIL],
  'debug-liveedit-breakpoints': [FAIL],
  'es6/debug-liveedit-new-target-1': [FAIL],
  'es6/debug-liveedit-new-target-2': [FAIL],
  'es6/debug-liveedit-new-target-3': [FAIL],
  'es6/generators-debug-liveedit': [FAIL],

  # TODO(yangguo/rmcilroy,4690): Related to Debugger. Goes into a loop
  # in function: Debug::FindSharedFunctionInfoInScript and times out.
  'regress/regress-crbug-517592': [SKIP],
  'regress/regress-1853': [SKIP],
  'regress/regress-crbug-424142': [SKIP],

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

  # TODO(mythria, 4680): Relate to GC and ignition holding references to
  # objects.
  'es6/mirror-collections': [FAIL],

  # TODO(mythria, 4680): line numbers in eval test. Coloumn number is
  # incorrect.
  'regress/regress-crbug-109362': [FAIL],

  # TODO(mythria, 4680): possibly problem with line numbers.
  'es6/regress/regress-468661': [FAIL],

}],  # ignition == True

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

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

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

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

]
