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  # TODO(gc): Temporarily disabled in the GC branch.
50  'test-log/EquivalenceOfLoggingAndTraversal': [PASS, FAIL],
51
52  # We do not yet shrink weak maps after they have been emptied by the GC
53  'test-weakmaps/Shrinking': [FAIL],
54  'test-weaksets/WeakSet_Shrinking': [FAIL],
55
56  # Boot up memory use is bloated in debug mode.
57  'test-mark-compact/BootUpMemoryUse': [PASS, PASS, ['mode == debug', FAIL]],
58
59  # This tests only that the preparser and parser agree, so there is no point in
60  # running several variants. Note that this still takes ages, because there
61  # are actually 13 * 38 * 5 * 128 = 316160 individual tests hidden here.
62  'test-parsing/ParserSync': [PASS, NO_VARIANTS],
63
64  ############################################################################
65  # Slow tests.
66  'test-api/Threading1': [PASS, ['mode == debug', SLOW]],
67  'test-api/Threading2': [PASS, ['mode == debug', SLOW]],
68  'test-api/Threading3': [PASS, ['mode == debug', SLOW]],
69  'test-api/Threading4': [PASS, ['mode == debug', SLOW]],
70}],  # ALWAYS
71
72##############################################################################
73['system == windows', {
74
75  # BUG(2999).
76  'test-cpu-profiler/CollectCpuProfile': [PASS, FAIL],
77
78  # BUG(3005).
79  'test-alloc/CodeRange': [PASS, FAIL],
80}],  # 'system == windows'
81
82##############################################################################
83['arch == arm', {
84
85  # We cannot assume that we can throw OutOfMemory exceptions in all situations.
86  # Apparently our ARM box is in such a state. Skip the test as it also runs for
87  # a long time.
88  'test-api/OutOfMemory': [SKIP],
89  'test-api/OutOfMemoryNested': [SKIP],
90
91  # BUG(355): Test crashes on ARM.
92  'test-log/ProfLazyMode': [SKIP],
93
94  # BUG(1075): Unresolved crashes.
95  'test-serialize/Deserialize': [SKIP],
96  'test-serialize/DeserializeFromSecondSerializationAndRunScript2': [SKIP],
97  'test-serialize/DeserializeAndRunScript2': [SKIP],
98  'test-serialize/DeserializeFromSecondSerialization': [SKIP],
99
100  ############################################################################
101  # Slow tests.
102  'test-api/Threading1': [PASS, SLOW],
103  'test-api/Threading2': [PASS, SLOW],
104  'test-api/Threading3': [PASS, SLOW],
105  'test-api/Threading4': [PASS, SLOW],
106}],  # 'arch == arm'
107
108##############################################################################
109['arch == mipsel', {
110
111  # BUG(2657): Test sometimes times out on MIPS simulator.
112  'test-thread-termination/TerminateMultipleV8ThreadsDefaultIsolate': [PASS, TIMEOUT],
113
114  # BUG(1075): Unresolved crashes on MIPS also.
115  'test-serialize/Deserialize': [SKIP],
116  'test-serialize/DeserializeFromSecondSerializationAndRunScript2': [SKIP],
117  'test-serialize/DeserializeAndRunScript2': [SKIP],
118  'test-serialize/DeserializeFromSecondSerialization': [SKIP],
119}],  # 'arch == mipsel'
120
121##############################################################################
122['arch == android_arm or arch == android_ia32', {
123
124  # Tests crash as there is no /tmp directory in Android.
125  'test-log/LogAccessorCallbacks': [SKIP],
126  'test-log/LogCallbacks': [SKIP],
127  'test-log/ProfLazyMode': [SKIP],
128
129  # platform-tls.h does not contain an ANDROID-related header.
130  'test-platform-tls/FastTLS': [SKIP],
131
132  # This test times out.
133  'test-threads/ThreadJoinSelf': [SKIP],
134}],  # 'arch == android_arm or arch == android_ia32'
135
136##############################################################################
137['arch == nacl_ia32 or arch == nacl_x64', {
138
139  # NaCl builds have problems with threaded tests since Pepper_28.
140  # V8 Issue 2786
141  'test-api/Threading1': [SKIP],
142  'test-lockers/MultithreadedParallelIsolates': [SKIP],
143  'test-lockers/ExtensionsRegistration': [SKIP],
144
145  # These tests fail as there is no /tmp directory in Native Client.
146  'test-log/LogAccessorCallbacks': [SKIP],
147  'test-log/LogCallbacks': [SKIP],
148  'test-log/ProfLazyMode': [SKIP],
149
150  # Native Client doesn't support sockets.
151  'test-debug/DebuggerAgent': [SKIP],
152  'test-debug/DebuggerAgentProtocolOverflowHeader': [SKIP],
153  'test-socket/Socket': [SKIP],
154
155  # Profiling doesn't work on Native Client.
156  'test-cpu-profiler/*': [SKIP],
157
158  # Fails since 16322 (new test).
159  'test-code-stubs-arm/ConvertDToI': [SKIP],
160
161  # BUG(2998).
162  'test-macro-assembler-arm/LoadAndStoreWithRepresentation': [SKIP],
163}],  # 'arch == nacl_ia32 or arch == nacl_x64'
164]
165