# 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, {
  # Modules which are only meant to be imported from by other tests, not to be
  # tested standalone.
  'modules-skip*': [SKIP],
  'harmony/modules-skip*': [SKIP],
  'regress/modules-skip*': [SKIP],
  'wasm/exceptions-utils': [SKIP],
  'wasm/wasm-module-builder': [SKIP],

  # All tests in the bug directory are expected to fail.
  'bugs/*': [FAIL],

  ##############################################################################
  # Open bugs.

  # https://crbug.com/v8/10929
  'wasm/externref-liftoff' : [SKIP],
  'wasm/externref-globals-liftoff' : [SKIP],

  # BUG(v8:2989).
  'regress/regress-2989': [FAIL, NO_VARIANTS, ['lite_mode == True', SKIP]],

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

  # https://crbug.com/v8/7697
  'array-literal-feedback': [PASS, FAIL],

  # https://crbug.com/v8/7775
  'allocation-site-info': [SKIP],

  # BUG(v8:8169)
  'external-backing-store-gc': [SKIP],

  # Issue 9380: Memory leaks of shared WebAssembly.Memory objects
  'wasm/shared-memory-worker-gc': [SKIP],

  # BUG(v8:10197)
  'regress/regress-748069': [SKIP],

  # https://crbug.com/1043058
  # Enable once serializing a running isolate is fully implemented.
  'serialize-deserialize-now': [SKIP],

  # BUG(v8:9506): times out.
  'wasm/shared-memory-worker-explicit-gc-stress': [PASS, SLOW],
  'wasm/shared-memory-worker-gc-stress': [PASS, SLOW],

  # https://crbug.com/1129854
  'tools/log': ['arch == arm or arch == arm64', SKIP],

  ##############################################################################
  # Tests where variants make no sense.
  'd8/enable-tracing': [PASS, NO_VARIANTS],
  'd8/d8-os': [PASS, NO_VARIANTS],
  'd8/d8-performance-now': [PASS, NO_VARIANTS],
  'regexp-global': [PASS, NO_VARIANTS],
  'regress/regress-4595': [PASS, NO_VARIANTS],
  'regress/regress-crbug-491062': [PASS, NO_VARIANTS],
  'third_party/regexp-pcre/regexp-pcre': [PASS, NO_VARIANTS],
  'tools/compiler-trace-flags': [PASS, NO_VARIANTS],
  'tools/dumpcpp': [PASS, NO_VARIANTS],
  'tools/tickprocessor': [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, SLOW, ['arch == arm and simulator_run', SKIP]],

  ##############################################################################
  # Long-running tests.
  # We really should find better solutions for these.
  'es6/promise-all-overflow-1': [SKIP],
  'harmony/promise-any-overflow-1': [SKIP],
  'migrations': [SKIP],
  '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', 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]],

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

  # OOM flakes in isolates tests because too many largish heaps are created.
  'asm/asm-heap': [PASS, NO_VARIANTS, ['isolates', SKIP]],

  # Slow tests.
  'array-functions-prototype-misc': [PASS, SLOW],
  'asm/embenchen/*': [PASS, SLOW, NO_VARIANTS],
  'asm/poppler/*': [PASS, SLOW, NO_VARIANTS],
  'asm/sqlite3/*': [PASS, SLOW, NO_VARIANTS],
  'compiler/regress-9017': [PASS, SLOW],
  'copy-on-write-assert': [PASS, SLOW],
  'es6/promise-all-overflow-2': [PASS, SLOW, ['arch != x64', SKIP]],
  'es6/typedarray-construct-offset-not-smi': [PASS, SLOW],
  'harmony/promise-any-overflow-2': [PASS, SLOW, ['arch != x64', SKIP]],
  'harmony/sharedarraybuffer-worker-gc-stress': [PASS, SLOW],
  'harmony/futex': [PASS, SLOW],
  'harmony/regexp-property-script-extensions': [PASS, SLOW],
  'ignition/regress-672027': [PASS, SLOW],
  'large-object-literal-slow-elements': [PASS, SLOW],
  'math-floor-of-div': [PASS, SLOW],
  'md5': [PASS, SLOW],
  'readonly': [PASS, SLOW],
  'regress/regress-1122': [PASS, SLOW],
  'regress/regress-605470': [PASS, SLOW],
  'regress/regress-655573': [PASS, SLOW],
  'regress/regress-1200351': [PASS, SLOW],
  'regress/regress-crbug-808192': [PASS, SLOW, NO_VARIANTS, ['arch not in (ia32, x64)', SKIP]],
  'regress/regress-crbug-918301': [PASS, SLOW, NO_VARIANTS, ['mode != release or dcheck_always_on', SKIP], ['(arch == arm or arch == arm64) and simulator_run', SKIP], ['tsan', SKIP]],
  'regress/wasm/regress-810973': [PASS, SLOW],
  'sealed-array-reduce': [PASS, SLOW],
  'string-replace-gc': [PASS, SLOW],
  'wasm/embenchen/*': [PASS, SLOW],
  'wasm/futex': [PASS, SLOW],
  'wasm/unreachable-validation': [PASS, SLOW],
  'wasm/atomics-stress': [PASS, SLOW, NO_VARIANTS, ['mode != release or dcheck_always_on', SKIP], ['tsan', SKIP]],
  'wasm/atomics64-stress': [PASS, SLOW, NO_VARIANTS, ['mode != release or dcheck_always_on', SKIP], ['tsan', SKIP]],
  'wasm/compare-exchange-stress': [PASS, SLOW, NO_VARIANTS],
  'wasm/compare-exchange64-stress': [PASS, SLOW, NO_VARIANTS],

  # Very slow on ARM and MIPS, contains no architecture dependent code.
  'unicode-case-overoptimization': [PASS, NO_VARIANTS, ['arch in (arm, arm64, mipsel, mips64el, mips64, mips)', SKIP]],
  'regress/regress-3976': [PASS, NO_VARIANTS, ['arch in (arm, arm64, mipsel, mips64el, mips64, mips)', SKIP]],
  'regress/regress-crbug-482998': [PASS, NO_VARIANTS, ['arch in (arm, arm64, mipsel, mips64el, mips)', SKIP]],
  'regress/regress-740784': [PASS, NO_VARIANTS, ['arch in (arm, arm64, mipsel, mips64el, mips)', SKIP]],

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

  # Test is only enabled on ASAN. Takes too long on many other bots.
  'regress/regress-crbug-9161': [PASS, SLOW, ['asan == False', SKIP]],

  # OOM with too many isolates/memory objects (https://crbug.com/1010272)
  # Predictable tests fail due to race between postMessage and GrowMemory
  'regress/wasm/regress-1010272': [PASS, NO_VARIANTS, ['system == android', SKIP], ['predictable', SKIP]],

  # Only makes sense in the no_i18n variant.
  'es6/unicode-regexp-ignore-case-noi18n':
      [['no_i18n == True', PASS], ['no_i18n == False', FAIL]],

  # Needs to be adapted after changes to Function constructor. chromium:1065094
  'cross-realm-filtering': [SKIP],
}],  # ALWAYS

