# Copyright 2011 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 prefixed with 'Bug' are expected to fail.
  'test-api/Bug*': [FAIL],

  ##############################################################################

  # This test is so detailed in it's look at the literals array, I can't
  # maintain it until the CL is done.
  'test-heap-profiler/AllocationSitesAreVisible': [FAIL, ['lite_mode == True', SKIP]],

  # These tests always fail.  They are here to test test.py.  If
  # they don't fail then test.py has failed.
  'test-serialize/TestThatAlwaysFails': [FAIL],
  'test-api/SealHandleScope': [FAIL],

  # This test always fails.  It tests that LiveEdit causes abort when turned off.
  'test-debug/LiveEditDisabled': [FAIL],

  # This test always fails.  It tests that DisallowJavascriptExecutionScope
  # works as intended.
  'test-api/DisallowJavascriptExecutionScope': [FAIL],

  # TODO(gc): Temporarily disabled in the GC branch.
  'test-log/EquivalenceOfLoggingAndTraversal': [PASS, FAIL],

  # We do not yet shrink weak maps after they have been emptied by the GC
  'test-weakmaps/Shrinking': [FAIL],
  'test-weaksets/WeakSet_Shrinking': [FAIL],

  # Boot up memory use is bloated in debug mode.
  'test-mark-compact/BootUpMemoryUse': [PASS, ['mode == debug', FAIL]],

  # This tests only that the preparser and parser agree, so there is no point in
  # running several variants. Note that this still takes ages, because there
  # are actually 13 * 38 * 5 * 128 = 316160 individual tests hidden here.
  'test-parsing/ParserSync': [PASS, NO_VARIANTS],

  # This tests only the type system, no point in running several variants.
  'test-types/*': [PASS, NO_VARIANTS],

  # This tests API threading, no point in running several variants.
  'test-api/Threading*': [PASS, SLOW, NO_VARIANTS],

  # TODO(ulan): Renable after fixing the test's brittleness.
  'test-heap/OutOfMemory': [SKIP],

  # BUG(5193). The cpu profiler tests are notoriously flaky.
  'test-profile-generator/RecordStackTraceAtStartProfiling': [SKIP],
  'test-cpu-profiler/CollectCpuProfile': [SKIP],
  'test-cpu-profiler/CollectCpuProfileCallerLineNumbers': [SKIP],
  'test-cpu-profiler/CollectCpuProfileSamples': [SKIP],
  'test-cpu-profiler/CollectDeoptEvents': [SKIP],
  'test-cpu-profiler/CpuProfileDeepStack': [SKIP],
  'test-cpu-profiler/DeoptAtFirstLevelInlinedSource': [SKIP],
  'test-cpu-profiler/DeoptAtSecondLevelInlinedSource': [SKIP],
  'test-cpu-profiler/DeoptUntrackedFunction': [SKIP],
  'test-cpu-profiler/FunctionApplySample': [SKIP],
  'test-cpu-profiler/HotDeoptNoFrameEntry': [SKIP],
  'test-cpu-profiler/JsNative1JsNative2JsSample': [SKIP],
  'test-cpu-profiler/JsNativeJsRuntimeJsSample': [SKIP],
  'test-cpu-profiler/JsNativeJsRuntimeJsSampleMultiple': [SKIP],
  'test-cpu-profiler/JsNativeJsSample': [SKIP],
  'test-cpu-profiler/NativeAccessorUninitializedIC': [SKIP],
  'test-cpu-profiler/SampleWhenFrameIsNotSetup': [SKIP],
  'test-cpu-profiler/TracingCpuProfiler': [SKIP],
  'test-sampler/LibSamplerCollectSample': [SKIP],

  # BUG(7202). The test is flaky.
  'test-cpu-profiler/NativeFrameStackTrace': [SKIP],

  # BUG(7054)
  'test-cpu-profiler/StaticCollectSampleAPI': [SKIP],

  # BUG(2340). Preprocessing stack traces is disabled at the moment.
  'test-heap/PreprocessStackTrace': [FAIL],

  # BUG(4333). Function name inferrer does not work for ES6 clases.
  'test-func-name-inference/UpperCaseClass': [FAIL],
  'test-func-name-inference/LowerCaseClass': [FAIL],

  # BUG(3742).
  'test-mark-compact/MarkCompactCollector': [PASS, ['arch==arm', NO_VARIANTS]],

  # Test that serialization with unknown external reference fails.
  'test-serialize/SnapshotCreatorUnknownExternalReferences': [FAIL],
  'test-serialize/SnapshotCreatorUnknownHandles': [FAIL],
  'test-serialize/SnapshotCreatorNoExternalReferencesCustomFail1': [FAIL],
  'test-serialize/SnapshotCreatorNoExternalReferencesCustomFail2': [FAIL],

  # BUG(v8:8296). Flaky OOM test.
  'test-heap/OutOfMemorySmallObjects': [SKIP],

  # BUG(v8:8739). Wasm interpreter does not create proper stack traces.
  'test-wasm-stack/RunWasmInterpreter_CollectDetailedWasmStack_WasmError': [SKIP],

  ############################################################################
  # Slow tests.
  'test-debug/CallFunctionInDebugger': [PASS, ['mode == debug', SLOW]],
  'test-strings/StringOOM*': [PASS, ['mode == debug', SKIP]],
  'test-serialize/CustomSnapshotDataBlobImmortalImmovableRoots': [PASS, ['mode == debug', SKIP]],
  'test-parsing/ObjectRestNegativeTestSlow': [PASS, ['mode == debug', SKIP]],
}],  # ALWAYS

