Home | History | Annotate | Download | only in cctest
      1 # Copyright 2011 the V8 project authors. All rights reserved.
      2 # Redistribution and use in source and binary forms, with or without
      3 # modification, are permitted provided that the following conditions are
      4 # met:
      5 #
      6 #     * Redistributions of source code must retain the above copyright
      7 #       notice, this list of conditions and the following disclaimer.
      8 #     * Redistributions in binary form must reproduce the above
      9 #       copyright notice, this list of conditions and the following
     10 #       disclaimer in the documentation and/or other materials provided
     11 #       with the distribution.
     12 #     * Neither the name of Google Inc. nor the names of its
     13 #       contributors may be used to endorse or promote products derived
     14 #       from this software without specific prior written permission.
     15 #
     16 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     17 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     18 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
     19 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
     20 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     21 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
     22 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
     23 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
     24 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
     25 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     26 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     27 
     28 [
     29 [ALWAYS, {
     30   # All tests prefixed with 'Bug' are expected to fail.
     31   'test-api/Bug*': [FAIL],
     32 
     33   ##############################################################################
     34   # BUG(382): Weird test. Can't guarantee that it never times out.
     35   'test-api/ApplyInterruption': [PASS, TIMEOUT],
     36 
     37   # TODO(mstarzinger): Fail gracefully on multiple V8::Dispose calls.
     38   'test-api/InitializeAndDisposeOnce': [SKIP],
     39   'test-api/InitializeAndDisposeMultiple': [SKIP],
     40 
     41   # These tests always fail.  They are here to test test.py.  If
     42   # they don't fail then test.py has failed.
     43   'test-serialize/TestThatAlwaysFails': [FAIL],
     44   'test-serialize/DependentTestThatAlwaysFails': [FAIL],
     45 
     46   # This test always fails.  It tests that LiveEdit causes abort when turned off.
     47   'test-debug/LiveEditDisabled': [FAIL],
     48 
     49   # This test always fails.  It tests that DisallowJavascriptExecutionScope
     50   # works as intended.
     51   'test-api/DisallowJavascriptExecutionScope': [FAIL],
     52 
     53   # TODO(gc): Temporarily disabled in the GC branch.
     54   'test-log/EquivalenceOfLoggingAndTraversal': [PASS, FAIL],
     55 
     56   # We do not yet shrink weak maps after they have been emptied by the GC
     57   'test-weakmaps/Shrinking': [FAIL],
     58   'test-weaksets/WeakSet_Shrinking': [FAIL],
     59 
     60   # Boot up memory use is bloated in debug mode.
     61   'test-mark-compact/BootUpMemoryUse': [PASS, PASS, ['mode == debug', FAIL]],
     62 
     63   # This tests only that the preparser and parser agree, so there is no point in
     64   # running several variants. Note that this still takes ages, because there
     65   # are actually 13 * 38 * 5 * 128 = 316160 individual tests hidden here.
     66   'test-parsing/ParserSync': [PASS, NO_VARIANTS],
     67 
     68   # This tests only the type system, so there is no point in running several
     69   # variants.
     70   'test-hydrogen-types/*': [PASS, NO_VARIANTS],
     71   'test-types/*': [PASS, NO_VARIANTS],
     72 
     73   # The cpu profiler tests are notoriously flaky.
     74   # BUG(2999). (test/cpu-profiler/CollectCpuProfile)
     75   # BUG(3287). (test-cpu-profiler/SampleWhenFrameIsNotSetup)
     76   'test-cpu-profiler/*': [PASS, FLAKY],
     77 
     78   # BUG(crbug/386492). This will be fixed by r22029.
     79   'test-debug/ThreadedDebugging': [PASS, FAIL],
     80 
     81   ############################################################################
     82   # Slow tests.
     83   'test-api/Threading1': [PASS, ['mode == debug', SLOW]],
     84   'test-api/Threading2': [PASS, ['mode == debug', SLOW]],
     85   'test-api/Threading3': [PASS, ['mode == debug', SLOW]],
     86   'test-api/Threading4': [PASS, ['mode == debug', SLOW]],
     87   'test-strings/StringOOM*': [PASS, ['mode == debug', SKIP]],
     88 }],  # ALWAYS
     89 
     90 ##############################################################################
     91 ['arch == arm64', {
     92 
     93   'test-api/Bug618': [PASS],
     94 
     95   # BUG(v8:3385).
     96   'test-serialize/DeserializeFromSecondSerialization': [PASS, FAIL],
     97   'test-serialize/DeserializeFromSecondSerializationAndRunScript2': [PASS, FAIL],
     98 
     99   # BUG(v8:2999).
    100   'test-cpu-profiler/CollectCpuProfile': [PASS, FAIL],
    101 
    102   # BUG(v8:3154).
    103   'test-heap/ReleaseOverReservedPages': [PASS, FAIL],
    104 
    105   # BUG(v8:3155).
    106   'test-strings/AsciiArrayJoin': [PASS, ['mode == debug', FAIL]],
    107 
    108   # BUG(v8:3247).
    109   'test-mark-compact/NoPromotion': [SKIP],
    110 }],  # 'arch == arm64'
    111 
    112 ['arch == arm64 and simulator_run == True', {
    113 
    114   # Pass but take too long with the simulator.
    115   'test-api/ExternalArrays': [PASS, TIMEOUT],
    116   'test-api/Threading1': [SKIP],
    117 }],  # 'arch == arm64 and simulator_run == True'
    118 
    119 ['arch == arm64 and mode == debug and simulator_run == True', {
    120 
    121   # Pass but take too long with the simulator in debug mode.
    122   'test-api/ExternalDoubleArray': [SKIP],
    123   'test-api/ExternalFloat32Array': [SKIP],
    124   'test-api/ExternalFloat64Array': [SKIP],
    125   'test-api/ExternalFloatArray': [SKIP],
    126   'test-api/Float32Array': [SKIP],
    127   'test-api/Float64Array': [SKIP],
    128   'test-debug/DebugBreakLoop': [SKIP],
    129 }],  # 'arch == arm64 and mode == debug and simulator_run == True'
    130 
    131 ##############################################################################
    132 ['asan == True', {
    133   # Skip tests not suitable for ASAN.
    134   'test-assembler-x64/AssemblerX64XchglOperations': [SKIP],
    135   'test-lockers/MultithreadedParallelIsolates': [SKIP],
    136 }],  # 'asan == True'
    137 
    138 ##############################################################################
    139 ['no_snap == True', {
    140   # BUG(3215)
    141   'test-lockers/MultithreadedParallelIsolates': [PASS, FAIL],
    142 }],  # 'no_snap == True'
    143 
    144 ##############################################################################
    145 # TODO(machenbach): Fix application of '*'. Nosnap windows needs a separate
    146 # section to not overwrite the expectations for TestThatAlwaysFails.
    147 ['no_snap == True and system == windows', {
    148   # Windows doesn't support nosnap mode.
    149   'test-serialize/*': [SKIP],
    150 }],  # 'no_snap == True and system == windows'
    151 
    152 ##############################################################################
    153 ['system == windows', {
    154 
    155   # BUG(2999).
    156   'test-cpu-profiler/CollectCpuProfile': [PASS, FAIL],
    157 
    158   # BUG(3055).
    159   'test-cpu-profiler/JsNative1JsNative2JsSample': [PASS, ['mode == release', FAIL], ['mode == debug', FLAKY]],
    160 
    161   # BUG(3005).
    162   'test-alloc/CodeRange': [PASS, FAIL],
    163 
    164   # BUG(3215). Crashes on windows.
    165   'test-lockers/MultithreadedParallelIsolates': [SKIP],
    166 
    167   # BUG(3331). Fails on windows.
    168   'test-heap/NoWeakHashTableLeakWithIncrementalMarking': [SKIP],
    169 
    170 }],  # 'system == windows'
    171 
    172 ##############################################################################
    173 ['system == macos', {
    174 
    175   # BUG(3125).
    176   'test-debug/DebugGetLoadedScripts': [PASS, FLAKY],
    177   'test-debug/DebugStepLinear': [PASS, FLAKY],
    178   'test-debug/DebuggerClearMessageHandler': [PASS, FLAKY],
    179 }],  # 'system == macos'
    180 
    181 ##############################################################################
    182 ['arch == arm', {
    183 
    184   # BUG(355): Test crashes on ARM.
    185   'test-log/ProfLazyMode': [SKIP],
    186 
    187   # BUG(1075): Unresolved crashes.
    188   'test-serialize/Deserialize': [SKIP],
    189   'test-serialize/DeserializeFromSecondSerializationAndRunScript2': [SKIP],
    190   'test-serialize/DeserializeAndRunScript2': [SKIP],
    191   'test-serialize/DeserializeFromSecondSerialization': [SKIP],
    192 
    193   ############################################################################
    194   # Slow tests.
    195   'test-api/Threading1': [PASS, SLOW],
    196   'test-api/Threading2': [PASS, SLOW],
    197   'test-api/Threading3': [PASS, SLOW],
    198   'test-api/Threading4': [PASS, SLOW],
    199 }],  # 'arch == arm'
    200 
    201 ##############################################################################
    202 ['arch == mipsel or arch == mips', {
    203 
    204   # BUG(2657): Test sometimes times out on MIPS simulator.
    205   'test-thread-termination/TerminateMultipleV8ThreadsDefaultIsolate': [PASS, TIMEOUT],
    206 
    207   # BUG(1075): Unresolved crashes on MIPS also.
    208   'test-serialize/Deserialize': [SKIP],
    209   'test-serialize/DeserializeFromSecondSerializationAndRunScript2': [SKIP],
    210   'test-serialize/DeserializeAndRunScript2': [SKIP],
    211   'test-serialize/DeserializeFromSecondSerialization': [SKIP],
    212 }],  # 'arch == mipsel or arch == mips'
    213 
    214 ##############################################################################
    215 ['arch == x87', {
    216 
    217   # TODO (weiliang): Enable below tests after fixing the double register
    218   # allocation limit in X87 port.
    219   'test-serialize/Serialize': [PASS, ['mode == debug', SKIP]],
    220   'test-serialize/Deserialize': [PASS, ['mode == debug', SKIP]],
    221   'test-serialize/SerializeTwice': [PASS, ['mode == debug', SKIP]],
    222   'test-serialize/ContextSerialization': [PASS, ['mode == debug', SKIP]],
    223   'test-serialize/ContextDeserialization': [PASS, ['mode == debug', SKIP]],
    224   'test-serialize/PartialDeserialization': [PASS, ['mode == debug', SKIP]],
    225   'test-serialize/PartialSerialization': [PASS, ['mode == debug', SKIP]],
    226   'test-serialize/DeserializeAndRunScript2': [PASS, ['mode == debug', SKIP]],
    227   'test-serialize/DeserializeFromSecondSerializationAndRunScript2': [PASS, ['mode == debug', SKIP]],
    228   'test-serialize/DeserializeFromSecondSerialization': [PASS, ['mode == debug', SKIP]],
    229 }],  # 'arch == x87'
    230 
    231 ##############################################################################
    232 ['arch == android_arm or arch == android_ia32', {
    233 
    234   # Tests crash as there is no /tmp directory in Android.
    235   'test-log/LogAccessorCallbacks': [SKIP],
    236   'test-log/LogCallbacks': [SKIP],
    237   'test-log/ProfLazyMode': [SKIP],
    238 
    239   # platform-tls.h does not contain an ANDROID-related header.
    240   'test-platform-tls/FastTLS': [SKIP],
    241 
    242   # This test times out.
    243   'test-threads/ThreadJoinSelf': [SKIP],
    244 }],  # 'arch == android_arm or arch == android_ia32'
    245 
    246 ##############################################################################
    247 ['arch == nacl_ia32 or arch == nacl_x64', {
    248 
    249   # NaCl builds have problems with threaded tests since Pepper_28.
    250   # V8 Issue 2786
    251   'test-api/Threading1': [SKIP],
    252   'test-lockers/MultithreadedParallelIsolates': [SKIP],
    253   'test-lockers/ExtensionsRegistration': [SKIP],
    254 
    255   # These tests fail as there is no /tmp directory in Native Client.
    256   'test-log/LogAccessorCallbacks': [SKIP],
    257   'test-log/LogCallbacks': [SKIP],
    258   'test-log/ProfLazyMode': [SKIP],
    259 
    260   # Native Client doesn't support sockets.
    261   'test-debug/DebuggerAgent': [SKIP],
    262   'test-debug/DebuggerAgentProtocolOverflowHeader': [SKIP],
    263   'test-socket/Socket': [SKIP],
    264 
    265   # Profiling doesn't work on Native Client.
    266   'test-cpu-profiler/*': [SKIP],
    267 
    268   # Fails since 16322 (new test).
    269   'test-code-stubs-arm/ConvertDToI': [SKIP],
    270 
    271   # BUG(2998).
    272   'test-macro-assembler-arm/LoadAndStoreWithRepresentation': [SKIP],
    273 
    274   # BUG(3150).
    275   'test-api/PreCompileInvalidPreparseDataError': [SKIP],
    276 
    277   'test-types/Convert' : [SKIP],
    278   'test-symbols/Create' : [SKIP],
    279   'test-parsing/ParserSync' : [SKIP],
    280   'test-parsing/ErrorsEvalAndArguments' : [SKIP],
    281   'test-parsing/ErrorsFutureStrictReservedWords' : [SKIP],
    282   'test-parsing/ErrorsReservedWords' : [SKIP],
    283   'test-parsing/ErrorsYieldStrict' : [SKIP],
    284   'test-parsing/ErrorsNotAnIdentifierName' : [SKIP],
    285   'test-parsing/FunctionDeclaresItselfStrict' : [SKIP],
    286   'test-parsing/ErrorsObjectLiteralChecking' : [SKIP],
    287   'test-parsing/InvalidLeftHandSide' : [SKIP],
    288   'test-heap/GarbageCollection' : [SKIP],
    289   'test-heap/GlobalHandles' : [SKIP],
    290   'test-heap/WeakGlobalHandlesScavenge' : [SKIP],
    291   'test-heap/DeleteWeakGlobalHandle' : [SKIP],
    292   'test-heap/GrowAndShrinkNewSpace' : [SKIP],
    293   'test-heap/OptimizedAllocationAlwaysInNewSpace' : [SKIP],
    294   'test-heap/OptimizedPretenuringAllocationFolding' : [SKIP],
    295   'test-heap/OptimizedPretenuringObjectArrayLiterals' : [SKIP],
    296   'test-heap/OptimizedPretenuringAllocationFoldingBlocks' : [SKIP],
    297   'test-heap/OptimizedPretenuringMixedInObjectProperties' : [SKIP],
    298   'test-heap/OptimizedPretenuringDoubleArrayProperties' : [SKIP],
    299   'test-heap/OptimizedPretenuringdoubleArrayLiterals' : [SKIP],
    300   'test-heap/OptimizedPretenuringNestedMixedArrayLiterals' : [SKIP],
    301   'test-heap/OptimizedPretenuringNestedObjectLiterals' : [SKIP],
    302   'test-heap/OptimizedPretenuringNestedDoubleLiterals' : [SKIP],
    303   'test-heap/Regress169928' : [SKIP],
    304   'test-decls/Unknown' : [SKIP],
    305   'test-decls/Present' : [SKIP],
    306   'test-decls/Absent' : [SKIP],
    307   'test-decls/Appearing' : [SKIP],
    308   'test-decls/Reappearing' : [SKIP],
    309   'test-decls/ExistsInPrototype' : [SKIP],
    310   'test-decls/AbsentInPrototype' : [SKIP],
    311   'test-decls/ExistsInHiddenPrototype' : [SKIP],
    312   'test-debug/ConditionalScriptBreakPoint' : [SKIP],
    313   'test-debug/DebugEvaluate' : [SKIP],
    314   'test-debug/ConditionalBreakpointWithCodeGenerationDisallowed' : [SKIP],
    315   'test-debug/DebugEvaluateWithCodeGenerationDisallowed' : [SKIP],
    316   'test-debug/DebugBreak' : [SKIP],
    317   'test-debug/ThreadedDebugging' : [SKIP],
    318   'test-debug/RecursiveBreakpoints' : [SKIP],
    319   'test-dictionary/HashMap' : [SKIP],
    320   'test-debug/Backtrace' : [SKIP],
    321   'test-debug/DebugBreakLoop' : [SKIP],
    322   'test-constantpool/ConstantPool' : [SKIP],
    323   'test-compiler/GetScriptLineNumber' : [SKIP],
    324   'test-api/ScriptMakingExternalString' : [SKIP],
    325   'test-api/ScriptMakingExternalAsciiString' : [SKIP],
    326   'test-api/MakingExternalStringConditions' : [SKIP],
    327   'test-api/MakingExternalAsciiStringConditions' : [SKIP],
    328   'test-api/MakingExternalUnalignedAsciiString' : [SKIP],
    329   'test-api/IndexedInterceptorUnboxedDoubleWithIndexedAccessor' : [SKIP],
    330   'test-api/IndependentWeakHandle' : [SKIP],
    331   'test-api/GCFromWeakCallbacks' : [SKIP],
    332   'test-api/IndependentHandleRevival' : [SKIP],
    333   'test-api/StringWrite' : [SKIP],
    334   'test-api/Threading3' : [SKIP],
    335   'test-api/Threading4' : [SKIP],
    336   'test-api/Threading2' : [SKIP],
    337   'test-api/FixedFloat32Array' : [SKIP],
    338   'test-api/FixedFloat64Array' : [SKIP],
    339   'test-api/ExternalFloat32Array' : [SKIP],
    340   'test-api/ExternalFloat64Array' : [SKIP],
    341   'test-api/ExternalArrays' : [SKIP],
    342   'test-api/Float32Array' : [SKIP],
    343   'test-api/Float64Array' : [SKIP],
    344   'test-api/Regress2333' : [SKIP],
    345   'test-alloc/StressHandles' : [SKIP],
    346   'test-alloc/StressJS' : [SKIP],
    347   'test-accessors/HandleScopePop' : [SKIP],
    348   'test-accessors/Gc' : [SKIP],
    349 
    350 }],  # 'arch == nacl_ia32 or arch == nacl_x64'
    351 ]
    352