##############################################################################
['mode == debug', {
  # Skip slow tests in debug mode.
  'array-functions-prototype-misc': [SKIP],
  'compiler/regress-808472': [SKIP],
  'es6/promise-all-overflow-2': [SKIP],
  'generated-transition-stub': [SKIP],
  'regress/regress-524': [SKIP],
  'regress/regress-4595': [SKIP],
  'regress/regress-430201': [SKIP],
  'regress/regress-430201b': [SKIP],
  'regress/regress-716044': [SKIP],
  'regress/regress-crbug-217858': [SKIP],
  'regress/regress-crbug-808192': [SKIP],
  'regress/regress-crbug-941743': [SKIP],
  'regress/regress-create-exception': [SKIP],

  # These tests run out of stack space in debug mode.
  'big-array-literal': [SKIP],
  'big-object-literal': [SKIP],

  # Too slow in debug mode BUG(v8:9506): times out.
  'wasm/shared-memory-worker-explicit-gc-stress': [SKIP],
  'wasm/shared-memory-worker-gc-stress': [SKIP],

  # For these tests, making them as slow is enough:
  'numops-fuzz-part*': [SLOW],

  # worker creation/shutdown is very slow in debug mode
  'd8/d8-worker-shutdown*': [SLOW],
  # Allocates a huge string and then flattens it.
  'regress/regress-752764': [SLOW],
}],  # mode == debug

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

##############################################################################
# TODO(ahaas): Port multiple return values to MIPS, S390 and PPC
['arch in (mips, mips64, mipsel, mips64el, s390, s390x, ppc, ppc64)', {
  'wasm/multi-value': [SKIP],
}],

##############################################################################
['simulator_run', {
  # Skip/annotate tests that are too slow on simulators.
  'random-bit-correlations': [SLOW],
  'regress/regress-crbug-941743': [SKIP],
  'regress/regress-crbug-1041232': [SKIP],
  'regress/wasm/regress-1010272': [SKIP],
  'wasm/atomics-stress': [SKIP],
  'wasm/atomics64-stress': [SKIP],
}],  # simulator_run

##############################################################################
['gc_stress', {
  # Skip tests not suitable for GC stress.
  'allocation-site-info': [SKIP],
  'array-constructor-feedback': [SKIP],
  'array-feedback': [SKIP],
  'array-literal-feedback': [SKIP],
  'd8/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],
  'compiler/number-divide': [SKIP],
  'regress/regress-crbug-137689': [SKIP],
  'regress/regress-trap-allocation-memento': [SKIP],
  'regress/regress-2249': [SKIP],
  'regress/regress-3709': [SKIP],
  'regress/regress-4121': [SKIP],
  'regress/regress-6989': [SKIP],
  'compare-known-objects-slow': [SKIP],
  'compiler/array-multiple-receiver-maps': [SKIP],
  # Tests taking too long
  'regress/regress-1122': [SKIP],
  'regress/regress-331444': [SKIP],
  'regress/regress-353551': [SKIP],
  'regress/regress-1138075': [SKIP],
  'regress/regress-1138611': [SKIP],
  'regress/regress-crbug-119926': [SKIP],
  'regress/short-circuit': [SKIP],
  'stack-traces-overflow': [SKIP],
  'unicode-test': [SKIP],
  'whitespaces': [SKIP],

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

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

  # Too slow for gc stress, BUG(v8:9506): times out.
  'wasm/shared-memory-worker-explicit-gc-stress': [SKIP],
  'wasm/shared-memory-worker-gc-stress': [SKIP],

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

  # Slow tests.
  'array-constructor': [PASS, SLOW],
  'json': [PASS, SLOW],

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

  # BUG(v8:7880): Slow tests.
  'regress/regress-707066': [SKIP],
  'regress/regress-446389': [SKIP],
  'regress/regress-458987': [SKIP],
  'es6/regress/regress-crbug-465671': [SKIP],
  'regress/regress-inline-getter-near-stack-limit': [SKIP],
  'es6/regress/regress-crbug-465671-null': [SKIP],
  'regress/regress-148378': [SKIP],
  'regress/regress-crbug-762472': [SKIP],

  # BUG(v8:10035)
  'compiler/deopt-array-builtins': [SKIP],
}],  # 'gc_stress'

