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
35  # BUG(382): Weird test. Can't guarantee that it never times out.
36  'test-api/ApplyInterruption': [PASS, TIMEOUT],
37
38  # These tests always fail.  They are here to test test.py.  If
39  # they don't fail then test.py has failed.
40  'test-serialize/TestThatAlwaysFails': [FAIL],
41  'test-serialize/DependentTestThatAlwaysFails': [FAIL],
42
43  # This test always fails.  It tests that LiveEdit causes abort when turned off.
44  'test-debug/LiveEditDisabled': [FAIL],
45
46  # This test always fails.  It tests that DisallowJavascriptExecutionScope
47  # works as intended.
48  'test-api/DisallowJavascriptExecutionScope': [FAIL],
49
50  # TODO(gc): Temporarily disabled in the GC branch.
51  'test-log/EquivalenceOfLoggingAndTraversal': [PASS, FAIL],
52
53  # We do not yet shrink weak maps after they have been emptied by the GC
54  'test-weakmaps/Shrinking': [FAIL],
55  'test-weaksets/WeakSet_Shrinking': [FAIL],
56
57  # Boot up memory use is bloated in debug mode.
58  'test-mark-compact/BootUpMemoryUse': [PASS, PASS, ['mode == debug', FAIL]],
59
60  # This tests only that the preparser and parser agree, so there is no point in
61  # running several variants. Note that this still takes ages, because there
62  # are actually 13 * 38 * 5 * 128 = 316160 individual tests hidden here.
63  'test-parsing/ParserSync': [PASS, NO_VARIANTS],
64
65  # This tests only the type system, so there is no point in running several
66  # variants.
67  'test-hydrogen-types/*': [PASS, NO_VARIANTS],
68  'test-types/*': [PASS, NO_VARIANTS],
69
70  # The cpu profiler tests are notoriously flaky.
71  # BUG(2999). (test/cpu-profiler/CollectCpuProfile)
72  # BUG(3287). (test-cpu-profiler/SampleWhenFrameIsNotSetup)
73  'test-cpu-profiler/*': [PASS, FLAKY],
74  'test-cpu-profiler/*': [SKIP],
75
76  # BUG(3525). Test crashes flakily.
77  'test-debug/RecursiveBreakpoints': [PASS, FLAKY],
78  'test-debug/RecursiveBreakpointsGlobal': [PASS, FLAKY],
79
80  ##############################################################################
81  # TurboFan compiler failures.
82
83  # TODO(sigurds): The schedule is borked with multiple inlinees,
84  # and cannot handle free-floating loops yet
85  'test-run-inlining/InlineTwiceDependentDiamond': [SKIP],
86  'test-run-inlining/InlineTwiceDependentDiamondDifferent': [SKIP],
87  'test-run-inlining/InlineLoop': [SKIP],
88
89  # Some tests are just too slow to run for now.
90  'test-api/Threading*': [PASS, NO_VARIANTS],
91  'test-heap/IncrementalMarkingStepMakesBigProgressWithLargeObjects': [PASS, NO_VARIANTS],
92  'test-heap-profiler/ManyLocalsInSharedContext': [PASS, NO_VARIANTS],
93  'test-debug/ThreadedDebugging': [PASS, NO_VARIANTS],
94  'test-debug/DebugBreakLoop': [PASS, NO_VARIANTS],
95
96  # Support for breakpoints requires using LoadICs and StoreICs.
97  'test-debug/BreakPointICStore': [PASS, NO_VARIANTS],
98  'test-debug/BreakPointICLoad': [PASS, NO_VARIANTS],
99  'test-debug/BreakPointICCall': [PASS, NO_VARIANTS],
100  'test-debug/BreakPointICCallWithGC': [PASS, NO_VARIANTS],
101  'test-debug/BreakPointConstructCallWithGC': [PASS, NO_VARIANTS],
102  'test-debug/BreakPointReturn': [PASS, NO_VARIANTS],
103  'test-debug/BreakPointThroughJavaScript': [PASS, NO_VARIANTS],
104  'test-debug/ScriptBreakPointByNameThroughJavaScript': [PASS, NO_VARIANTS],
105  'test-debug/ScriptBreakPointByIdThroughJavaScript': [PASS, NO_VARIANTS],
106  'test-debug/DebugStepLinear': [PASS, NO_VARIANTS],
107  'test-debug/DebugStepKeyedLoadLoop': [PASS, NO_VARIANTS],
108  'test-debug/DebugStepKeyedStoreLoop': [PASS, NO_VARIANTS],
109  'test-debug/DebugStepNamedLoadLoop': [PASS, NO_VARIANTS],
110  'test-debug/DebugStepNamedStoreLoop': [PASS, NO_VARIANTS],
111  'test-debug/DebugStepLinearMixedICs': [PASS, NO_VARIANTS],
112  'test-debug/DebugStepDeclarations': [PASS, NO_VARIANTS],
113  'test-debug/DebugStepLocals': [PASS, NO_VARIANTS],
114  'test-debug/DebugStepIf': [PASS, NO_VARIANTS],
115  'test-debug/DebugStepSwitch': [PASS, NO_VARIANTS],
116  'test-debug/DebugStepWhile': [PASS, NO_VARIANTS],
117  'test-debug/DebugStepDoWhile': [PASS, NO_VARIANTS],
118  'test-debug/DebugStepFor': [PASS, NO_VARIANTS],
119  'test-debug/DebugStepForContinue': [PASS, NO_VARIANTS],
120  'test-debug/DebugStepForBreak': [PASS, NO_VARIANTS],
121  'test-debug/DebugStepForIn': [PASS, NO_VARIANTS],
122  'test-debug/DebugStepWith': [PASS, NO_VARIANTS],
123  'test-debug/DebugConditional': [PASS, NO_VARIANTS],
124  'test-debug/StepInOutSimple': [PASS, NO_VARIANTS],
125  'test-debug/StepInOutTree': [PASS, NO_VARIANTS],
126  'test-debug/StepInOutBranch': [PASS, NO_VARIANTS],
127  'test-debug/DebugBreak': [PASS, NO_VARIANTS],
128  'test-debug/DebugBreakStackInspection': [PASS, NO_VARIANTS],
129  'test-debug/BreakMessageWhenMessageHandlerIsReset': [PASS, NO_VARIANTS],
130  'test-debug/NoDebugBreakInAfterCompileMessageHandler': [PASS, NO_VARIANTS],
131  'test-debug/DisableBreak': [PASS, NO_VARIANTS],
132  'test-debug/RegExpDebugBreak': [PASS, NO_VARIANTS],
133  'test-debug/DebugBreakFunctionApply': [PASS, NO_VARIANTS],
134  'test-debug/DeoptimizeDuringDebugBreak': [PASS, NO_VARIANTS],
135
136  # Support for %GetFrameDetails is missing and requires checkpoints.
137  'test-api/Regress385349': [PASS, NO_VARIANTS],
138  'test-debug/DebuggerStatement': [PASS, NO_VARIANTS],
139  'test-debug/DebuggerStatementBreakpoint': [PASS, NO_VARIANTS],
140  'test-debug/DebugEvaluateWithCodeGenerationDisallowed': [PASS, NO_VARIANTS],
141  'test-debug/DebugStepNatives': [PASS, NO_VARIANTS],
142  'test-debug/DebugStepFunctionCall': [PASS, NO_VARIANTS],
143  'test-debug/DebugStepFunctionApply': [PASS, NO_VARIANTS],
144  'test-debug/ScriptNameAndData': [PASS, NO_VARIANTS],
145  'test-debug/ContextData': [PASS, NO_VARIANTS],
146  'test-debug/DebugBreakInMessageHandler': [PASS, NO_VARIANTS],
147  'test-debug/CallFunctionInDebugger': [PASS, NO_VARIANTS],
148  'test-debug/CallingContextIsNotDebugContext': [PASS, NO_VARIANTS],
149  'test-debug/DebugEventContext': [PASS, NO_VARIANTS],
150  'test-debug/DebugBreakInline': [PASS, NO_VARIANTS],
151
152  ############################################################################
153  # Slow tests.
154  'test-api/Threading1': [PASS, ['mode == debug', SLOW]],
155  'test-api/Threading2': [PASS, ['mode == debug', SLOW]],
156  'test-api/Threading3': [PASS, ['mode == debug', SLOW]],
157  'test-api/Threading4': [PASS, ['mode == debug', SLOW]],
158  'test-strings/StringOOM*': [PASS, ['mode == debug', SKIP]],
159}],  # ALWAYS
160
161##############################################################################
162['arch == arm64', {
163
164  'test-api/Bug618': [PASS],
165
166  # BUG(v8:3385).
167  'test-serialize/DeserializeFromSecondSerialization': [PASS, FAIL],
168  'test-serialize/DeserializeFromSecondSerializationAndRunScript2': [PASS, FAIL],
169
170  # BUG(v8:2999).
171  'test-cpu-profiler/CollectCpuProfile': [PASS, FAIL],
172
173  # BUG(v8:3154).
174  'test-heap/ReleaseOverReservedPages': [PASS, FAIL],
175
176  # BUG(v8:3155).
177  'test-strings/OneByteArrayJoin': [PASS, ['mode == debug', FAIL]],
178
179  # BUG(v8:3247).
180  'test-mark-compact/NoPromotion': [SKIP],
181
182  # BUG(v8:3446).
183  'test-mark-compact/Promotion': [PASS, FAIL],
184
185  # BUG(v8:3434).
186  ' test-api/LoadICFastApi_DirectCall_GCMoveStubWithProfiler': [SKIP],
187}],  # 'arch == arm64'
188
189['arch == arm64 and simulator_run == True', {
190
191  # Pass but take too long with the simulator.
192  'test-api/ExternalArrays': [PASS, TIMEOUT],
193  'test-api/Threading1': [SKIP],
194}],  # 'arch == arm64 and simulator_run == True'
195
196['arch == arm64 and mode == debug and simulator_run == True', {
197
198  # Pass but take too long with the simulator in debug mode.
199  'test-api/ExternalDoubleArray': [SKIP],
200  'test-api/ExternalFloat32Array': [SKIP],
201  'test-api/ExternalFloat64Array': [SKIP],
202  'test-api/ExternalFloatArray': [SKIP],
203  'test-api/Float32Array': [SKIP],
204  'test-api/Float64Array': [SKIP],
205  'test-debug/DebugBreakLoop': [SKIP],
206}],  # 'arch == arm64 and mode == debug and simulator_run == True'
207
208##############################################################################
209['asan == True', {
210  # Skip tests not suitable for ASAN.
211  'test-assembler-x64/AssemblerX64XchglOperations': [SKIP],
212  'test-lockers/MultithreadedParallelIsolates': [SKIP],
213}],  # 'asan == True'
214
215##############################################################################
216['no_snap == True', {
217  # BUG(3215)
218  'test-lockers/MultithreadedParallelIsolates': [PASS, FAIL, TIMEOUT],
219}],  # 'no_snap == True'
220
221##############################################################################
222# TODO(machenbach): Fix application of '*'. Nosnap windows needs a separate
223# section to not overwrite the expectations for TestThatAlwaysFails.
224['no_snap == True and system == windows', {
225  # Windows doesn't support nosnap mode.
226  'test-serialize/*': [SKIP],
227}],  # 'no_snap == True and system == windows'
228
229##############################################################################
230['system == windows', {
231
232  # BUG(2999).
233  'test-cpu-profiler/CollectCpuProfile': [PASS, FAIL],
234
235  # BUG(3005).
236  'test-alloc/CodeRange': [PASS, FAIL],
237
238  # BUG(3215). Crashes on windows.
239  'test-lockers/MultithreadedParallelIsolates': [SKIP],
240
241  # BUG(3331). Fails on windows.
242  'test-heap/NoWeakHashTableLeakWithIncrementalMarking': [SKIP],
243
244  # BUG(v8:3433). Crashes on windows.
245  'test-cpu-profiler/FunctionApplySample': [SKIP],
246
247}],  # 'system == windows'
248
249##############################################################################
250['system == macos', {
251
252  # BUG(3125).
253  'test-debug/DebugGetLoadedScripts': [PASS, FLAKY],
254  'test-debug/DebugStepLinear': [PASS, FLAKY],
255  'test-debug/DebuggerClearMessageHandler': [PASS, FLAKY],
256}],  # 'system == macos'
257
258##############################################################################
259['arch == arm', {
260
261  # BUG(355): Test crashes on ARM.
262  'test-log/ProfLazyMode': [SKIP],
263
264  # BUG(1075): Unresolved crashes.
265  'test-serialize/Deserialize': [SKIP],
266  'test-serialize/DeserializeFromSecondSerializationAndRunScript2': [SKIP],
267  'test-serialize/DeserializeAndRunScript2': [SKIP],
268  'test-serialize/DeserializeFromSecondSerialization': [SKIP],
269
270  ############################################################################
271  # Slow tests.
272  'test-api/Threading1': [PASS, SLOW],
273  'test-api/Threading2': [PASS, SLOW],
274  'test-api/Threading3': [PASS, SLOW],
275  'test-api/Threading4': [PASS, SLOW],
276
277  # Crashes due to OOM in simulator.
278  'test-types/Distributivity1': [PASS, FLAKY],
279  'test-types/Distributivity2': [PASS, FLAKY],
280}],  # 'arch == arm'
281
282##############################################################################
283['arch == mipsel or arch == mips', {
284
285  # BUG(2657): Test sometimes times out on MIPS simulator.
286  'test-thread-termination/TerminateMultipleV8ThreadsDefaultIsolate': [PASS, TIMEOUT],
287
288  # BUG(1075): Unresolved crashes on MIPS also.
289  'test-serialize/Deserialize': [SKIP],
290  'test-serialize/DeserializeFromSecondSerializationAndRunScript2': [SKIP],
291  'test-serialize/DeserializeAndRunScript2': [SKIP],
292  'test-serialize/DeserializeFromSecondSerialization': [SKIP],
293
294  # Test requires turbofan:
295  'test-simplified-lowering/LowerStringOps_to_call_and_compare': [SKIP],
296  'codegen-tester/CompareWrapper': [SKIP],
297  'codegen-tester/ParametersEqual': [SKIP],
298}],  # 'arch == mipsel or arch == mips'
299
300##############################################################################
301['arch == mips64el', {
302
303  # BUG(2657): Test sometimes times out on MIPS simulator.
304  'test-thread-termination/TerminateMultipleV8ThreadsDefaultIsolate': [PASS, TIMEOUT],
305
306  # BUG(v8:3154).
307  'test-heap/ReleaseOverReservedPages': [PASS, FAIL],
308
309  # BUG(1075): Unresolved crashes on MIPS also.
310  'test-serialize/Deserialize': [SKIP],
311  'test-serialize/DeserializeFromSecondSerializationAndRunScript2': [SKIP],
312  'test-serialize/DeserializeAndRunScript2': [SKIP],
313  'test-serialize/DeserializeFromSecondSerialization': [SKIP],
314
315  # Test requires turbofan:
316  'test-simplified-lowering/LowerStringOps_to_call_and_compare': [SKIP],
317  'codegen-tester/CompareWrapper': [SKIP],
318  'codegen-tester/ParametersEqual': [SKIP],
319}],  # 'arch == mips64el'
320
321##############################################################################
322['arch == x87', {
323
324  # Test requires turbofan:
325  'codegen-tester/CompareWrapper': [SKIP],
326  'codegen-tester/ParametersEqual': [SKIP],
327  'test-simplified-lowering/LowerStringOps_to_call_and_compare': [SKIP],
328}],  # 'arch == x87'
329
330##############################################################################
331['arch == android_arm or arch == android_ia32', {
332
333  # Tests crash as there is no /tmp directory in Android.
334  'test-log/LogAccessorCallbacks': [SKIP],
335  'test-log/LogCallbacks': [SKIP],
336  'test-log/ProfLazyMode': [SKIP],
337
338  # platform-tls.h does not contain an ANDROID-related header.
339  'test-platform-tls/FastTLS': [SKIP],
340
341  # This test times out.
342  'test-threads/ThreadJoinSelf': [SKIP],
343}],  # 'arch == android_arm or arch == android_ia32'
344
345##############################################################################
346['arch == nacl_ia32 or arch == nacl_x64', {
347
348  # NaCl builds have problems with threaded tests since Pepper_28.
349  # V8 Issue 2786
350  'test-api/Threading1': [SKIP],
351  'test-lockers/MultithreadedParallelIsolates': [SKIP],
352  'test-lockers/ExtensionsRegistration': [SKIP],
353
354  # These tests fail as there is no /tmp directory in Native Client.
355  'test-log/LogAccessorCallbacks': [SKIP],
356  'test-log/LogCallbacks': [SKIP],
357  'test-log/ProfLazyMode': [SKIP],
358
359  # Native Client doesn't support sockets.
360  'test-debug/DebuggerAgent': [SKIP],
361  'test-debug/DebuggerAgentProtocolOverflowHeader': [SKIP],
362  'test-socket/Socket': [SKIP],
363
364  # Profiling doesn't work on Native Client.
365  'test-cpu-profiler/*': [SKIP],
366
367  # Fails since 16322 (new test).
368  'test-code-stubs-arm/ConvertDToI': [SKIP],
369
370  # BUG(2998).
371  'test-macro-assembler-arm/LoadAndStoreWithRepresentation': [SKIP],
372
373  # BUG(3150).
374  'test-api/PreCompileInvalidPreparseDataError': [SKIP],
375
376  'test-types/Convert' : [SKIP],
377  'test-symbols/Create' : [SKIP],
378  'test-parsing/ParserSync' : [SKIP],
379  'test-parsing/ErrorsEvalAndArguments' : [SKIP],
380  'test-parsing/ErrorsFutureStrictReservedWords' : [SKIP],
381  'test-parsing/ErrorsReservedWords' : [SKIP],
382  'test-parsing/ErrorsYieldStrict' : [SKIP],
383  'test-parsing/ErrorsNotAnIdentifierName' : [SKIP],
384  'test-parsing/FunctionDeclaresItselfStrict' : [SKIP],
385  'test-parsing/ErrorsObjectLiteralChecking' : [SKIP],
386  'test-parsing/InvalidLeftHandSide' : [SKIP],
387  'test-heap/GarbageCollection' : [SKIP],
388  'test-heap/GlobalHandles' : [SKIP],
389  'test-heap/WeakGlobalHandlesScavenge' : [SKIP],
390  'test-heap/DeleteWeakGlobalHandle' : [SKIP],
391  'test-heap/GrowAndShrinkNewSpace' : [SKIP],
392  'test-heap/OptimizedAllocationAlwaysInNewSpace' : [SKIP],
393  'test-heap/OptimizedPretenuringAllocationFolding' : [SKIP],
394  'test-heap/OptimizedPretenuringObjectArrayLiterals' : [SKIP],
395  'test-heap/OptimizedPretenuringAllocationFoldingBlocks' : [SKIP],
396  'test-heap/OptimizedPretenuringMixedInObjectProperties' : [SKIP],
397  'test-heap/OptimizedPretenuringDoubleArrayProperties' : [SKIP],
398  'test-heap/OptimizedPretenuringdoubleArrayLiterals' : [SKIP],
399  'test-heap/OptimizedPretenuringNestedMixedArrayLiterals' : [SKIP],
400  'test-heap/OptimizedPretenuringNestedObjectLiterals' : [SKIP],
401  'test-heap/OptimizedPretenuringNestedDoubleLiterals' : [SKIP],
402  'test-heap/Regress169928' : [SKIP],
403  'test-decls/Unknown' : [SKIP],
404  'test-decls/Present' : [SKIP],
405  'test-decls/Absent' : [SKIP],
406  'test-decls/Appearing' : [SKIP],
407  'test-decls/Reappearing' : [SKIP],
408  'test-decls/ExistsInPrototype' : [SKIP],
409  'test-decls/AbsentInPrototype' : [SKIP],
410  'test-decls/ExistsInHiddenPrototype' : [SKIP],
411  'test-debug/ConditionalScriptBreakPoint' : [SKIP],
412  'test-debug/DebugEvaluate' : [SKIP],
413  'test-debug/ConditionalBreakpointWithCodeGenerationDisallowed' : [SKIP],
414  'test-debug/DebugEvaluateWithCodeGenerationDisallowed' : [SKIP],
415  'test-debug/DebugBreak' : [SKIP],
416  'test-debug/ThreadedDebugging' : [SKIP],
417  'test-debug/RecursiveBreakpoints' : [SKIP],
418  'test-dictionary/HashMap' : [SKIP],
419  'test-debug/Backtrace' : [SKIP],
420  'test-debug/DebugBreakLoop' : [SKIP],
421  'test-constantpool/ConstantPool' : [SKIP],
422  'test-compiler/GetScriptLineNumber' : [SKIP],
423  'test-api/ScriptMakingExternalString' : [SKIP],
424  'test-api/ScriptMakingExternalOneByteString' : [SKIP],
425  'test-api/MakingExternalStringConditions' : [SKIP],
426  'test-api/MakingExternalOneByteStringConditions' : [SKIP],
427  'test-api/MakingExternalUnalignedOneByteString' : [SKIP],
428  'test-api/IndexedInterceptorUnboxedDoubleWithIndexedAccessor' : [SKIP],
429  'test-api/IndependentWeakHandle' : [SKIP],
430  'test-api/GCFromWeakCallbacks' : [SKIP],
431  'test-api/IndependentHandleRevival' : [SKIP],
432  'test-api/StringWrite' : [SKIP],
433  'test-api/Threading3' : [SKIP],
434  'test-api/Threading4' : [SKIP],
435  'test-api/Threading2' : [SKIP],
436  'test-api/FixedFloat32Array' : [SKIP],
437  'test-api/FixedFloat64Array' : [SKIP],
438  'test-api/ExternalFloat32Array' : [SKIP],
439  'test-api/ExternalFloat64Array' : [SKIP],
440  'test-api/ExternalArrays' : [SKIP],
441  'test-api/Float32Array' : [SKIP],
442  'test-api/Float64Array' : [SKIP],
443  'test-api/Regress2333' : [SKIP],
444  'test-alloc/StressHandles' : [SKIP],
445  'test-alloc/StressJS' : [SKIP],
446  'test-accessors/HandleScopePop' : [SKIP],
447  'test-accessors/Gc' : [SKIP],
448
449}],  # 'arch == nacl_ia32 or arch == nacl_x64'
450]
451