# 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],
  'test-serialize/Bug*': [FAIL],

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

  # BUG(382): Weird test. Can't guarantee that it never times out.
  'test-api/ApplyInterruption': [PASS, TIMEOUT],

  # 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, 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-hydrogen-types/*': [PASS, NO_VARIANTS],
  'test-types/*': [PASS, NO_VARIANTS],

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

  # BUG(2999). The cpu profiler tests are notoriously flaky.
  'test-cpu-profiler/CpuProfileDeepStack': [SKIP],
  'test-cpu-profiler/CollectCpuProfile': [SKIP],
  'test-cpu-profiler/HotDeoptNoFrameEntry': [SKIP],
  'test-cpu-profiler/SampleWhenFrameIsNotSetup': [SKIP],

  # BUG(v8:4358). Hangs flakily.
  'test-debug/ProcessDebugMessagesThreaded': [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],

  ##############################################################################
  # TurboFan compiler failures.

  # Some tests are just too slow to run for now.
  'test-heap/IncrementalMarkingStepMakesBigProgressWithLargeObjects': [PASS, NO_VARIANTS],
  'test-heap-profiler/ManyLocalsInSharedContext': [PASS, NO_VARIANTS],
  'test-serialize/CodeSerializerLargeCodeObject': [PASS, NO_VARIANTS],
  'test-debug/ThreadedDebugging': [PASS, NO_VARIANTS],
  # BUG(3742).
  'test-mark-compact/MarkCompactCollector': [PASS, ['arch==arm', NO_VARIANTS]],

  # TODO(mstarzinger): The rewriter is not being called when top-level code is
  # optimized and hence scripts don't "return" the correct value. Fix this.
  'test-compiler/CompileFunctionInContext*': [PASS, NO_VARIANTS],

  # TODO(bmeurer): TurboFan embeds strong references to all kinds of objects
  # via deoptimization data (Crankshaft also does this, but lack proper test
  # coverage).
  'test-heap/ObjectsInOptimizedCodeAreWeak': [PASS, NO_VARIANTS],

  # TurboFan doesn't support allocation sites currently.
  'test-heap/EnsureAllocationSiteDependentCodesProcessed': [PASS, NO_VARIANTS],
  'test-heap/OptimizedPretenuringAllocationFolding': [PASS, NO_VARIANTS],
  'test-heap/OptimizedPretenuringdoubleArrayLiterals': [PASS, NO_VARIANTS],
  'test-heap/OptimizedPretenuringDoubleArrayProperties': [PASS, NO_VARIANTS],
  'test-heap/OptimizedPretenuringMixedInObjectProperties': [PASS, NO_VARIANTS],
  'test-heap/OptimizedPretenuringNestedDoubleLiterals': [PASS, NO_VARIANTS],
  'test-heap/OptimizedPretenuringNestedMixedArrayLiterals': [PASS, NO_VARIANTS],
  'test-heap/OptimizedPretenuringNestedObjectLiterals': [PASS, NO_VARIANTS],
  'test-heap/OptimizedPretenuringObjectArrayLiterals': [PASS, NO_VARIANTS],

  # TurboFan cpu profiler result is different.
  'test-cpu-profiler/CollectDeoptEvents': [PASS, NO_VARIANTS],
  'test-cpu-profiler/DeoptAtFirstLevelInlinedSource': [PASS, NO_VARIANTS],
  'test-cpu-profiler/DeoptAtSecondLevelInlinedSource': [PASS, NO_VARIANTS],
  'test-cpu-profiler/DeoptUntrackedFunction': [PASS, NO_VARIANTS],

  ############################################################################
  # Slow tests.
  'test-api/Threading1': [PASS, ['mode == debug', SLOW]],
  'test-api/Threading2': [PASS, ['mode == debug', SLOW]],
  'test-api/Threading3': [PASS, ['mode == debug', SLOW]],
  'test-api/Threading4': [PASS, ['mode == debug', SLOW]],
  'test-debug/CallFunctionInDebugger': [PASS, ['mode == debug', SLOW]],
  'test-strings/StringOOM*': [PASS, ['mode == debug', SKIP]],
  'test-serialize/CustomSnapshotDataBlobImmortalImmovableRoots': [PASS, ['mode == debug', SKIP]],

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

  # TODO(rmcilroy,4680): Related to lack of code flushing. Check failed: !function->shared()->is_compiled() || function->IsOptimized().
  'test-heap/TestCodeFlushingPreAged': [PASS, NO_IGNITION],
  'test-heap/TestCodeFlushingIncrementalScavenge': [PASS, NO_IGNITION],
  'test-heap/TestCodeFlushing': [PASS, NO_IGNITION],
  'test-heap/TestCodeFlushingIncremental': [PASS, NO_IGNITION],
  'test-heap/TestCodeFlushingIncrementalAbort': [PASS, ['mode == debug or dcheck_always_on == True', NO_IGNITION]],

  # TODO(rmcilroy,4680): Fails to find the correct function name for the
  # anonymous function. Fails without ignition but with --no-lazy also, so seems
  # to be an issue when eagerly parsing.
  'test-func-name-inference/ReturnAnonymousFunction': [PASS, NO_IGNITION],

  # TODO(mythria,4780): Related to type feedback support for calls.
  'test-feedback-vector/VectorCallICStates': [PASS, NO_IGNITION],
  'test-feedback-vector/VectorCallCounts': [PASS, NO_IGNITION],
  'test-compiler/FeedbackVectorPreservedAcrossRecompiles': [PASS, NO_IGNITION],
  'test-heap/WeakFunctionInConstructor': [PASS, NO_IGNITION],
  'test-heap/IncrementalMarkingClearsMonomorphicConstructor': [PASS, NO_IGNITION],
  'test-heap/IncrementalMarkingPreservesMonomorphicConstructor': [PASS, NO_IGNITION],
  'test-heap/IncrementalMarkingPreservesMonomorphicCallIC': [PASS, NO_IGNITION],
  'test-heap/CellsInOptimizedCodeAreWeak': [PASS, NO_IGNITION],

  # TODO(mythria,4680): Lack of code-ageing in interpreter.
  'test-heap/Regress169209': [PASS, NO_IGNITION],

  # TODO(mythria,4680): Lack of code-ageing and/or lack of compilation cache
  # in interpreter.
  'test-heap/CompilationCacheCachingBehavior': [PASS, NO_IGNITION],

  # TODO(mstarzinger,4680): Fails due to the turbo-asm pipeline only being taken
  # in compiler.cc GetLazyCode for uncompiled code, and no similar path for eager
  # code.
  'test-api/TurboAsmDisablesNeuter': [PASS, NO_IGNITION],

  # TODO(mvstanton,4900): CHECK(!g_function->is_compiled());
  'test-heap/TestUseOfIncrementalBarrierOnCompileLazy': [PASS, NO_IGNITION],

  # BUG(rmcilroy,4680): Function is optimized without type feedback and so immediately deopts again, causing check failure in the test.
  'test-heap/ResetSharedFunctionInfoCountersDuringIncrementalMarking': [PASS, NO_IGNITION],
  'test-heap/ResetSharedFunctionInfoCountersDuringMarkSweep': [PASS, NO_IGNITION],

  # BUG(4751). Flaky with ignition.
  'test-cpu-profiler/JsNativeJsSample': [PASS, NO_IGNITION],
}],  # ALWAYS

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

  'test-cpu-profiler/CollectDeoptEvents': [PASS, FAIL],

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

  # BUG(v8:4795).
  'test-run-wasm-js/Run_JSSelectAlign_0': [SKIP],
  'test-run-wasm-js/Run_JSSelectAlign_2': [SKIP],
  'test-run-wasm-js/Run_JSSelectAlign_4': [SKIP],
  'test-run-wasm-js/Run_JSSelect_0': [SKIP],
  'test-run-wasm-js/Run_JSSelect_1': [SKIP],
  'test-run-wasm-js/Run_JSSelect_2': [SKIP],
  'test-run-wasm-js/Run_JSSelect_3': [SKIP],
  'test-run-wasm-js/Run_JSSelect_4': [SKIP],
  'test-run-wasm-js/Run_JSSelect_5': [SKIP],
  'test-run-wasm-js/Run_JSSelect_6': [SKIP],
}],  # 'arch == arm64'

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

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

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

  # 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],
}],  # 'arch == arm64 and mode == debug and simulator_run == True'