##############################################################################
['lite_mode or variant == jitless', {
  # Skip tests not suitable for lite_mode.

  # TODO(v8:7777): Re-enable once wasm is supported in jitless mode.
  'regress/regress-5888': [SKIP],
  'regress/regress-5911': [SKIP],
  'regress/regress-813440': [SKIP],
  'regress/regress-crbug-746835': [SKIP],
  'regress/regress-crbug-772056': [SKIP],
  'regress/regress-crbug-816961': [SKIP],
  'regress/regress-crbug-969498': [SKIP],
  'regress/regress-crbug-1047368': [SKIP],
  'regress/wasm/*': [SKIP],
  'regress/regress-8947': [SKIP],
  'regress/regress-9209': [SKIP],
  'regress/regress-1034394': [SKIP],
  'regress/regress-v8-9106': [SKIP],
  'wasm/*': [SKIP],

  # Other tests that use asm / wasm / optimized code.
  'asm/asm-heap': [SKIP],
  'asm/asm-validation': [SKIP],
  'asm/call-stdlib': [SKIP],
  'asm/call-annotation': [SKIP],
  'asm/global-imports': [SKIP],
  'asm/regress-1027595': [SKIP],
  'asm/regress-1069173': [SKIP],
  'asm/regress-913822': [SKIP],
  'asm/regress-937650': [SKIP],
  'asm/regress-9531': [SKIP],
  'asm/return-types': [SKIP],
  'regress/regress-599719': [SKIP],
  'regress/regress-6196': [SKIP],
  'regress/regress-6700': [SKIP],
  'regress/regress-6838-2': [SKIP],
  'regress/regress-6838-3': [SKIP],
  'regress/regress-6838-4': [SKIP],
  'regress/regress-9022': [SKIP],
  'regress/regress-9832': [SKIP],
  'regress/regress-crbug-934138': [SKIP],
  'regress/regress-crbug-976934': [SKIP],

  # Timeouts in lite / jitless mode.
  'asm/embenchen/*': [SKIP],

  # Tests that generate code at runtime.
  'code-comments': [SKIP],
  'regress/regress-617526': [SKIP],
  'regress/regress-7893': [SKIP],
  'regress/regress-8377': [SKIP],
  'regress/regress-863810': [SKIP],
  'regress/regress-crbug-721835': [SKIP],
  'regress/regress-crbug-759327': [SKIP],
  'regress/regress-crbug-898974': [SKIP],
  'regexp-tier-up': [SKIP],
  'regexp-tier-up-multiple': [SKIP],
  'regress/regress-996234': [SKIP],

  # These tests check that we can trace the compiler.
  'tools/compiler-trace-flags': [SKIP],
  'tools/compiler-trace-flags-wasm': [SKIP],

  # Too slow on arm64 simulator and debug: https://crbug.com/v8/7783
  'md5': [PASS, ['arch == arm64 and mode == debug and simulator_run', SKIP]],

  # Slow with pointer compression.
  'regress/regress-crbug-319860': [PASS, ['pointer_compression', SLOW]],

  # Flag --interpreted-frames-native-stack incompatible with jitless
  'regress/regress-10138': [SKIP],
  'regress/regress-1078913': [SKIP],
}],  # 'lite_mode or variant == jitless'

##############################################################################
['no_i18n', {
  # Case-insensitive unicode regexp relies on case mapping provided by ICU.
  'es6/unicode-regexp-ignore-case': [FAIL],
  'regress/regress-5036': [FAIL],
  'es7/regexp-ui-word': [FAIL],
  'regexp-modifiers-i18n': [FAIL],
  'regexp-modifiers-autogenerated-i18n': [FAIL],

  # Desugaring regexp property class relies on ICU. Anything goes as long as we
  # don't crash.
  'harmony/regexp-property-*': [PASS,FAIL],
  'regress/regress-793588': [PASS,FAIL],

  # noi18n build cannot parse characters in supplementary plane.
  'harmony/regexp-named-captures': [FAIL],

  # noi18n cannot turn on ICU backend for Date. Anything goes as long as we
  # don't crash.
  'icu-date-to-string': [PASS,FAIL],
  'icu-date-lord-howe': [PASS,FAIL],
  'tzoffset-transition-apia': [PASS,FAIL],
  'tzoffset-transition-lord-howe': [PASS,FAIL],
  'tzoffset-transition-moscow': [PASS,FAIL],
  'tzoffset-transition-new-york': [PASS,FAIL],
  'tzoffset-seoul': [PASS,FAIL],

  # noi18n is required for Intl
  'regress/regress-crbug-1052647': [PASS,FAIL],
}],  # 'no_i18n'

##############################################################################
['is_full_debug', {
  # Tests too slow in non-optimized debug mode.
  'regress/regress-2790': [SKIP],
  'regress/regress-331444': [SKIP],
  'regress/regress-740784': [SKIP],
  'regress/regress-992389': [SKIP],
}],  # 'is_full_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'

##############################################################################
# 32-bit platforms
['arch in (ia32, arm, mips, mipsel)', {
  # Needs >2GB of available contiguous memory.
  'wasm/grow-huge-memory': [SKIP],
  'wasm/huge-memory': [SKIP],
  'wasm/huge-typedarray': [SKIP],
}],  # 'arch in (ia32, arm, mips, mipsel)'

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

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

  # OOMing tests
  'regress/regress-500980': [SKIP],

  # BUG(v8:9337).
  'compiler/regress-9017': [SKIP],

  # Slow tests.
  'array-indexing': [PASS, SLOW],
  'array-reduce': [PASS, SLOW],
  'array-sort': [PASS, SLOW],
  'array-splice': [PASS, SLOW],
  'compiler/alloc-number': [PASS, SLOW],
  'compiler/osr-with-args': [PASS, SLOW],
  'frozen-array-reduce': [PASS, SLOW],
  'generated-transition-stub': [PASS, SLOW],
  'json2': [PASS, SLOW],
  'math-floor-of-div-nosudiv': [PASS, SLOW],
  'messages': [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],
  'wasm/atomics': [PASS, SLOW],
  'whitespaces': [PASS, SLOW],

  # BUG(v8:10032).
  'array-store-and-grow': [PASS, SLOW],

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

##############################################################################
['arch == arm64 and simulator_run', {
  'compiler/osr-big': [PASS, SLOW],
  'regress/regress-454725': [PASS, SLOW],
  'json': [PASS, SLOW],
  'try': [PASS, SLOW],
  'non-extensible-array-reduce': [PASS, SLOW],
}],  # 'arch == arm64 and simulator_run'

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

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

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

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

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

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

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

  # https://bugs.chromium.org/p/v8/issues/detail?id=7102
  # Flaky due to huge string allocation.
  'regress/regress-748069': [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],

  # Too slow.
  'asm/embenchen/zlib': [SKIP],
  'harmony/regexp-property-lu-ui': [SKIP],
  'regress/regress-779407': [SKIP],
  'wasm/embenchen/box2d': [SKIP],
  'wasm/embenchen/lua_binarytrees': [SKIP],
  'wasm/embenchen/zlib': [SKIP],

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