##############################################################################
['arch == arm64', {
  'test-api/Bug618': [PASS],

  # BUG(v8:3385).
  'test-serialize/StartupSerializerOnceRunScript': [PASS, FAIL],
  'test-serialize/StartupSerializerTwiceRunScript': [PASS, FAIL],

  # BUG(v8:3154).
  'test-heap/ReleaseOverReservedPages': [PASS, FAIL],

  # BUG(v8:3155).
  'test-strings/OneByteArrayJoin': [PASS, ['mode == debug', FAIL]],

  # BUG(v8:3247).
  'test-mark-compact/NoPromotion': [SKIP],

  # BUG(v8:3446).
  'test-mark-compact/Promotion': [PASS, FAIL],

  # BUG(v8:3434).
  'test-api/LoadICFastApi_DirectCall_GCMoveStubWithProfiler': [SKIP],
}],  # 'arch == arm64'

['arch == arm64 and simulator_run', {

  # Pass but take too long with the simulator.
  'test-api/ExternalArrays': [PASS, SLOW],
  'test-api/Threading*': [SKIP],
}],  # 'arch == arm64 and simulator_run'

['arch == arm64 and (mode == debug) and simulator_run', {

  # Pass but take too long with the simulator in debug mode.
  'test-api/ExternalDoubleArray': [SKIP],
  'test-api/ExternalFloat32Array': [SKIP],
  'test-api/ExternalFloat64Array': [SKIP],
  'test-api/ExternalFloatArray': [SKIP],
  'test-api/Float32Array': [SKIP],
  'test-api/Float64Array': [SKIP],
  'test-api/Uint8Array': [SKIP],
}],  # 'arch == arm64 and (mode == debug) and simulator_run'

##############################################################################
['variant == nooptimization and (arch == arm or arch == arm64) and simulator_run', {
  # Slow tests: https://crbug.com/v8/7783
  'test-cpu-profiler/MultipleIsolates': [SKIP],

  # Slow but tolarable tests.
  'test-api/FixedFloat64Array': [PASS, SLOW],
  'test-api/FixedUint16Array': [PASS, SLOW],
  'test-api/Int8Array': [PASS, SLOW],
  'test-api/SharedFloat64Array': [PASS, SLOW],
  'test-api/SharedUint16Array': [PASS, SLOW],
  'test-api/Uint16Array': [PASS, SLOW],
}],  # variant == nooptimization and (arch == arm or arch == arm64) and simulator_run

