# 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], ############################################################################## # BUG(382): Weird test. Can't guarantee that it never times out. 'test-api/ApplyInterruption': [PASS, TIMEOUT], # TODO(mstarzinger): Fail gracefully on multiple V8::Dispose calls. 'test-api/InitializeAndDisposeOnce': [SKIP], 'test-api/InitializeAndDisposeMultiple': [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-serialize/DependentTestThatAlwaysFails': [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, so there is no point in running several # variants. 'test-hydrogen-types/*': [PASS, NO_VARIANTS], 'test-types/*': [PASS, NO_VARIANTS], # The cpu profiler tests are notoriously flaky. # BUG(2999). (test/cpu-profiler/CollectCpuProfile) # BUG(3287). (test-cpu-profiler/SampleWhenFrameIsNotSetup) 'test-cpu-profiler/*': [PASS, FLAKY], ############################################################################## # TurboFan compiler failures. # TODO(mstarzinger): These need investigation and are not categorized yet. 'test-cpu-profiler/*': [SKIP], 'test-heap/NextCodeLinkIsWeak': [PASS, NO_VARIANTS], # TODO(mstarzinger/verwaest): This access check API is borked. 'test-api/TurnOnAccessCheck': [PASS, NO_VARIANTS], 'test-api/TurnOnAccessCheckAndRecompile': [PASS, NO_VARIANTS], # TODO(mstarzinger): Sometimes the try-catch blacklist fails. 'test-debug/DebugEvaluateWithoutStack': [PASS, NO_VARIANTS], 'test-debug/MessageQueues': [PASS, NO_VARIANTS], 'test-debug/NestedBreakEventContextData': [PASS, NO_VARIANTS], 'test-debug/SendClientDataToHandler': [PASS, NO_VARIANTS], # TODO(dcarney): C calls are broken all over the place. 'test-run-machops/RunCall*': [SKIP], 'test-run-machops/RunLoadImmIndex': [SKIP], 'test-run-machops/RunSpillLotsOfThingsWithCall': [SKIP], # Some tests are just too slow to run for now. 'test-api/Threading*': [PASS, NO_VARIANTS], 'test-api/RequestInterruptTestWithMathAbs': [PASS, NO_VARIANTS], 'test-heap/IncrementalMarkingStepMakesBigProgressWithLargeObjects': [PASS, NO_VARIANTS], 'test-heap-profiler/ManyLocalsInSharedContext': [PASS, NO_VARIANTS], 'test-debug/ThreadedDebugging': [PASS, NO_VARIANTS], 'test-debug/DebugBreakLoop': [PASS, NO_VARIANTS], # Support for lazy deoptimization is missing. 'test-deoptimization/DeoptimizeSimple': [PASS, NO_VARIANTS], 'test-deoptimization/DeoptimizeSimpleNested': [PASS, NO_VARIANTS], 'test-deoptimization/DeoptimizeSimpleWithArguments': [PASS, NO_VARIANTS], 'test-deoptimization/DeoptimizeBinaryOperation*': [PASS, NO_VARIANTS], 'test-deoptimization/DeoptimizeCompare': [PASS, NO_VARIANTS], 'test-deoptimization/DeoptimizeLoadICStoreIC': [PASS, NO_VARIANTS], 'test-deoptimization/DeoptimizeLoadICStoreICNested': [PASS, NO_VARIANTS], # Support for breakpoints requires using LoadICs and StoreICs. 'test-debug/BreakPointICStore': [PASS, NO_VARIANTS], 'test-debug/BreakPointICLoad': [PASS, NO_VARIANTS], 'test-debug/BreakPointICCall': [PASS, NO_VARIANTS], 'test-debug/BreakPointICCallWithGC': [PASS, NO_VARIANTS], 'test-debug/BreakPointConstructCallWithGC': [PASS, NO_VARIANTS], 'test-debug/BreakPointReturn': [PASS, NO_VARIANTS], 'test-debug/BreakPointThroughJavaScript': [PASS, NO_VARIANTS], 'test-debug/ScriptBreakPointByNameThroughJavaScript': [PASS, NO_VARIANTS], 'test-debug/ScriptBreakPointByIdThroughJavaScript': [PASS, NO_VARIANTS], 'test-debug/DebugStepLinear': [PASS, NO_VARIANTS], 'test-debug/DebugStepKeyedLoadLoop': [PASS, NO_VARIANTS], 'test-debug/DebugStepKeyedStoreLoop': [PASS, NO_VARIANTS], 'test-debug/DebugStepNamedLoadLoop': [PASS, NO_VARIANTS], 'test-debug/DebugStepNamedStoreLoop': [PASS, NO_VARIANTS], 'test-debug/DebugStepLinearMixedICs': [PASS, NO_VARIANTS], 'test-debug/DebugStepDeclarations': [PASS, NO_VARIANTS], 'test-debug/DebugStepLocals': [PASS, NO_VARIANTS], 'test-debug/DebugStepIf': [PASS, NO_VARIANTS], 'test-debug/DebugStepSwitch': [PASS, NO_VARIANTS], 'test-debug/DebugStepWhile': [PASS, NO_VARIANTS], 'test-debug/DebugStepDoWhile': [PASS, NO_VARIANTS], 'test-debug/DebugStepFor': [PASS, NO_VARIANTS], 'test-debug/DebugStepForContinue': [PASS, NO_VARIANTS], 'test-debug/DebugStepForBreak': [PASS, NO_VARIANTS], 'test-debug/DebugStepForIn': [PASS, NO_VARIANTS], 'test-debug/DebugStepWith': [PASS, NO_VARIANTS], 'test-debug/DebugConditional': [PASS, NO_VARIANTS], 'test-debug/StepInOutSimple': [PASS, NO_VARIANTS], 'test-debug/StepInOutTree': [PASS, NO_VARIANTS], 'test-debug/StepInOutBranch': [PASS, NO_VARIANTS], 'test-debug/DebugBreak': [PASS, NO_VARIANTS], 'test-debug/DebugBreakStackInspection': [PASS, NO_VARIANTS], 'test-debug/BreakMessageWhenMessageHandlerIsReset': [PASS, NO_VARIANTS], 'test-debug/NoDebugBreakInAfterCompileMessageHandler': [PASS, NO_VARIANTS], 'test-debug/DisableBreak': [PASS, NO_VARIANTS], 'test-debug/RegExpDebugBreak': [PASS, NO_VARIANTS], 'test-debug/DebugBreakFunctionApply': [PASS, NO_VARIANTS], 'test-debug/DeoptimizeDuringDebugBreak': [PASS, NO_VARIANTS], # Support for %GetFrameDetails is missing and requires checkpoints. 'test-api/Regress385349': [PASS, NO_VARIANTS], 'test-debug/DebuggerStatement': [PASS, NO_VARIANTS], 'test-debug/DebuggerStatementBreakpoint': [PASS, NO_VARIANTS], 'test-debug/DebugEvaluateWithCodeGenerationDisallowed': [PASS, NO_VARIANTS], 'test-debug/DebugStepNatives': [PASS, NO_VARIANTS], 'test-debug/DebugStepFunctionCall': [PASS, NO_VARIANTS], 'test-debug/DebugStepFunctionApply': [PASS, NO_VARIANTS], 'test-debug/ScriptNameAndData': [PASS, NO_VARIANTS], 'test-debug/ContextData': [PASS, NO_VARIANTS], 'test-debug/DebugBreakInMessageHandler': [PASS, NO_VARIANTS], 'test-debug/CallFunctionInDebugger': [PASS, NO_VARIANTS], 'test-debug/CallingContextIsNotDebugContext': [PASS, NO_VARIANTS], 'test-debug/DebugEventContext': [PASS, NO_VARIANTS], 'test-debug/DebugBreakInline': [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-strings/StringOOM*': [PASS, ['mode == debug', SKIP]], }], # ALWAYS ############################################################################## ['arch == arm64', { 'test-api/Bug618': [PASS], # BUG(v8:3385). 'test-serialize/DeserializeFromSecondSerialization': [PASS, FAIL], 'test-serialize/DeserializeFromSecondSerializationAndRunScript2': [PASS, FAIL], # BUG(v8:2999). 'test-cpu-profiler/CollectCpuProfile': [PASS, FAIL], # BUG(v8:3154). 'test-heap/ReleaseOverReservedPages': [PASS, FAIL], # BUG(v8:3155). 'test-strings/AsciiArrayJoin': [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 == True', { # Pass but take too long with the simulator. 'test-api/ExternalArrays': [PASS, TIMEOUT], 'test-api/Threading1': [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], 'test-debug/DebugBreakLoop': [SKIP], }], # 'arch == arm64 and mode == debug and simulator_run == True' ############################################################################## ['asan == True', { # Skip tests not suitable for ASAN. 'test-assembler-x64/AssemblerX64XchglOperations': [SKIP], 'test-lockers/MultithreadedParallelIsolates': [SKIP], }], # 'asan == True' ############################################################################## ['no_snap == True', { # BUG(3215) 'test-lockers/MultithreadedParallelIsolates': [PASS, FAIL, TIMEOUT], }], # '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(2999). 'test-cpu-profiler/CollectCpuProfile': [PASS, FAIL], # BUG(3005). 'test-alloc/CodeRange': [PASS, FAIL], # BUG(3215). Crashes on windows. 'test-lockers/MultithreadedParallelIsolates': [SKIP], # BUG(3331). Fails on windows. 'test-heap/NoWeakHashTableLeakWithIncrementalMarking': [SKIP], # BUG(v8:3433). Crashes on windows. 'test-cpu-profiler/FunctionApplySample': [SKIP], }], # 'system == windows' ############################################################################## ['system == macos', { # BUG(3125). 'test-debug/DebugGetLoadedScripts': [PASS, FLAKY], 'test-debug/DebugStepLinear': [PASS, FLAKY], 'test-debug/DebuggerClearMessageHandler': [PASS, FLAKY], }], # 'system == macos' ############################################################################## ['arch == arm', { # BUG(355): Test crashes on ARM. 'test-log/ProfLazyMode': [SKIP], # BUG(1075): Unresolved crashes. 'test-serialize/Deserialize': [SKIP], 'test-serialize/DeserializeFromSecondSerializationAndRunScript2': [SKIP], 'test-serialize/DeserializeAndRunScript2': [SKIP], 'test-serialize/DeserializeFromSecondSerialization': [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', { # BUG(2657): Test sometimes times out on MIPS simulator. 'test-thread-termination/TerminateMultipleV8ThreadsDefaultIsolate': [PASS, TIMEOUT], # BUG(1075): Unresolved crashes on MIPS also. 'test-serialize/Deserialize': [SKIP], 'test-serialize/DeserializeFromSecondSerializationAndRunScript2': [SKIP], 'test-serialize/DeserializeAndRunScript2': [SKIP], 'test-serialize/DeserializeFromSecondSerialization': [SKIP], }], # 'arch == mipsel or arch == mips' ############################################################################## ['arch == mips64el', { # BUG(2657): Test sometimes times out on MIPS simulator. 'test-thread-termination/TerminateMultipleV8ThreadsDefaultIsolate': [PASS, TIMEOUT], # BUG(v8:3154). 'test-heap/ReleaseOverReservedPages': [PASS, FAIL], # BUG(1075): Unresolved crashes on MIPS also. 'test-serialize/Deserialize': [SKIP], 'test-serialize/DeserializeFromSecondSerializationAndRunScript2': [SKIP], 'test-serialize/DeserializeAndRunScript2': [SKIP], 'test-serialize/DeserializeFromSecondSerialization': [SKIP], }], # 'arch == mips64el' ############################################################################## ['arch == x87', { # TODO (weiliang): Enable below tests after fixing the double register # allocation limit in X87 port. 'test-serialize/Serialize': [PASS, ['mode == debug', SKIP]], 'test-serialize/Deserialize': [PASS, ['mode == debug', SKIP]], 'test-serialize/SerializeTwice': [PASS, ['mode == debug', SKIP]], 'test-serialize/ContextSerialization': [PASS, ['mode == debug', SKIP]], 'test-serialize/ContextDeserialization': [PASS, ['mode == debug', SKIP]], 'test-serialize/PartialDeserialization': [PASS, ['mode == debug', SKIP]], 'test-serialize/PartialSerialization': [PASS, ['mode == debug', SKIP]], 'test-serialize/DeserializeAndRunScript2': [PASS, ['mode == debug', SKIP]], 'test-serialize/DeserializeFromSecondSerializationAndRunScript2': [PASS, ['mode == debug', SKIP]], 'test-serialize/DeserializeFromSecondSerialization': [PASS, ['mode == debug', 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], # platform-tls.h does not contain an ANDROID-related header. 'test-platform-tls/FastTLS': [SKIP], # This test times out. 'test-threads/ThreadJoinSelf': [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/MultithreadedParallelIsolates': [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/ScriptMakingExternalAsciiString' : [SKIP], 'test-api/MakingExternalStringConditions' : [SKIP], 'test-api/MakingExternalAsciiStringConditions' : [SKIP], 'test-api/MakingExternalUnalignedAsciiString' : [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' ]