##############################################################################
['tsan == True', {

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

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

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

  # BUG(v8:6924). The test uses a lot of memory.
  'regress/wasm/regress-694433': [SKIP],
  'es6/typedarray': [PASS, NO_VARIANTS],
  'regress/regress-752764': [PASS, SLOW, NO_VARIANTS],

  # BUG(v8:9242). Uses a lot of memory.
  'regress/regress-599414-array-concat-fast-path': [PASS, SLOW],

  # BUG(v8:9026). Flaky timeouts.
  'es6/large-classes-properties': [SKIP],

  # Slow tests.
  'compiler/regress-1125145': [SKIP],
  'es6/block-conflicts-sloppy': [PASS, SLOW],
  'math-floor-part1': [PASS, SLOW],
  'regress/regress-430201': [SKIP],
  'regress/regress-500980': [PASS, SLOW],

  # BUG(v8:9506): times out.
  'wasm/shared-memory-worker-explicit-gc-stress': [SKIP],
}],  # 'tsan == True'

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

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

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

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

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

  # BUG(v8:9337).
  'compiler/regress-9017': [SKIP],

  # Slow tests.
  'array-sort': [PASS, SLOW],
  'compiler/osr-with-args': [PASS, SLOW],
  'regress/regress-2790': [PASS, SLOW],
  'regress/regress-91008': [PASS, SLOW],
  'regress/regress-json-stringify-gc': [PASS, SLOW],
  'string-indexof-2': [PASS, SLOW],
  'wasm/atomics': [PASS, SLOW],
}],  # 'arch == arm

##############################################################################
['arch in (mipsel, mips, mips64el, mips64) and not simulator_run', {
  # These tests fail occasionally on the buildbots because they consume
  # a large amount of memory if executed in parallel. Therefore we
  # run only a single instance of these tests
  'regress/regress-crbug-514081': [PASS, NO_VARIANTS],
  'regress/regress-599414-array-concat-fast-path': [PASS, NO_VARIANTS],
  'array-functions-prototype-misc': [PASS, NO_VARIANTS],
}],  # 'arch in (mipsel, mips, mips64el, mips64)'

##############################################################################
['arch in (mipsel, mips, mips64el, mips64, ppc, ppc64)', {
  # These tests fail because qNaN and sNaN values are encoded differently on
  # MIPS and ARM/x86 architectures
  'wasm/float-constant-folding': [SKIP],
}],

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

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

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

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

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

  # Requires too much memory on MIPS.
  'regress/regress-752764': [SKIP],
  'regress/regress-779407': [SKIP],
  'harmony/bigint/regressions': [SKIP],

  # Pre-r6 MIPS32 doesn't have instructions needed to properly handle 64-bit
  # atomic instructions.
  'wasm/atomics64-stress': [PASS, ['mips_arch_variant != r6', SKIP]],
}],  # 'arch == mipsel or arch == mips'

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

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

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

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

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

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

##############################################################################
['system == windows', {
  # Too slow with turbo fan.
  'math-floor-of-div': [PASS, ['mode == debug', SKIP]],
  'math-floor-of-div-nosudiv': [PASS, ['mode == debug', SKIP]],
  'unicodelctest': [PASS, ['mode == debug', SKIP]],

  # Setting the timezone and locale with environment variables unavailable
  'icu-date-to-string': [SKIP],
  'icu-date-lord-howe': [SKIP],
  'regress/regress-6288': [SKIP],
  'tzoffset-transition-apia': [SKIP],
  'tzoffset-transition-lord-howe': [SKIP],
  'tzoffset-transition-moscow': [SKIP],
  'tzoffset-transition-new-york': [SKIP],
  'tzoffset-transition-new-york-noi18n': [SKIP],
  'tzoffset-seoul': [SKIP],
  'tzoffset-seoul-noi18n': [SKIP],
}],  # 'system == windows'

##############################################################################
['system == android', {
  # Tests consistently failing on Android.
  # Setting the timezone and locale with environment variables unavailable
  'icu-date-to-string': [SKIP],
  'icu-date-lord-howe': [SKIP],
  'regress/regress-6288': [SKIP],
  'tzoffset-transition-apia': [SKIP],
  'tzoffset-transition-lord-howe': [SKIP],
  'tzoffset-transition-moscow': [SKIP],
  'tzoffset-transition-new-york': [SKIP],
  'tzoffset-transition-new-york-noi18n': [SKIP],
  'tzoffset-seoul': [SKIP],
  'tzoffset-seoul-noi18n': [SKIP],
  # OOM:
  'regress/regress-752764': [FAIL],
  # Flaky OOM:
  'regress/regress-748069': [SKIP],
  'regress/regress-779407': [SKIP],
  'regress/regress-852258': [SKIP],
}],  # 'system == android'

##############################################################################
['isolates', {
  # Slow tests.
  'es6/typedarray-of': [PASS, SLOW],
  'regress/regress-crbug-854299': [PASS, SLOW],

  # 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.
  'd8/d8-os': [SKIP],

  # Runs flakily OOM because multiple isolates are involved which create many
  # wasm memories each. Before running OOM on a wasm memory allocation we
  # trigger a GC, but only in the isolate allocating the new memory.
  'wasm/module-memory': [SKIP],
  'wasm/shared-memory-gc-stress': [SKIP],

  # The {FreezeWasmLazyCompilation} runtime function sets a flag in the native
  # module, which causes a data-race if the native module is shared between
  # isolates.
  'wasm/lazy-compilation': [SKIP],

  # Tier down/up Wasm NativeModule in debugging is non-deterministic with
  # multiple isolates (https://crbug.com/v8/10099).
  'wasm/tier-down-to-liftoff': [SKIP],

  # Tier down/up Wasm functions is non-deterministic with
  # multiple isolates, as dynamic tiering relies on a array shared
  # in the module, that can be modified by all instances.
  'wasm/wasm-dynamic-tiering': [SKIP],

  # waitAsync tests modify the global state (across Isolates)
  'harmony/atomics-waitasync': [SKIP],
  'harmony/atomics-waitasync-1thread-2timeout': [SKIP],
  'harmony/atomics-waitasync-1thread-promise-out-of-scope': [SKIP],
  'harmony/atomics-waitasync-1thread-timeout': [SKIP],
  'harmony/atomics-waitasync-1thread-wake-up-fifo': [SKIP],
  'harmony/atomics-waitasync-1thread-wake-up-simple': [SKIP],
  'harmony/atomics-waitasync-worker-shutdown-before-wait-finished-timeout': [SKIP],
  'harmony/atomics-waitasync-worker-shutdown-before-wait-finished-no-timeout': [SKIP],
}],  # 'isolates'