##############################################################################
# TODO(ahaas): Port multiple return values to ARM, MIPS, S390 and PPC
['arch == s390 or arch == s390x or arch == ppc or arch == ppc64', {
  'test-multiple-return/*': [SKIP],
}],
##############################################################################
['asan == True', {
  # Skip tests not suitable for ASAN.
  'test-assembler-x64/AssemblerX64XchglOperations': [SKIP],

  # BUG(v8:7587): Strange breakage on Mac.
  'test-log-stack-tracer/PureJSStackTrace': [SKIP],
}],  # 'asan == True'

##############################################################################
['msan == True', {
  # ICU upstream issues.
  'test-strings/CountBreakIterator': [SKIP],
}],  # 'msan == True'

##############################################################################
['tsan == True', {
  # BUG(v8:6924). The test allocates a lot of memory.
  'test-api/NewStringRangeError': [PASS, NO_VARIANTS],
}],  # 'tsan == True'

##############################################################################
['no_snap == True', {
  # Slow tests.
  'test-api/ExternalWrap': [PASS, SLOW],
  'test-api/FastReturnValues*': [PASS, SLOW],
  'test-decls/CrossScriptReferences_Simple2': [PASS, SLOW],
  # "WithWarmup" means starting from a snapshot, for which nosnap builds lack
  # support.
  'test-serialize/CustomSnapshotDataBlobWithWarmup': [SKIP],
  'test-serialize/SnapshotDataBlobWithWarmup': [SKIP],
  # Fails the embedded blob <-> Isolate verification step.
  'test-serialize/CustomSnapshotDataBlobWithLocker': [SKIP],

  # https://crbug.com/v8/7763
  'test-lockers/ExtensionsRegistration': [SKIP],
}],  # 'no_snap == True'

##############################################################################
# TODO(machenbach): Fix application of '*'. Nosnap windows needs a separate
# section to not overwrite the expectations for TestThatAlwaysFails.
['no_snap == True and system == windows', {
  # Windows doesn't support nosnap mode.
  'test-serialize/*': [SKIP],
}],  # 'no_snap == True and system == windows'

##############################################################################
['byteorder == big', {
  # Skip WASM atomic tests on big-endian machines.
  # There is no support to emulate atomic WASM operations on big-endian
  # platforms, since this would require bit swapping as a part of atomic
  # operations.
  'test-run-wasm-atomics/*': [SKIP],
  'test-run-wasm-atomics64/*': [SKIP],
}],  # 'byteorder == big'

##############################################################################
['system == windows', {
  # BUG(v8:4573).
  'test-api/MultipleIsolatesOnIndividualThreads': [PASS, NO_VARIANTS],

  # BUG(v8:4642).
  'test-lockers/LockAndUnlockDifferentIsolates': [PASS, NO_VARIANTS],

  # BUG(v8:2999,v8:4751).
  'test-cpu-profiler/FunctionCallSample': [SKIP],

  # BUG(5920): Flaky crash.
  'test-serialize/PartialSerializerContext': [PASS, ['arch == x64 and mode == debug', SKIP]],
}],  # 'system == windows'

##############################################################################
['system == windows and arch == x64 and mode == debug', {
  # BUG(v8:6328).
  'test-serialize/PartialSerializerCustomContext': [SKIP],
  'test-serialize/PartialSerializerObject': [SKIP],
  'test-serialize/StartupSerializerOnce': [SKIP],
  'test-serialize/StartupSerializerOnceRunScript': [SKIP],
  'test-serialize/StartupSerializerTwiceRunScript': [SKIP],
  'test-serialize/StartupSerializerTwice': [SKIP],
}],  # 'system == windows and arch == x64 and mode == debug'

##############################################################################
['arch == arm and simulator_run', {
  # Pass but take too long with the simulator.
  'test-api/Threading*': [SKIP],
}],  # 'arch == arm and simulator_run'

##############################################################################
['arch == arm', {
  # BUG(355): Test crashes on ARM.
  'test-log/ProfLazyMode': [SKIP],

  # BUG(1075): Unresolved crashes.
  'test-serialize/StartupSerializerOnce': [SKIP],
  'test-serialize/StartupSerializerTwice': [SKIP],
  'test-serialize/StartupSerializerOnceRunScript': [SKIP],
  'test-serialize/StartupSerializerTwiceRunScript': [SKIP],
}],  # 'arch == arm'

