# 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

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

]