##############################################################################
['asan == True', {
  # Skip tests not suitable for ASAN.
  'test-assembler-x64/AssemblerX64XchglOperations': [SKIP],
}],  # 'asan == True'

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

  # Slow tests.
  'test-api/Threading1': [PASS, SLOW],
  'test-api/Threading2': [PASS, SLOW],
  'test-api/Threading3': [PASS, SLOW],
  'test-api/Threading4': [PASS, SLOW],
}],  # 'msan == True'

##############################################################################
['no_snap == True', {
  # Slow tests.
  'test-api/ExternalWrap': [PASS, SLOW],
  'test-api/FastReturnValues*': [PASS, SLOW],
  'test-decls/CrossScriptReferences_Simple2': [PASS, SLOW],
}],  # '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'

##############################################################################
['system == windows', {

  # BUG(3331). Fails on windows.
  'test-heap/NoWeakHashTableLeakWithIncrementalMarking': [SKIP],

  # 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/CollectDeoptEvents': [SKIP],
  'test-cpu-profiler/FunctionCallSample': [SKIP],
  'test-cpu-profiler/JsNativeJsRuntimeJsSample': [SKIP],
  'test-cpu-profiler/JsNativeJsRuntimeJsSampleMultiple': [SKIP],
  'test-cpu-profiler/JsNativeJsSample': [SKIP],
  'test-cpu-profiler/JsNative1JsNative2JsSample': [SKIP],
}],  # 'system == windows'