##############################################################################
['arch == arm and not simulator_run', {
  # crbug.com/v8/7605
  'test-heap/OutOfMemorySmallObjects': [SKIP],
}],  # 'arch == arm and not simulator_run'

##############################################################################
['arch == mipsel or arch == mips', {
  # TODO(mips-team): Improve code-size on large RegExp's.
  'test-heap/TestSizeOfRegExpCode':  [SKIP],

  # BUG(1075): Unresolved crashes on MIPS also.
  'test-serialize/StartupSerializerOnce': [SKIP],
  'test-serialize/StartupSerializerTwice': [SKIP],
  'test-serialize/StartupSerializerOnceRunScript': [SKIP],
  'test-serialize/StartupSerializerTwiceRunScript': [SKIP],
}],  # 'arch == mipsel or arch == mips'

##############################################################################
['arch == mips', {
  # Too slow with TF.
  'test-api/ExternalArrays': [PASS, NO_VARIANTS],

  # TODO(mips-team): Currently fails on mips board.
  'test-parsing/TooManyArguments': [SKIP],
  'test-api/Threading5': [SKIP],
  'test-api/Threading6': [SKIP],
}],  # 'arch == mips'

##############################################################################
['arch == mips64', {
  # TODO(mips-team): Currently fails on mips64 board.
  'test-run-wasm/RunWasmLiftoff_I32Binop*': [SKIP],
}],  # 'arch == mips64'
##############################################################################
['arch == mips64el or arch == mips64', {
  # BUG(v8:3154).
  'test-heap/ReleaseOverReservedPages': [PASS, FAIL],

  # TODO(mips-team): Improve code-size on large RegExp's.
  'test-heap/TestSizeOfRegExpCode':  [SKIP],

  # BUG(1075): Unresolved crashes on MIPS also.
  'test-serialize/StartupSerializerOnce': [SKIP],
  'test-serialize/StartupSerializerTwice': [SKIP],
  'test-serialize/StartupSerializerOnceRunScript': [SKIP],
  'test-serialize/StartupSerializerTwiceRunScript': [SKIP],
}],  # 'arch == mips64el or arch == mips64'

##############################################################################
['(arch == mipsel or arch == mips64el or arch == mips or arch == mips64) and not simd_mips', {
  # Skip tests that fail on MIPS architectures which don't support SIMD,
  # because lowering mechanism doesn't work properly
  'test-run-wasm-simd/RunWasm_ReductionTest4_compiled': [SKIP],
  'test-run-wasm-simd/RunWasm_ReductionTest8_compiled': [SKIP],
  'test-run-wasm-simd/RunWasm_ReductionTest16_compiled': [SKIP],
}],  # '(arch == mipsel or arch == mips64el or arch == mips or arch == mips64) and not simd_mips'

##############################################################################
['arch == mips or arch == mips64', {
  # TODO(mips-team): Implement I64Atomic operations on MIPS
  'test-run-wasm-atomics64/*': [SKIP],
}],  # 'arch == mipsel or arch == mips64el or arch == mips or arch == mips64'

##############################################################################
['mips_arch_variant == r6', {
  # For MIPS[64] architecture release 6, fusion multiply-accumulate instructions
  # will cause failures on several tests that expect exact floating-point
  # results.
  'test-run-machops/RunFloat64MulAndFloat64Add1': [SKIP],
  'test-run-machops/RunFloat64MulAndFloat64Add2': [SKIP],
  'test-run-machops/RunFloat64MulAndFloat64Sub1': [SKIP],
  'test-run-machops/RunFloat64MulAndFloat64Sub2': [SKIP],
}],  # 'mips_arch_variant == r6'

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

  # Tests crash as there is no /tmp directory in Android.
  'test-log/LogAccessorCallbacks': [SKIP],
  'test-log/LogCallbacks': [SKIP],
  'test-log/ProfLazyMode': [SKIP],
}],  # 'arch == android_arm or arch == android_ia32'

##############################################################################
['system == android', {
  # Uses too much memory.
  'test-api/NewStringRangeError': [SKIP],
}],  # 'system == android'