##############################################################################
['deopt_fuzzer', {

  # Skip tests that are not suitable for deoptimization fuzzing.
  'never-optimize': [SKIP],
  'readonly': [SKIP],
  'array-feedback': [SKIP],
  'array-reduce': [SKIP],
  'deopt-recursive-eager-once': [SKIP],
  'deopt-recursive-lazy-once': [SKIP],
  'deopt-recursive-soft-once': [SKIP],
  'code-coverage-block-opt': [SKIP],
  'compiler/serializer-apply': [SKIP],
  'compiler/serializer-call': [SKIP],
  'compiler/serializer-dead-after-jump': [SKIP],
  'compiler/serializer-dead-after-return': [SKIP],
  'compiler/serializer-transition-propagation': [SKIP],
  'regress/regress-1049982-1': [SKIP],
  'regress/regress-1049982-2': [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],

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

  # Too slow tests.
  'regress/regress-740784': [SKIP],

  # https://crbug.com/v8/9984
  'compiler/opt-higher-order-functions': [SKIP],
}],  # 'deopt_fuzzer'

##############################################################################
['gc_fuzzer', {
  'regress/regress-336820': [SKIP],
  'regress/regress-748069': [SKIP],
  'regress/regress-778668': [SKIP],
  'ignition/regress-672027': [PASS, ['tsan', SKIP]],
  'string-replace-gc': [PASS, SLOW, ['mode == debug', SKIP]],

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

  # Flaky under GC stress (sometimes precludes the tested optimization)
  'compiler/load-elimination-const-field': [SKIP],

  # Passes incompatible arguments.
  'd8/d8-arguments': [SKIP],

  # Fails allocation on tsan.
  'regress/regress-779407': [PASS, ['tsan', SKIP]],

  # Tests that fail some assertions due to checking internal state sensitive
  # to GC.
  'compiler/native-context-specialization-hole-check': [SKIP],
  'compiler/serializer-apply': [SKIP],
  'compiler/serializer-call': [SKIP],
  'compiler/serializer-dead-after-jump': [SKIP],
  'compiler/serializer-dead-after-return': [SKIP],
  'compiler/serializer-transition-propagation': [SKIP],
  'opt-elements-kind': [SKIP],
  'regress/regress-trap-allocation-memento': [SKIP],
  'regress/regress-v8-9267-*': [SKIP],
  'shared-function-tier-up-turbo': [SKIP],

}],  # 'gc_fuzzer'

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

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

  # Often crashes due to memory consumption.
  'regress/regress-655573': [SKIP],

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

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

  # Skip tests that are known to be non-deterministic.
  'd8/d8-worker-sharedarraybuffer': [SKIP],
  'd8/d8-os': [SKIP],
  'd8/d8-worker-shutdown': [SKIP],
  'd8/d8-worker-shutdown-gc': [SKIP],
  'harmony/futex': [SKIP],

  # BUG(v8:7166).
  'd8/enable-tracing': [SKIP],

  # Rely on (blocking) concurrent compilation.
  'compiler/concurrent-invalidate-transition-map': [SKIP],
  'compiler/concurrent-proto-change': [SKIP],
  'compiler/manual-concurrent-recompile': [SKIP],
  'compiler/regress-905555-2': [SKIP],
  'compiler/regress-905555': [SKIP],
  'compiler/regress-9945-1': [SKIP],
  'concurrent-initial-prototype-change': [SKIP],
  'regress/regress-356053': [SKIP],
  'regress/regress-embedded-cons-string': [SKIP],

  # Intentionally non-deterministic using shared arraybuffers.
  'wasm/atomics-stress': [SKIP],
  'wasm/atomics64-stress': [SKIP],
  'wasm/futex': [SKIP],
  'regress/wasm/regress-1067621': [SKIP],

  # BUG(v8:9975).
  'es6/typedarray-copywithin': [SKIP],
}],  # 'predictable == True'

##############################################################################
['simulator_run and (arch in [ppc64, s390x])', {

  # take too long with the simulator.
  'regress/regress-1132': [SKIP],
  'regress/regress-740784': [SKIP],
  'regress/regress-crbug-482998': [PASS, SLOW],
  'regress/regress-91008': [PASS, SLOW],
  'regress/regress-779407': [PASS, SLOW],
  'harmony/regexp-property-lu-ui': [PASS, SLOW],
  'whitespaces': [PASS, SLOW],
  'generated-transition-stub': [PASS, SLOW],
}],  # 'simulator_run and (arch in [ppc64, s390x])'

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

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

##############################################################################
['system == aix', {
  # stack overflow
  'regress/regress-crbug-178790': [PASS, ['mode == debug', SKIP]],
}],  # 'system == aix'

##############################################################################
['arch == s390x', {
  # stack overflow
  'regress/regress-crbug-178790': [PASS, ['mode == debug', SKIP]],
}],  # 'arch == s390x'

##############################################################################
['variant == stress', {
  # Slow tests.
  'array-natives-elements': [SKIP],
  'ignition/regress-599001-verifyheap': [SKIP],
  'unicode-test': [SKIP],

  # The RegExp code cache means running this test multiple times is invalid.
  'regexp-tier-up': [SKIP],
  'regexp-tier-up-multiple': [SKIP],

  # Flaky crash on Odroid devices: https://crbug.com/v8/7678
  'regress/regress-336820': [PASS, ['arch == arm and not simulator_run', SKIP]],

  # Goes OOM on ODROID devices: https://crbug.com/v8/9026
  # Too slow on PPC: https://crbug.com/v8/9246
  'es6/large-classes-properties': [PASS, SLOW, ['(arch == arm and not simulator_run) or arch in [ppc, ppc64]', SKIP]],
  'regress/regress-1122': [PASS, ['tsan', SKIP]],

  # Too slow with gc_stress on arm64.
  'messages': [PASS, ['gc_stress and arch == arm64', SKIP]],

  # Slow on arm64 simulator: https://crbug.com/v8/7783
  'string-replace-gc': [PASS, ['arch == arm64 and simulator_run', SKIP]],

  # Too memory hungry.
  'regress/regress-779407': [PASS, ['tsan', SKIP]],
  'regress/regress-599414-array-concat-fast-path':  [PASS, ['tsan', SKIP]],

  # Too memory hungry on Odroid devices.
  'regress/regress-678917': [PASS, ['arch == arm and not simulator_run', SKIP]],
}],  # variant == stress

