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