##############################################################################
['system != android and arch in [arm, arm64] and not simulator_run', {
  # Consumes too much memory on ODROIDs in debug mode and optimize_for_size.
  'test-code-generator/FuzzAssemble*': [PASS, ['(mode == debug) and optimize_for_size', SKIP]],
}],  # 'system != android and arch in [arm, arm64] and not simulator_run'

##############################################################################
['system == aix and arch == ppc64', {

  # BUG 2857
  'test-log/EquivalenceOfLoggingAndTraversal' : [SKIP],

}],  # 'system == aix and arch == ppc64'

##############################################################################
['system == aix or (arch == ppc64 and byteorder == big)', {

  # TODO(ppc): Fix for platforms with function desciptors.
  'test-run-machops/RunComputedCodeObject' : [SKIP],
  'test-run-wasm-module/Run_WasmModule_Return114' : [SKIP],
  'test-run-wasm-module/Run_WasmModule_CallAdd' : [SKIP],
  'test-run-wasm-module/Run_WasmModule_CallMain_recursive' : [SKIP],
  # TODO(ppc): Implement load/store reverse byte instructions
  'test-run-wasm-simd/RunWasmCompiled_SimdLoadStoreLoad': [SKIP],
  'test-run-wasm-simd/RunWasm_SimdLoadStoreLoad': [SKIP],
  'test-run-wasm-simd/RunWasm_SimdLoadStoreLoad_turbofan': [SKIP],

}],  # 'system == aix or (arch == ppc64 and byteorder == big)'

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

  # Pass but take too long with the simulator.
  'test-api/Threading*': [PASS, SLOW],
  'test-api/ExternalArrays': [PASS, SLOW],

}],  # 'arch == ppc64 and simulator_run'

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

  # TODO(ppc/s390): implement atomic operations
  'test-run-wasm-atomics/*': [SKIP],

}],  # 'arch == ppc or arch == ppc64 or arch == s390 or arch == s390x'

['arch == ppc64', {
  # https://crbug.com/v8/8766
  'test-bytecode-generator/WideRegisters': [SKIP],
}],

##############################################################################
['variant == stress_incremental_marking', {
  'test-heap-profiler/SamplingHeapProfiler': [SKIP],
}],  # variant == stress_incremental_marking

##############################################################################
# The test relies on deterministic compilation.
['variant == stress_background_compile', {
  'test-compiler/DecideToPretenureDuringCompilation': [SKIP],
}],  # variant == stress_background_compile

##############################################################################
['variant == interpreted_regexp', {
  # Times out: https://crbug.com/v8/8678
  'test-api/RegExpInterruption': [SKIP],
}],  # variant == interpreted_regexp

##############################################################################
['variant == no_wasm_traps', {
  'test-accessors/*': [SKIP],
  'test-api-interceptors/*': [SKIP],
  'test-api/*': [SKIP],
  'test-bignum-dtoa/*': [SKIP],
  'test-cpu-profiler/*': [SKIP],
  'test-debug/*': [SKIP],
  'test-global-handles/*': [SKIP],
  'test-heap-profiler/*': [SKIP],
  'test-heap/*': [SKIP],
  'test-inobject-slack-tracking/*': [SKIP],
  'test-lockers/*': [SKIP],
  'test-run-machops/*': [SKIP],
  'test-serialize/*': [SKIP],
  'test-strings/*': [SKIP],
  'test-field-type-tracking/*': [SKIP],
  'test-parsing/*': [SKIP],
  'test-page-promotion/*': [SKIP],
  'test-decls/*': [SKIP],
  'test-log/*': [SKIP],
  'test-gap-resolver/*': [SKIP],
  'test-dtoa/*': [SKIP],
}],  # variant == no_wasm_traps

##############################################################################
# The stack unwinder API is only supported on x64.
['arch != x64', {
  'test-unwinder/*': [SKIP]
}],