##############################################################################
['variant == stress and (arch == arm or arch == arm64) and simulator_run', {
  # Slow tests: https://crbug.com/v8/7783
  'es6/large-classes-properties': [SKIP],
  'generated-transition-stub': [SKIP],
  'regress/regress-336820': [SKIP],
}],  # variant == stress and (arch == arm or arch == arm64) and simulator_run

##############################################################################
['variant in (nooptimization, jitless) and arch in (arm, arm64) and simulator_run', {
  # Slow tests: https://crbug.com/v8/7783
  'regress/regress-crbug-319860': [SKIP],
}],  # variant == nooptimization and (arch == arm or arch == arm64) and simulator_run

##############################################################################
['variant == nooptimization', {
  # Tests that depend on optimization (beyond doing assertOptimized).
  'regress/regress-1049982-1': [SKIP],
  'regress/regress-1049982-2': [SKIP],
  # Wasm serialization relies on TurboFan to be available, hence does not work
  # in the 'nooptimization' variant.
  'regress/wasm/regress-7785': [SKIP],
}],  # variant == nooptimization

##############################################################################
['(arch == arm or arch == arm64)', {
  # Flaky tests: https://crbug.com/v8/8090
  'regress/regress-752764': [SKIP],
}],  # (arch == arm or arch == arm64)

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

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

##############################################################################
['variant == no_wasm_traps', {
  # Skip stuff uninteresting for wasm traps
  'bugs/*': [SKIP],
  'compiler/*': [SKIP],
  'es6/*': [SKIP],
  'es7/*': [SKIP],
  'es8/*': [SKIP],
  'harmony/*': [SKIP],
  'ignition/*': [SKIP],
  'lithium/*': [SKIP],
  'third_party/*': [SKIP],
  'tools/*': [SKIP],
  'apply': [SKIP],
  'math-*': [SKIP],
  'unicode-test': [SKIP],
  'whitespaces': [SKIP],
}],  # variant == no_wasm_traps

##############################################################################
['no_harness', {
    # skip assertion tests since the stack trace is broken if mjsunit is
    # included in the snapshot
    'mjsunit-assertion-error': [SKIP],
}], # no_harness

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

##############################################################################
# Liftoff is currently only sufficiently implemented on x64, ia32, arm64 and
# arm.
# TODO(clemensb): Implement on all other platforms (crbug.com/v8/6600).
['arch not in (x64, ia32, arm64, arm)', {
  'wasm/liftoff': [SKIP],
  'wasm/tier-up-testing-flag': [SKIP],
  'wasm/tier-down-to-liftoff': [SKIP],
  'wasm/wasm-dynamic-tiering': [SKIP],
}], # arch not in (x64, ia32, arm64, arm)

##############################################################################
['system != linux', {
  # Multi-mapped mock allocator is only available on Linux.
  'regress/regress-crbug-1041232': [SKIP],
  'regress/regress-crbug-1104608': [SKIP],
}],

##############################################################################
['variant == turboprop', {
  # Deopts differently than TurboFan.
  'compiler/native-context-specialization-hole-check': [SKIP],
  'compiler/number-comparison-truncations': [SKIP],
  'compiler/redundancy-elimination': [SKIP],
  'compiler/regress-9945-*': [SKIP],
  'es6/super-ic-opt-no-turboprop': [SKIP],

  # Static asserts for optimizations don't hold due to removed optimization
  # phases.
  'compiler/concurrent-inlining-1': [SKIP],
  'compiler/concurrent-inlining-2': [SKIP],
  'compiler/constant-fold-add-static': [SKIP],
  'compiler/diamond-followedby-branch': [SKIP],
  'compiler/is-being-interpreted-*': [SKIP],
  'compiler/load-elimination-const-field': [SKIP],
  'compiler/serializer-accessors': [SKIP],
  'compiler/serializer-apply': [SKIP],
  'compiler/serializer-call': [SKIP],
  'compiler/serializer-dead-after-jump': [SKIP],
  'compiler/serializer-dead-after-return': [SKIP],
  'compiler/serializer-feedback-propagation-*': [SKIP],
  'compiler/serializer-transition-propagation': [SKIP],

  # Some tests rely on inlining.
  'compiler/inlined-call-polymorphic': [SKIP],
  'compiler/opt-higher-order-functions': [SKIP],
  'regress/regress-1049982-1': [SKIP],
  'regress/regress-1049982-2': [SKIP],
  'es6/iterator-eager-deopt': [SKIP],

  # In turboprop we reuse the optimized code on soft deopt. The following tests
  # test for a soft deopt and they won't work in TurboProp.
  'deopt-recursive-soft-once': [SKIP],
  'regress/regress-3709': [SKIP],
  'regress/regress-5790': [SKIP],

  # const field tracking is disabled in turboprop
  'const-field-tracking': [SKIP],

  # Dynamic map checks doesn't use information from maps so we don't inline
  # array builtins or track field representation.
  'compiler/deopt-inlined-from-call': [SKIP],
  'compiler/field-representation-tracking': [SKIP],
  'field-type-tracking': [SKIP],

  # We don't migrate deprecated maps with dynamic map checks. This will be
  # fixed in a later cl.
  # TODO(mythria): Reenable this when the cl that migrates deprecated maps
  # lands
  'regress/regress-932953': [PASS],

  # Tests failing for the lack of function context specialization in Turboprop.
  'compiler/abstract-equal-receiver': [FAIL],
  'compiler/constant-fold-cow-array': [FAIL],
  'compiler/promise-resolve-stable-maps': [FAIL],

  # https://crbug.com/v8/10894
  'math-floor-of-div': [SLOW],
}],  # variant == turboprop

##############################################################################
['variant == top_level_await', {
  # specifically expects to fail on top level await.
  'harmony/modules-import-15': [SKIP],
}], # variant == top_level_await