##############################################################################
['byteorder == big', {
  # TODO(mips-team): Fix Wasm for big-endian.
  'test-run-wasm-module/Run_WasmModule_CallAdd': [SKIP],
  'test-run-wasm-module/Run_WasmModule_CallMain_recursive': [SKIP],
  'test-run-wasm-module/Run_WasmModule_ReadLoadedDataSegment': [SKIP],
  'test-run-wasm-module/Run_WasmModule_Return114': [SKIP],
  'test-run-wasm-module/Run_WasmModule_CheckMemoryIsZero': [SKIP],
  'test-run-wasm-module/Run_WasmModule_Global': [SKIP],
  'test-run-wasm/RunWasmCompiled_Int32LoadInt16_signext': [SKIP],
  'test-run-wasm/RunWasmInterpreted_Int32LoadInt16_signext': [SKIP],
  'test-run-wasm/RunWasmCompiled_Int32LoadInt16_zeroext': [SKIP],
  'test-run-wasm/RunWasmInterpreted_Int32LoadInt16_zeroext': [SKIP],
  'test-run-wasm/RunWasmCompiled_MixedGlobals': [SKIP],
  'test-run-wasm/RunWasmInterpreted_MixedGlobals': [SKIP],
  'test-run-wasm-64/RunWasmCompiled_I64*': [SKIP],
  'test-run-wasm-64/RunWasmCompiled_LoadStoreI64_sx': [SKIP],
  'test-run-wasm-64/RunWasmInterpreted_LoadStoreI64_sx': [SKIP],
  'test-run-wasm-64/Run_TestI64WasmRunner': [SKIP],
  'test-run-wasm-64/RunWasmCompiled_Call_Int64Sub': [SKIP],
  'test-run-wasm-64/RunWasmCompiled_MemI64_Sum': [SKIP],
}],  # 'byteorder == big'

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

  'test-cpu-profiler/CollectDeoptEvents': [PASS, FAIL],

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

  ############################################################################
  # Slow tests.
  'test-api/Threading1': [PASS, SLOW],
  'test-api/Threading2': [PASS, SLOW],
  'test-api/Threading3': [PASS, SLOW],
  'test-api/Threading4': [PASS, SLOW],
}],  # 'arch == arm'