##############################################################################
['lite_mode or variant == jitless', {

  # TODO(8394): First execution events don't work in lite_mode. Enable this after
  # we fix the lite mode to track the first execution.
  'test-log/LogFunctionEvents': [SKIP],

  # Skip tests for weak references in feedback vector.
  'test-weak-references/WeakReferencesBasic': [SKIP],
  'test-weak-references/WeakReferencesOldToOld': [SKIP],
  'test-weak-references/WeakReferencesOldToNew': [SKIP],
  'test-weak-references/WeakReferencesOldToNewScavenged': [SKIP],
  'test-weak-references/WeakReferencesOldToCleared': [SKIP],
  'test-weak-references/ObjectMovesBeforeClearingWeakField': [SKIP],
  'test-weak-references/ObjectWithWeakFieldDies': [SKIP],
  'test-weak-references/ObjectWithWeakReferencePromoted': [SKIP],
  'test-weak-references/ObjectWithClearedWeakReferencePromoted': [SKIP],
  'test-weak-references/WeakReferenceWriteBarrier': [SKIP],
  'test-heap-profiler/WeakReference': [SKIP],

  # Skip compiler tests that need optimizer to be enabled.
  'test-run-intrinsics/*': [SKIP],
  'test-run-jsbranches/*': [SKIP],
  'test-run-jscalls/*': [SKIP],
  'test-run-jsexceptions/*': [SKIP],
  'test-run-jsobjects/*': [SKIP],
  'test-run-jsops/*': [SKIP],
  'test-run-load-store/*': [SKIP],
  'test-run-machops/*': [SKIP],
  'test-run-native-calls/*': [SKIP],
  'test-run-retpoline/*': [SKIP],
  'test-run-stackcheck/*': [SKIP],
  'test-run-tail-calls/*': [SKIP],
  'test-run-unwinding-info/*': [SKIP],
  'test-run-variables/*': [SKIP],
  'test-run-bytecode-graph-builder/*': [SKIP],
  'test-run-deopt/*': [SKIP],
  'test-js-context-specialization/*': [SKIP],
  'test-code-assembler/*': [SKIP],
  'test-code-stub-assembler/*': [SKIP],
  'test-accessor-assembler/*': [SKIP],
  'test-torque/*': [SKIP],
  'test-code-generator/*': [SKIP],

  # Slow tests
  'test-heap/IncrementalMarkingStepMakesBigProgressWithLargeObjects': [SKIP],

  # TODO(v8:7777): Re-enable once wasm is supported in jitless mode.
  'test-api/WasmStreaming*': [SKIP],
  'test-c-wasm-entry/*': [SKIP],
  'test-jump-table-assembler/*': [SKIP],
  'test-run-wasm-64/*': [SKIP],
  'test-run-wasm-asmjs/*': [SKIP],
  'test-run-wasm-atomics64/*': [SKIP],
  'test-run-wasm-atomics/*': [SKIP],
  'test-run-wasm/*': [SKIP],
  'test-run-wasm-exceptions/*': [SKIP],
  'test-run-wasm-interpreter/*': [SKIP],
  'test-run-wasm-js/*': [SKIP],
  'test-run-wasm-module/*': [SKIP],
  'test-run-wasm-sign-extension/*': [SKIP],
  'test-run-wasm-simd/*': [SKIP],
  'test-streaming-compilation/*': [SKIP],
  'test-wasm-breakpoints/*': [SKIP],
  'test-wasm-codegen/*': [SKIP],
  'test-wasm-import-wrapper-cache/*': [SKIP],
  'test-wasm-interpreter-entry/*': [SKIP],
  'test-wasm-serialization/*': [SKIP],
  'test-wasm-shared-engine/*': [SKIP],
  'test-wasm-stack/*': [SKIP],
  'test-wasm-trap-position/*': [SKIP],
  'wasm-run-utils/*': [SKIP],

  # Tests that generate code at runtime.
  'codegen-tester/*': [SKIP],
  'test-api/RegExpInterruption': [SKIP],
  'test-assembler-*': [SKIP],
  'test-basic-block-profiler/*': [SKIP],
  'test-branch-combine/*': [SKIP],
  'test-multiple-return/*': [SKIP],
  'test-regexp/MacroAssemblernativeAtStart': [SKIP],
  'test-regexp/MacroAssemblerNativeBackReferenceLATIN1': [SKIP],
  'test-regexp/MacroAssemblerNativeBackReferenceUC16': [SKIP],
  'test-regexp/MacroAssemblerNativeBackRefNoCase': [SKIP],
  'test-regexp/MacroAssemblerNativeBacktrack': [SKIP],
  'test-regexp/MacroAssemblerNativeLotsOfRegisters': [SKIP],
  'test-regexp/MacroAssemblerNativeRegisters': [SKIP],
  'test-regexp/MacroAssemblerNativeSimple': [SKIP],
  'test-regexp/MacroAssemblerNativeSimpleUC16': [SKIP],
  'test-regexp/MacroAssemblerNativeSuccess': [SKIP],
  'test-regexp/MacroAssemblerStackOverflow': [SKIP],
  'test-run-calls-to-external-references/*': [SKIP],
}], # lite_mode or variant == jitless