##############################################################################
['variant == stress_js_bg_compile_wasm_code_gc', {
  # Runs significantly slower with --stress-wasm-code-gc, problematic
  # especially in combination with tsan or other slow configurations.
  'wasm/many-modules': [SKIP],
}],  # variant == stress_js_bg_compile_wasm_code_gc

##############################################################################
['variant == assert_types', {
  # Type assertions can lead to differences in representation selection,
  # which in turn can lead to different deopt behavior.
  'compiler/number-abs': [SKIP],
  'compiler/number-toboolean': [SKIP],
}],  # variant == assert_types

##############################################################################
['variant == stress_snapshot and arch != x64', {
  # Deserialization fails due to read-only snapshot checksum verification.
  # https://crbug.com/v8/10491
  '*': [SKIP],
}],  # variant == stress_snapshot and arch != x64

##############################################################################
['variant == stress_snapshot and arch == x64', {
  # Crashes the serializer due to recursion.
  'deep-recursion': [SKIP],
  'string-replace-gc': [SKIP],
  # Debug check failed:
  # map == GetReadOnlyRoots(isolate).fixed_array_map() || map == GetReadOnlyRoots(isolate).fixed_cow_array_map().
  # This means a mismatch of elements kinds / elements on the global object.
  'es6/block-sloppy-function': [SKIP],
  'es6/reflect-get-own-property-descriptor': [SKIP],
  'es6/reflect': [SKIP],
  'get-own-property-descriptor': [SKIP],
  'global-properties': [SKIP],
  'indexed-accessors': [SKIP],
  'object-freeze-global': [SKIP],
  'object-seal-global': [SKIP],
  'regress/regress-1103': [SKIP],
  'regress/regress-1112': [SKIP],
  'regress/regress-1120': [SKIP],
  'regress/regress-2346': [SKIP],
  'regress/regress-489151': [SKIP],
  'regress/regress-crbug-1002628': [SKIP],
  'regress/regress-crbug-454091': [SKIP],
  'regress/regress-crbug-663750': [SKIP],
  'regress/regress-freeze-setter': [SKIP],
  # TODO(v8:10494): asm Code objects can't be flushed and end up in the isolate
  # serializer.
  'asm/*': [SKIP],
  'compiler/regress-439743': [SKIP],
  'regress/regress-441099': [SKIP],
  'regress/regress-617526': [SKIP],
  'regress/regress-6196': [SKIP],
  'regress/regress-677685': [SKIP],
  'regress/regress-7893': [SKIP],
  'regress/regress-799690': [SKIP],
  'regress/regress-8377': [SKIP],
  'regress/regress-crbug-1047368': [SKIP],
  'regress/regress-crbug-898974': [SKIP],
  'regress/regress-crbug-935800': [SKIP],
  'regress/regress-crbug-976934': [SKIP],
  'regress/wasm/*': [SKIP],
  'wasm/*': [SKIP],
  # Investigate (IsScript).
  'harmony/import-from-compilation-errored': [SKIP],
  'harmony/private-fields-special-object': [SKIP],
  # Skip, since import errors since they refer to the script via debug symbols
  'harmony/import-from-instantiation-errored': [SKIP],
  # Investigate (JSFunction in startup serializer).
  'regress/regress-1034394': [SKIP],
  'regress/regress-863810': [SKIP],
  'regress/regress-crbug-772056': [SKIP],
  # The entire snapshotting code assumes that the snapshot size fits
  # into an int, so it doesn't support huge TypedArrays.
  'regress/regress-319722-ArrayBuffer': [SKIP],
  'regress/regress-667603': [SKIP],
  'regress/regress-crbug-1104608': [SKIP],
  # Investigate (IsFixedArrayBase).
  'regress/regress-786784': [SKIP],
  'regress/regress-v8-9656': [SKIP],
  # Investigate (startup_serializer_->ReferenceMapContains(obj)).
  'regress/regress-813440': [SKIP],
  # Investigate (segfault).
  'regress/regress-crbug-397662': [SKIP],
  # Script referenced only through context-dependent SourceTextModule
  # https://bugs.chromium.org/p/v8/issues/detail?id=11073
  'tools/processor': [SKIP],
}],  # variant == stress_snapshot and arch == x64

##############################################################################
['variant == slow_path', {
  # This tests creates a pretty big array and calls Array.prototype.slice on
  # it. In the slow path, this results in one runtime call per element, which
  # takes several minutes overall.
  'regress/wasm/regress-9017': [SKIP],
}],  # variant == slow_path

