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

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

  # BUG(5193). The cpu profiler tests are notoriously flaky.
  'test-cpu-profiler/CollectCpuProfile': [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-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(5784). StubCache tests need to be redesigned, as a) they don't work
  # in the new (ignition + turbofan) pipeline environment, and b) they are
  # stymied by a move of code stubs into builtins.
  'test-api/PrimaryStubCache': [SKIP],
  'test-api/SecondaryStubCache': [SKIP],
  'test-api/AccessCheckInIC': [SKIP],

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

  ############################################################################
  # 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],
}],  # 'arch == arm64 and mode == debug 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],
}],
# TODO(ahaas): Port multiple return values to ARM, MIPS, S390 and PPC
['arch == mips or arch == mips64 or arch == mipsel or arch == mips64el or arch == s390 or arch == s390x or arch == ppc or arch == ppc64', {
  'test-multiple-return/ReturnLastValue*': [SKIP],
}],
##############################################################################
['asan == True', {
  # Skip tests not suitable for ASAN.
  'test-assembler-x64/AssemblerX64XchglOperations': [SKIP],

  # BUG(v8:5193): Flaky.
  'test-cpu-profiler/TickEvents': [SKIP],
}],  # 'asan == True'

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

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

  # BUG(chromium:794911).
  'test-cpu-profiler/TracingCpuProfiler': [SKIP],
}],  # '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],
}],  # 'no_snap == True'
['no_snap == False', {
  # FunctionEntryHooks require bootstrapping from scratch.
  'test-api/SetFunctionEntryHook': [SKIP],
}],  # 'no_snap == False'

##############################################################################
# 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],
}],  # 'byteorder == big'

##############################################################################
['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/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 == 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 == 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 == mips or arch == mipsel or arch == mips64 or arch == mips64el', {
  # For now skip wasm SIMD tests that fail when MSA instr. extension is not
  # available (currently simd-scalar-lowering mechanism doesn't work properly
  # for all SIMD operations)
  'test-run-wasm-simd/*': [SKIP],
}],  # 'arch == mips or arch == mipsel or arch == mips64 or arch == mips64el'

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

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

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

##############################################################################
['variant == 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 == wasm_traps

]