##############################################################################
['lite_mode', {
  # TODO(v8:8510): Tests that currently fail with lazy source positions.
  'test-cpu-profiler/TickLinesBaseline': [SKIP],
  'test-cpu-profiler/TickLinesOptimized': [SKIP],
  'test-cpu-profiler/Inlining2': [SKIP],
}], # lite_mode

##############################################################################
['variant == jitless', {
  # https://crbug.com/v8/7777
  'serializer-tester/SerializeCallAnyReceiver': [SKIP],
  'serializer-tester/SerializeCallArguments': [SKIP],
  'serializer-tester/SerializeCallProperty': [SKIP],
  'serializer-tester/SerializeCallProperty2': [SKIP],
  'serializer-tester/SerializeCallUndefinedReceiver': [SKIP],
  'serializer-tester/SerializeCallUndefinedReceiver2': [SKIP],
  'serializer-tester/SerializeCallWithSpread': [SKIP],
  'serializer-tester/SerializeConstruct': [SKIP],
  'serializer-tester/SerializeConstructWithSpread': [SKIP],
  'serializer-tester/SerializeInlinedClosure': [SKIP],
  'serializer-tester/SerializeInlinedFunction': [SKIP],
  'test-api/TurboAsmDisablesDetach': [SKIP],
  'test-cpu-profiler/TickLinesOptimized': [SKIP],
  'test-heap/TestOptimizeAfterBytecodeFlushingCandidate': [SKIP],
  'test-run-wasm-exceptions/RunWasmInterpreter_TryCatchCallDirect': [SKIP],
  'test-run-wasm-exceptions/RunWasmInterpreter_TryCatchCallExternal': [SKIP],
  'test-run-wasm-exceptions/RunWasmInterpreter_TryCatchCallIndirect': [SKIP],
  'test-run-wasm-exceptions/RunWasmInterpreter_TryCatchThrow': [SKIP],
  'test-run-wasm-exceptions/RunWasmInterpreter_TryCatchTrapTypeError': [SKIP],
  'test-run-wasm-exceptions/RunWasmLiftoff_TryCatchCallDirect': [SKIP],
  'test-run-wasm-exceptions/RunWasmLiftoff_TryCatchCallExternal': [SKIP],
  'test-run-wasm-exceptions/RunWasmLiftoff_TryCatchCallIndirect': [SKIP],
  'test-run-wasm-exceptions/RunWasmLiftoff_TryCatchThrow': [SKIP],
  'test-run-wasm-exceptions/RunWasmLiftoff_TryCatchTrapTypeError': [SKIP],
  'test-run-wasm-exceptions/RunWasmTurbofan_TryCatchCallDirect': [SKIP],
  'test-run-wasm-exceptions/RunWasmTurbofan_TryCatchCallExternal': [SKIP],
  'test-run-wasm-exceptions/RunWasmTurbofan_TryCatchCallIndirect': [SKIP],
  'test-run-wasm-exceptions/RunWasmTurbofan_TryCatchThrow': [SKIP],
  'test-run-wasm-exceptions/RunWasmTurbofan_TryCatchTrapTypeError': [SKIP],

  # Crashes on native arm.
  'test-macro-assembler-arm/ExtractLane': [PASS, ['arch == arm and not simulator_run', SKIP]],
  'test-macro-assembler-arm/LoadAndStoreWithRepresentation': [PASS, ['arch == arm and not simulator_run', SKIP]],
  'test-macro-assembler-arm/ReplaceLane': [PASS, ['arch == arm and not simulator_run', SKIP]],
}], # variant == jitless

]