##############################################################################
['arch == mipsel or arch == mips', {
  'test-cpu-profiler/CollectDeoptEvents': [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 == 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/Threading3': [SKIP],
}],  # 'arch == mips'

##############################################################################
['arch == mips64el or arch == mips64', {
  'test-cpu-profiler/CollectDeoptEvents': [PASS, FAIL],

  # 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 == x87', {
  'test-run-machops/RunFloat64InsertLowWord32': [SKIP],
  'test-run-native-calls/MixedParams_0': [SKIP],
  'test-run-native-calls/MixedParams_1': [SKIP],
  'test-run-native-calls/MixedParams_2': [SKIP],
  'test-run-native-calls/MixedParams_3': [SKIP],
  'test-run-machops/RunFloat64MulAndFloat64Add1': [SKIP],
  'test-run-machops/RunFloat64MulAndFloat64Add2': [SKIP],
  'test-run-machops/RunFloat64MulAndFloat64Sub1': [SKIP],
  'test-run-machops/RunFloat64MulAndFloat64Sub2': [SKIP],
  'test-run-machops/RunFloat64Sin': [SKIP],
  'test-run-machops/RunFloat64Cos': [SKIP],
  'test-run-machops/RunFloat64Expm1': [SKIP],
  'test-run-machops/RunFloat64Tan': [SKIP],
  'test-cpu-profiler/Inlining': [SKIP],
  'test-gap-resolver/FuzzResolver': [SKIP],
}],  # 'arch == x87'

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

##############################################################################
['arch == nacl_ia32 or arch == nacl_x64', {

  # NaCl builds have problems with threaded tests since Pepper_28.
  # V8 Issue 2786
  'test-api/Threading1': [SKIP],
  'test-lockers/ExtensionsRegistration': [SKIP],

  # These tests fail as there is no /tmp directory in Native Client.
  'test-log/LogAccessorCallbacks': [SKIP],
  'test-log/LogCallbacks': [SKIP],
  'test-log/ProfLazyMode': [SKIP],

  # Native Client doesn't support sockets.
  'test-debug/DebuggerAgent': [SKIP],
  'test-debug/DebuggerAgentProtocolOverflowHeader': [SKIP],
  'test-socket/Socket': [SKIP],

  # Profiling doesn't work on Native Client.
  'test-cpu-profiler/*': [SKIP],

  # Fails since 16322 (new test).
  'test-code-stubs-arm/ConvertDToI': [SKIP],

  # BUG(2998).
  'test-macro-assembler-arm/LoadAndStoreWithRepresentation': [SKIP],

  # BUG(3150).
  'test-api/PreCompileInvalidPreparseDataError': [SKIP],

  'test-types/Convert' : [SKIP],
  'test-symbols/Create' : [SKIP],
  'test-parsing/ParserSync' : [SKIP],
  'test-parsing/ErrorsEvalAndArguments' : [SKIP],
  'test-parsing/ErrorsFutureStrictReservedWords' : [SKIP],
  'test-parsing/ErrorsReservedWords' : [SKIP],
  'test-parsing/ErrorsYieldStrict' : [SKIP],
  'test-parsing/ErrorsNotAnIdentifierName' : [SKIP],
  'test-parsing/FunctionDeclaresItselfStrict' : [SKIP],
  'test-parsing/ErrorsObjectLiteralChecking' : [SKIP],
  'test-parsing/InvalidLeftHandSide' : [SKIP],
  'test-heap/GarbageCollection' : [SKIP],
  'test-heap/GlobalHandles' : [SKIP],
  'test-heap/WeakGlobalHandlesScavenge' : [SKIP],
  'test-heap/DeleteWeakGlobalHandle' : [SKIP],
  'test-heap/GrowAndShrinkNewSpace' : [SKIP],
  'test-heap/OptimizedAllocationAlwaysInNewSpace' : [SKIP],
  'test-heap/OptimizedPretenuringAllocationFolding' : [SKIP],
  'test-heap/OptimizedPretenuringObjectArrayLiterals' : [SKIP],
  'test-heap/OptimizedPretenuringAllocationFoldingBlocks' : [SKIP],
  'test-heap/OptimizedPretenuringMixedInObjectProperties' : [SKIP],
  'test-heap/OptimizedPretenuringDoubleArrayProperties' : [SKIP],
  'test-heap/OptimizedPretenuringdoubleArrayLiterals' : [SKIP],
  'test-heap/OptimizedPretenuringNestedMixedArrayLiterals' : [SKIP],
  'test-heap/OptimizedPretenuringNestedObjectLiterals' : [SKIP],
  'test-heap/OptimizedPretenuringNestedDoubleLiterals' : [SKIP],
  'test-heap/Regress169928' : [SKIP],
  'test-decls/Unknown' : [SKIP],
  'test-decls/Present' : [SKIP],
  'test-decls/Absent' : [SKIP],
  'test-decls/Appearing' : [SKIP],
  'test-decls/Reappearing' : [SKIP],
  'test-decls/ExistsInPrototype' : [SKIP],
  'test-decls/AbsentInPrototype' : [SKIP],
  'test-decls/ExistsInHiddenPrototype' : [SKIP],
  'test-debug/ConditionalScriptBreakPoint' : [SKIP],
  'test-debug/DebugEvaluate' : [SKIP],
  'test-debug/ConditionalBreakpointWithCodeGenerationDisallowed' : [SKIP],
  'test-debug/DebugEvaluateWithCodeGenerationDisallowed' : [SKIP],
  'test-debug/DebugBreak' : [SKIP],
  'test-debug/ThreadedDebugging' : [SKIP],
  'test-debug/RecursiveBreakpoints' : [SKIP],
  'test-dictionary/HashMap' : [SKIP],
  'test-debug/Backtrace' : [SKIP],
  'test-debug/DebugBreakLoop' : [SKIP],
  'test-constantpool/ConstantPool' : [SKIP],
  'test-compiler/GetScriptLineNumber' : [SKIP],
  'test-api/ScriptMakingExternalString' : [SKIP],
  'test-api/ScriptMakingExternalOneByteString' : [SKIP],
  'test-api/MakingExternalStringConditions' : [SKIP],
  'test-api/MakingExternalOneByteStringConditions' : [SKIP],
  'test-api/MakingExternalUnalignedOneByteString' : [SKIP],
  'test-api/IndexedInterceptorUnboxedDoubleWithIndexedAccessor' : [SKIP],
  'test-api/IndependentWeakHandle' : [SKIP],
  'test-api/GCFromWeakCallbacks' : [SKIP],
  'test-api/IndependentHandleRevival' : [SKIP],
  'test-api/StringWrite' : [SKIP],
  'test-api/Threading3' : [SKIP],
  'test-api/Threading4' : [SKIP],
  'test-api/Threading2' : [SKIP],
  'test-api/FixedFloat32Array' : [SKIP],
  'test-api/FixedFloat64Array' : [SKIP],
  'test-api/ExternalFloat32Array' : [SKIP],
  'test-api/ExternalFloat64Array' : [SKIP],
  'test-api/ExternalArrays' : [SKIP],
  'test-api/Float32Array' : [SKIP],
  'test-api/Float64Array' : [SKIP],
  'test-api/Regress2333' : [SKIP],
  'test-alloc/StressHandles' : [SKIP],
  'test-alloc/StressJS' : [SKIP],
  'test-accessors/HandleScopePop' : [SKIP],
  'test-accessors/Gc' : [SKIP],

}],  # 'arch == nacl_ia32 or arch == nacl_x64'

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

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

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

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

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

##############################################################################
['ignition or ignition_turbofan', {
  # TODO(rmcilroy,4680): Related to lack of code flushing. Check failed: !function->shared()->is_compiled() || function->IsOptimized().
  'test-heap/TestCodeFlushingPreAged': [FAIL],
  'test-heap/TestCodeFlushingIncrementalScavenge': [FAIL],
  'test-heap/TestCodeFlushing': [FAIL],
  'test-heap/TestCodeFlushingIncremental': [FAIL],
  'test-heap/TestCodeFlushingIncrementalAbort': [PASS, ['mode == debug or dcheck_always_on == True', FAIL]],

  # TODO(rmcilroy,4680): Fails to find the correct function name for the
  # anonymous function. Fails without ignition but with --no-lazy also, so seems
  # to be an issue when eagerly parsing.
  'test-func-name-inference/ReturnAnonymousFunction': [FAIL],

  # TODO(mythria,4780): Related to type feedback support for calls.
  'test-feedback-vector/VectorCallICStates': [FAIL],
  'test-feedback-vector/VectorCallCounts': [FAIL],
  'test-compiler/FeedbackVectorPreservedAcrossRecompiles': [FAIL],
  'test-heap/WeakFunctionInConstructor': [FAIL],
  'test-heap/IncrementalMarkingClearsMonomorphicConstructor': [FAIL],
  'test-heap/IncrementalMarkingPreservesMonomorphicConstructor': [FAIL],
  'test-heap/IncrementalMarkingPreservesMonomorphicCallIC': [FAIL],
  'test-heap/CellsInOptimizedCodeAreWeak': [FAIL],

  # TODO(mythria,4680): Lack of code-ageing in interpreter.
  'test-heap/Regress169209': [FAIL],

  # TODO(mythria,4680): Lack of code-ageing and/or lack of compilation cache
  # in interpreter.
  'test-heap/CompilationCacheCachingBehavior': [FAIL],

  # TODO(mstarzinger,4680): Fails due to the turbo-asm pipeline only being taken
  # in compiler.cc GetLazyCode for uncompiled code, and no similar path for eager
  # code.
  'test-api/TurboAsmDisablesNeuter': [FAIL],

  # TODO(mvstanton,4900): CHECK(!g_function->is_compiled());
  'test-heap/TestUseOfIncrementalBarrierOnCompileLazy': [FAIL],

  # BUG(4751). Flaky with Ignition.
  'test-cpu-profiler/JsNativeJsSample': [SKIP],
}],  # ignition or ignition_turbofan

]