################################################################################
['variant == nci or variant == nci_as_midtier', {
  # Deopts differently than TurboFan.
  # Deoptimization support is still incomplete in general, since deopts can
  # only happen when explicitly requested by tests. NCI code objects are then
  # set as marked_for_deoptimization *and never unset*, which means functions
  # with attached NCI code objects will never again count as optimized.
  # TODO(jgruber): Fix this once deopts can occur outside tests.
  'compiler/is-being-interpreted*': [SKIP],
  'compiler/number-comparison-truncations': [SKIP],
  'compiler/redundancy-elimination': [SKIP],
  'compiler/regress-9945-*': [SKIP],
  'regress/regress-1049982-1': [SKIP],
  'regress/regress-1049982-2': [SKIP],
  'compiler/test-dynamic-map-*': [SKIP],
  'es6/collections-constructor-iterator-side-effect': [SKIP],
  'es6/collections-constructor-with-modified-protoype': [SKIP],
  # assertUnoptimized: assumes full turbofan pipeline.
  'allocation-site-info': [SKIP],
  'array-bounds-check-removal': [SKIP],
  'array-constructor-feedback': [SKIP],
  'array-literal-feedback': [SKIP],
  'array-literal-transitions': [SKIP],
  'array-push5': [SKIP],
  'array-store-and-grow': [SKIP],
  'check-bounds-array-index': [SKIP],
  'check-bounds-string-from-char-code-at': [SKIP],
  'compiler/abstract-equal-oddball': [SKIP],
  'compiler/abstract-equal-receiver': [SKIP],
  'compiler/abstract-equal-symbol': [SKIP],
  'compiler/abstract-equal-undetectable': [SKIP],
  'compiler/array-multiple-receiver-maps': [SKIP],
  'compiler/bigint-add-no-deopt-loop': [SKIP],
  'compiler/bound-functions-serialize': [SKIP],
  'compiler/concurrent-invalidate-transition-map': [SKIP],
  'compiler/concurrent-proto-change': [SKIP],
  'compiler/constant-fold-cow-array': [SKIP],
  'compiler/dataview-deopt': [SKIP],
  'compiler/dataview-detached': [SKIP],
  'compiler/dataview-get': [SKIP],
  'compiler/dataview-set': [SKIP],
  'compiler/deopt-inlined-from-call': [SKIP],
  'compiler/field-representation-tracking': [SKIP],
  'compiler/manual-concurrent-recompile': [SKIP],
  'compiler/native-context-specialization-hole-check': [SKIP],
  'compiler/number-divide': [SKIP],
  'compiler/opt-higher-order-functions': [SKIP],
  'compiler/promise-resolve-stable-maps': [SKIP],
  'compiler/regress-905555-2': [SKIP],
  'compiler/regress-905555': [SKIP],
  'compiler/regress-9945-1': [SKIP],
  'compiler/regress-9945-2': [SKIP],
  'compiler/stress-deopt-count-2': [SKIP],
  'compiler/strict-equal-receiver': [SKIP],
  'compiler/string-from-code-point': [SKIP],
  'concurrent-initial-prototype-change': [SKIP],
  'const-field-tracking-2': [SKIP],
  'const-field-tracking': [SKIP],
  'deopt-recursive-eager-once': [SKIP],
  'deopt-recursive-lazy-once': [SKIP],
  'deopt-recursive-soft-once': [SKIP],
  'deopt-unlinked': [SKIP],
  'deopt-with-fp-regs': [SKIP],
  'ensure-growing-store-learns': [SKIP],
  'es6/array-iterator-turbo': [SKIP],
  'es6/iterator-eager-deopt': [SKIP],
  'es6/iterator-lazy-deopt': [SKIP],
  'field-type-tracking': [SKIP],
  'frozen-array-reduce': [SKIP],
  'getters-on-elements': [SKIP],
  'harmony/regexp-overriden-exec': [SKIP],
  'keyed-load-hole-to-undefined': [SKIP],
  'keyed-load-with-symbol-key': [SKIP],
  'mjsunit_numfuzz': [SKIP],
  'mjsunit': [SKIP],
  'never-optimize': [SKIP],
  'non-extensible-array-reduce': [SKIP],
  'noopt': [SKIP],
  'object-seal': [SKIP],
  'optimized-array-every': [SKIP],
  'optimized-array-findindex': [SKIP],
  'optimized-array-find': [SKIP],
  'optimized-array-some': [SKIP],
  'optimized-filter': [SKIP],
  'optimized-map': [SKIP],
  'regress/regress-1016450': [SKIP],
  'regress/regress-1034449': [SKIP],
  'regress/regress-1073440': [SKIP],
  'regress/regress-1112155': [SKIP],
  'regress/regress-347914': [SKIP],
  'regress/regress-3709': [SKIP],
  'regress/regress-385565': [SKIP],
  'regress/regress-410912': [SKIP],
  'regress/regress-618608': [SKIP],
  'regress/regress-9002': [SKIP],
  'regress/regress-9441': [SKIP],
  'regress/regress-961709-classes-opt': [SKIP],
  'regress/regress-bind-deoptimize': [SKIP],
  'regress/regress-crbug-500497': [SKIP],
  'regress/regress-crbug-594183': [SKIP],
  'regress/regress-embedded-cons-string': [SKIP],
  'regress/regress-unlink-closures-on-deopt': [SKIP],
  'regress/wasm/regress-02256b': [SKIP],
  'regress/wasm/regress-02256': [SKIP],
  'sealed-array-reduce': [SKIP],
  'setters-on-elements': [SKIP],
  'smi-mul-const': [SKIP],
  'smi-mul': [SKIP],
  'unary-minus-deopt': [SKIP],
  # TurbofanStaticAssert: assumes full turbofan pipeline.
  'compiler/catch-block-load': [SKIP],
  'compiler/concurrent-inlining-1': [SKIP],
  'compiler/concurrent-inlining-2': [SKIP],
  'compiler/constant-fold-add-static': [SKIP],
  'compiler/construct-bound-function': [SKIP],
  'compiler/construct-object': [SKIP],
  'compiler/construct-receiver': [SKIP],
  'compiler/diamond-followedby-branch': [SKIP],
  'compiler/inlined-call-polymorphic': [SKIP],
  'compiler/js-create-arguments': [SKIP],
  'compiler/js-create': [SKIP],
  'compiler/load-elimination-const-field': [SKIP],
  'compiler/serializer-accessors': [SKIP],
  'compiler/serializer-apply': [SKIP],
  'compiler/serializer-call': [SKIP],
  'compiler/serializer-dead-after-jump': [SKIP],
  'compiler/serializer-dead-after-return': [SKIP],
  'compiler/serializer-feedback-propagation-1': [SKIP],
  'compiler/serializer-feedback-propagation-2': [SKIP],
  'compiler/serializer-transition-propagation': [SKIP],
  # crbug.com/v8/11110
  'es6/super-ic-opt*': [SKIP],
}],  # variant == nci or variant == nci_as_midtier

['((arch == mipsel or arch == mips64el or arch == mips or arch == mips64) and not simd_mips) or (arch in [ppc64, s390x])', {
  # Requires scalar lowering for 64x2 SIMD instructions, which are not
  # implemented yet.
  # Also skip tests on archs that don't support SIMD and lowering doesn't yet work correctly.
  # Condition copied from cctest.status.
  'regress/wasm/regress-10831': [SKIP],
}],  # ((arch == mipsel or arch == mips64el or arch == mips or arch == mips64) and not simd_mips) or (arch in [ppc64, s390x])

##############################################################################
['variant == stress_sampling', {
  # https://bugs.chromium.org/p/v8/issues/detail?id=10915
  'harmony/weakrefs/stress-finalizationregistry-dirty-enqueue': [SKIP],
  'regress/regress-484544': [SKIP],
  'regress/regress-543994': [SKIP],
  'regress/regress-crbug-1041232': [SKIP],
  'regress/regress-set-flags-stress-compact': [SKIP],
}],  # variant == stress_sampling

]
