blob: d4eebeec541dfe8e3895af767e4a972e26e77be5 [file] [log] [blame]
Ben Murdoch3ef787d2012-04-12 10:51:47 +01001# Copyright 2011 the V8 project authors. All rights reserved.
Steve Blocka7e24c12009-10-30 11:49:00 +00002# 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# This file is up to date with respect to Mozilla's CVS repository as of
Steve Block8defd9f2010-07-08 12:39:36 +010029# 2010-06-29. If new tests are added to Mozilla's CVS it may need to be
Steve Blocka7e24c12009-10-30 11:49:00 +000030# updated.
31
32# To get the mozilla tests:
33# cd /path/to/checkout/test/mozilla
34# rm -rf data
Steve Block8defd9f2010-07-08 12:39:36 +010035# cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -D 2010-06-29 mozilla/js/tests
Steve Blocka7e24c12009-10-30 11:49:00 +000036# mv mozilla/js/tests data
37# rm -rf mozilla
38
39# --------------------------------------------------------------------
40# If you add a test case to this file, please try to provide
41# an explanation of why the test fails; this may ease future
42# debugging.
43# --------------------------------------------------------------------
44
Ben Murdochb8a8cc12014-11-26 15:28:44 +000045[
46[ALWAYS, {
47 ##################### NEEDS INVESTIGATION ##############
Steve Blocka7e24c12009-10-30 11:49:00 +000048
Ben Murdochb8a8cc12014-11-26 15:28:44 +000049 # BUG(2893): These tests started to fail after i18n support was turned on.
50 # Need to investigate why.
51 'ecma_3/Number/15.7.4.3-02': [PASS, FAIL],
52 'ecma_3/Date/15.9.5.5-02': [PASS, FAIL],
Ben Murdochb0fe1622011-05-05 13:52:32 +010053
Ben Murdochb8a8cc12014-11-26 15:28:44 +000054 ################## TURBO-FAN FAILURES ###################
Steve Blocka7e24c12009-10-30 11:49:00 +000055
Ben Murdochb8a8cc12014-11-26 15:28:44 +000056 # TODO(turbofan): These are all covered by mjsunit as well. Enable them once
57 # we pass 'mjsunit' and 'webkit' with TurboFan.
Ben Murdochb8a8cc12014-11-26 15:28:44 +000058 'js1_5/Regress/regress-80981': [PASS, NO_VARIANTS],
Steve Blocka7e24c12009-10-30 11:49:00 +000059
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000060 # TODO(turbofan): Causes timeouts since top-level code is optimized.
61 'ecma_3/Statements/regress-324650': [PASS, NO_VARIANTS],
Ben Murdochc5610432016-08-08 18:44:38 +010062 'ecma_3/Statements/regress-444979': [PASS, NO_VARIANTS],
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000063 'ecma_3/Statements/regress-74474-002': [PASS, NO_VARIANTS],
64 'ecma_3/Statements/regress-74474-003': [PASS, NO_VARIANTS],
65 'js1_5/Regress/regress-111557': [PASS, NO_VARIANTS],
66 'js1_5/Regress/regress-155081': [PASS, NO_VARIANTS],
67 'js1_5/Regress/regress-155081-2': [PASS, NO_VARIANTS],
Ben Murdochc5610432016-08-08 18:44:38 +010068 'js1_5/Regress/regress-159334': [PASS, NO_VARIANTS],
69 'js1_5/Regress/regress-321971': [PASS, NO_VARIANTS],
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000070 'js1_5/Regress/regress-451322': [PASS, NO_VARIANTS],
71
Ben Murdochb8a8cc12014-11-26 15:28:44 +000072 # TODO(turbofan): Large switch statements crash.
73 'js1_5/Regress/regress-398085-01': [PASS, NO_VARIANTS],
Steve Blocka7e24c12009-10-30 11:49:00 +000074
Ben Murdoch4a90d5f2016-03-22 12:00:34 +000075 ############################ INVALID TESTS #############################
76
77 # Function length properties are configurable in ES6
78 'ecma/Array/15.4.4.3-1': [FAIL],
79 'ecma/Array/15.4.4.4-1': [FAIL],
80 'ecma/Array/15.4.4.4-2': [FAIL],
81 'ecma/String/15.5.4.10-1': [FAIL],
82 'ecma/String/15.5.4.11-1': [FAIL],
83 'ecma/String/15.5.4.7-2': [FAIL],
84 'ecma/String/15.5.4.8-1': [FAIL],
85 'ecma/String/15.5.4.9-1': [FAIL],
86
87 # Date.prototype is an Object, not a Date
88 'ecma/Date/15.9.5': [FAIL],
89
90 # In ES6, the completion value of a 0-iterations loop is 'undefined'.
91 'ecma/Statements/12.6.3-2': [PASS, FAIL],
92
93 # ES2015 ToLength semantics
94 'ecma_3/RegExp/15.10.6.2-2': [FAIL],
95
96 # Escaped keywords are early errors in ES6
97 'ecma_3/Unicode/uc-003': [FAIL],
98
99 # RegExp.multiline is not part of any ECMAScript specification, and is
100 # slated for deprecation in Mozilla
101 # (https://bugzilla.mozilla.org/show_bug.cgi?id=1220457)
102 'js1_5/Regress/regress-418504': [FAIL],
103
104 # ES2015 const redefinition throws, initializers are required, and no
105 # global object properties are made, unlike Mozilla legacy const
106 'js1_5/Regress/regress-103602': [FAIL],
107 'js1_5/Regress/regress-321874': [FAIL],
108 'js1_5/Regress/regress-383674': [FAIL],
109 'js1_5/extensions/regress-452565': [FAIL],
110 'js1_5/extensions/scope-001': [FAIL],
111 # To add insult to injury, these tests time out in debug mode
112 'js1_5/Regress/regress-360969-03': [FAIL, ['mode == debug', TIMEOUT, NO_VARIANTS]],
113 'js1_5/Regress/regress-360969-04': [FAIL, ['mode == debug', TIMEOUT, NO_VARIANTS]],
114
Ben Murdochda12d292016-06-02 14:46:10 +0100115 # Function declarations are no longer allowed as the body of a with statement.
116 'js1_5/Regress/regress-326453': [FAIL],
117
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000118 ##################### SKIPPED TESTS #####################
Steve Block8defd9f2010-07-08 12:39:36 +0100119
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000120 # This test checks that we behave properly in an out-of-memory
121 # situation. The test fails in V8 with an exception and takes a long
122 # time to do so.
123 'js1_5/Regress/regress-271716-n': [SKIP],
Steve Blocka7e24c12009-10-30 11:49:00 +0000124
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000125 # BUG(960): This test has an insane amount of output when it times out,
126 # messing up ability to see other failures on the waterfall.
127 'js1_5/extensions/regress-342960': [SKIP],
Ben Murdoch5d4cdbf2012-04-11 10:23:59 +0100128
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000129 # This test uses a unitialized variable. A Bug has been filed:
130 # https://bugzilla.mozilla.org/show_bug.cgi?id=575575
131 'js1_5/Array/regress-465980-02': [SKIP],
Steve Blocka7e24c12009-10-30 11:49:00 +0000132
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000133 # These tests are simply wrong (i.e., they do not test what they intend
134 # to test).
135 # In particular, these two compare numbers to NaN with != in the current
136 # version of the Mozilla tests. This is *fixed* in a later version.
137 # The tests should be re-enabled when switching to a new version.
138 'ecma_3/Date/15.9.3.2-1': [SKIP],
139 'js1_2/function/Number': [SKIP],
Steve Blocka7e24c12009-10-30 11:49:00 +0000140
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000141 # TODO(2018): Temporarily allow timeout in debug mode.
142 'js1_5/GC/regress-203278-2': [PASS, ['mode == debug', TIMEOUT, NO_VARIANTS, FAIL]],
Steve Blocka7e24c12009-10-30 11:49:00 +0000143
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000144 # These tests use invalid LHS expressions in assignments.
145 'js1_5/Regress/regress-319391': [SKIP],
146 'js1_5/Regress/regress-350253': [SKIP],
147 'js1_5/Regress/regress-462292': [SKIP],
148 'js1_5/decompilation/regress-443071-01': [SKIP],
Steve Blocka7e24c12009-10-30 11:49:00 +0000149
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000150 ##################### SLOW TESTS #####################
Steve Blocka7e24c12009-10-30 11:49:00 +0000151
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000152 # This takes a long time to run (~100 seconds). It should only be run
153 # by the really patient.
154 'js1_5/GC/regress-324278': [SKIP],
Steve Blocka7e24c12009-10-30 11:49:00 +0000155
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000156 # This takes a long time to run because our indexOf operation is
157 # pretty slow - it causes a lot of GCs; see issue
158 # #926379. We could consider marking this SKIP because it takes a
159 # while to run to completion.
160 'js1_5/GC/regress-338653': [SKIP],
Steve Blocka7e24c12009-10-30 11:49:00 +0000161
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000162 # This test is designed to run until it runs out of memory. This takes
163 # a very long time because it builds strings character by character
164 # and compiles a lot of regular expressions. We could consider marking
165 # this SKIP because it takes a while to run to completion.
166 'js1_5/GC/regress-346794': [SKIP],
Steve Blocka7e24c12009-10-30 11:49:00 +0000167
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000168 # Runs out of memory while trying to build huge string of 'x'
169 # characters. This takes a long time to run (~32 seconds).
170 'js1_5/GC/regress-348532': [SKIP],
Steve Blocka7e24c12009-10-30 11:49:00 +0000171
Steve Blocka7e24c12009-10-30 11:49:00 +0000172
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400173 # Runs for too long: huge array with getters and setters. As it says
174 # in the test: "This test will probably run out of memory".
175 'js1_5/extensions/regress-345967': [SKIP],
176
Ben Murdochda12d292016-06-02 14:46:10 +0100177 # Slow with arm64 simulator in debug.
178 'ecma_3/Statements/regress-302439': [PASS, ['mode == debug', SLOW]],
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400179
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000180 ##################### FLAKY TESTS #####################
Steve Blocka7e24c12009-10-30 11:49:00 +0000181
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000182 # These tests time out in debug mode but pass in product mode
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000183 'js1_5/Regress/regress-360969-05': [PASS, ['mode == debug', TIMEOUT, NO_VARIANTS]],
184 'js1_5/Regress/regress-360969-06': [PASS, ['mode == debug', TIMEOUT, NO_VARIANTS]],
185 'js1_5/extensions/regress-365527': [PASS, SLOW, ['mode == debug', TIMEOUT, NO_VARIANTS]],
Steve Blocka7e24c12009-10-30 11:49:00 +0000186
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000187 'js1_5/Regress/regress-280769-3': [PASS, ['mode == debug', FAIL]],
188 'js1_5/Regress/regress-203278-1': [PASS, ['mode == debug', FAIL]],
189 'js1_5/Regress/regress-244470': [PASS, ['mode == debug', FAIL]],
190 'ecma_3/RegExp/regress-209067': [PASS, ['mode == debug', FAIL]],
191 'js1_5/GC/regress-278725': [PASS, ['mode == debug', FAIL]],
192 # http://b/issue?id=1206983
Ben Murdochc5610432016-08-08 18:44:38 +0100193 'js1_5/Regress/regress-367561-03': [PASS, ['mode == debug', FAIL], NO_VARIANTS],
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000194 'ecma/Date/15.9.5.10-2': [PASS, FAIL, ['mode == debug', TIMEOUT, NO_VARIANTS]],
Steve Blocka7e24c12009-10-30 11:49:00 +0000195
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000196 # These tests create two Date objects just after each other and
197 # expects them to match. Sometimes this happens on the border
198 # between one second and the next.
199 'ecma/Date/15.9.2.1': [PASS, FAIL],
200 'ecma/Date/15.9.2.2-1': [PASS, FAIL],
201 'ecma/Date/15.9.2.2-2': [PASS, FAIL],
202 'ecma/Date/15.9.2.2-3': [PASS, FAIL],
203 'ecma/Date/15.9.2.2-4': [PASS, FAIL],
204 'ecma/Date/15.9.2.2-5': [PASS, FAIL],
205 'ecma/Date/15.9.2.2-6': [PASS, FAIL],
Steve Blocka7e24c12009-10-30 11:49:00 +0000206
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000207 # 1026139: These date tests fail on arm and mips.
208 # These date tests also fail in a time zone without daylight saving time.
209 'ecma/Date/15.9.5.29-1': [PASS, FAIL],
210 'ecma/Date/15.9.5.28-1': [PASS, FAIL],
Steve Blocka7e24c12009-10-30 11:49:00 +0000211
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000212 # 1050186: Arm/MIPS vm is broken; probably unrelated to dates
213 'ecma/Array/15.4.4.5-3': [PASS, ['arch == arm or arch == mipsel or arch == mips', FAIL]],
214 'ecma/Date/15.9.5.22-2': [PASS, ['arch == arm or arch == mipsel or arch == mips', FAIL]],
Steve Blocka7e24c12009-10-30 11:49:00 +0000215
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000216 # Flaky test that fails due to what appears to be a bug in the test.
217 # Occurs depending on current time
218 'ecma/Date/15.9.5.8': [PASS, FAIL],
Steve Blocka7e24c12009-10-30 11:49:00 +0000219
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000220 # Severely brain-damaged test. Access to local variables must not
221 # be more than 2.5 times faster than access to global variables? WTF?
222 'js1_5/Regress/regress-169559': [PASS, FAIL],
Steve Blocka7e24c12009-10-30 11:49:00 +0000223
224
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000225 # Test that rely on specific timezone (not working in Denmark).
226 'js1_5/Regress/regress-58116': [PASS, FAIL],
Steve Blocka7e24c12009-10-30 11:49:00 +0000227
228
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000229 # Flaky random() test. Tests the distribution of calls to Math.random().
230 'js1_5/Regress/regress-211590': [PASS, FAIL],
Steve Blocka7e24c12009-10-30 11:49:00 +0000231
232
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000233 # Flaky tests; expect BigO-order computations to yield 1, but the code
234 # cannot handle outliers. See bug #925864.
235 'ecma_3/RegExp/regress-311414': [PASS, FAIL],
236 'ecma_3/RegExp/regress-289669': [PASS, FAIL],
237 'js1_5/String/regress-314890': [PASS, FAIL],
238 'js1_5/String/regress-56940-01': [PASS, FAIL],
239 'js1_5/String/regress-56940-02': [PASS, FAIL],
240 'js1_5/String/regress-157334-01': [PASS, FAIL],
241 'js1_5/String/regress-322772': [PASS, FAIL],
242 'js1_5/Array/regress-99120-01': [PASS, FAIL, NO_VARIANTS],
243 'js1_5/Array/regress-99120-02': [PASS, FAIL],
244 'js1_5/Regress/regress-347306-01': [PASS, FAIL],
Ben Murdochc5610432016-08-08 18:44:38 +0100245 'js1_5/Regress/regress-416628': [PASS, FAIL, ['mode == debug', TIMEOUT], NO_VARIANTS],
Steve Blocka7e24c12009-10-30 11:49:00 +0000246
247
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000248 # The following two tests assume that daylight savings time starts first
249 # Sunday in April. This is not true when executing the tests outside
250 # California! In Denmark the adjustment starts one week earlier.
251 # Tests based on shell that use dates in this gap are flaky.
252 'ecma/Date/15.9.5.10-1': [PASS, FAIL],
253 'ecma/Date/15.9.5.12-1': [PASS, FAIL],
254 'ecma/Date/15.9.5.14': [PASS, FAIL],
255 'ecma/Date/15.9.5.34-1': [PASS, FAIL],
Steve Blocka7e24c12009-10-30 11:49:00 +0000256
257
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000258 # These tests sometimes pass (in particular on Windows). They build up
259 # a lot of stuff on the stack, which normally causes a stack overflow,
260 # but sometimes it makes it through?
261 'js1_5/Regress/regress-98901': [PASS, FAIL],
Steve Blocka7e24c12009-10-30 11:49:00 +0000262
263
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000264 # Tests that sorting arrays of ints is less than 3 times as fast
265 # as sorting arrays of strings.
266 'js1_5/extensions/regress-371636': [PASS, FAIL, ['mode == debug', TIMEOUT, NO_VARIANTS]],
Steve Blocka7e24c12009-10-30 11:49:00 +0000267
268
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000269 # Tests depend on GC timings. Inherently flaky.
270 'js1_5/GC/regress-383269-01': [PASS, FAIL],
271 'js1_5/GC/regress-383269-02': [PASS, FAIL],
272 'js1_5/Regress/regress-404755': [PASS, FAIL],
Steve Block1e0659c2011-05-24 12:43:12 +0100273
Steve Blocka7e24c12009-10-30 11:49:00 +0000274
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000275 # Test that depends on timer resolution. Fails every now and then
276 # if we're unlucky enough to get a context switch at a bad time.
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400277 # TODO(mstarzinger): Switch off TF on windows due to timeouts.
278 'js1_5/extensions/regress-363258': [PASS, FAIL, ['system == windows', NO_VARIANTS]],
Ben Murdoch589d6972011-11-30 16:04:58 +0000279
280
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000281 # Test that assumes specific runtime for a regexp, flaky in debug mode.
282 'ecma_3/RegExp/regress-85721': [PASS, ['mode == debug', FAIL]],
Steve Blocka7e24c12009-10-30 11:49:00 +0000283
Steve Blocka7e24c12009-10-30 11:49:00 +0000284
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000285 # Test that assumes specific execution time, flaky in debug mode.
286 'js1_5/Array/regress-101964': [PASS, ['mode == debug', FAIL]],
Ben Murdoch3fb3ca82011-12-02 17:19:32 +0000287
Ben Murdoch3ef787d2012-04-12 10:51:47 +0100288
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000289 ##################### INCOMPATIBLE TESTS #####################
Steve Blocka7e24c12009-10-30 11:49:00 +0000290
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000291 # This section is for tests that fail in both V8 and JSC. Thus they
292 # have been determined to be incompatible between Mozilla and V8/JSC.
Steve Blocka7e24c12009-10-30 11:49:00 +0000293
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000294 # Any local 'arguments' variable should not be allowed to shadow the value
295 # returned via the indirect 'arguments' property accessor.
296 'js1_4/Functions/function-001': [FAIL_OK],
297
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000298 # toPrecision argument restricted to range 1..21 in JSC/V8 and ECMA-262
299 'js1_5/Regress/regress-452346': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000300
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000301 # Fail because it calls builtins as functions and do not expect the
302 # builtin to have undefined as the receiver.
303 'ecma/String/15.5.4.6-2': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000304
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000305 # Fail because it expects String.prototype.split to distinguish whether
306 # separator was undefined or not passed at all.
307 'ecma/String/15.5.4.8-2': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000308
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000309 # Fail because of toLowerCase and toUpperCase conversion.
310 'ecma/String/15.5.4.11-2': [FAIL_OK],
311 'ecma/String/15.5.4.11-5': [FAIL_OK],
312 'ecma/String/15.5.4.12-1': [FAIL_OK],
313 'ecma/String/15.5.4.12-4': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000314
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000315 # This test uses an older version of the unicode standard that fails
316 # us because we correctly convert the armenian small ligature ech-yiwn
317 # to the two upper-case characters ECH and YIWN, whereas the older
318 # unicode version converts it to itself.
319 'ecma/String/15.5.4.12-5': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000320
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000321 # Creates a linked list of arrays until we run out of memory or timeout.
322 'js1_5/Regress/regress-312588': [SKIP],
Steve Block8defd9f2010-07-08 12:39:36 +0100323
Steve Blocka7e24c12009-10-30 11:49:00 +0000324
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000325 # Runs out of memory because it compiles huge functions.
326 'js1_5/Function/regress-338001': [FAIL_OK],
327 'js1_5/Function/regress-338121-01': [FAIL_OK],
328 'js1_5/Function/regress-338121-02': [FAIL_OK],
329 'js1_5/Function/regress-338121-03': [FAIL_OK],
330
331 # Expectes 'prototype' property of functions to be enumerable.
332 'js1_5/Function/10.1.6-01': [FAIL_OK],
333
334 #:=== RegExp:===
335 # We don't match the syntax error message of Mozilla for invalid
336 # RegExp flags.
337 'ecma_3/RegExp/15.10.4.1-6': [FAIL_OK],
338
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000339 # PCRE's match limit is reached. SpiderMonkey hangs on the first one,
340 # JSC returns true somehow. Maybe they up the match limit? There is
341 # an open V8 bug 676063 about this.
342 # TODO(yangguo): Hangs on complex regexp. Please investigate if this gives
343 # any useful coverage.
344 'ecma_3/RegExp/regress-330684': [SKIP],
Steve Blocka7e24c12009-10-30 11:49:00 +0000345
Steve Blocka7e24c12009-10-30 11:49:00 +0000346
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000347 # This test contains a regexp that runs exponentially long. Spidermonkey
348 # standalone will hang, though apparently inside Firefox it will trigger a
349 # long-running-script timeout. JSCRE passes by hitting the matchLimit and
350 # just pretending that an exhaustive search found no match.
351 # TODO(yangguo): Hangs on complex regexp. Please investigate if this gives
352 # any useful coverage.
353 'ecma_3/RegExp/regress-307456': [SKIP],
Steve Blocka7e24c12009-10-30 11:49:00 +0000354
Steve Blocka7e24c12009-10-30 11:49:00 +0000355
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000356 # We do not detect overflow in bounds for back references and {}
357 # quantifiers. Might fix by parsing numbers differently?
358 'js1_5/Regress/regress-230216-2': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000359
Steve Blocka7e24c12009-10-30 11:49:00 +0000360
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400361 # BUG(v8:3767)
362 'js1_5/Regress/regress-280769-2': [PASS, ['arch == arm64', SKIP]],
363
364 # Regexps too big.
365 'js1_5/Regress/regress-280769-1': [SKIP],
366 'js1_5/Regress/regress-280769-5': [SKIP],
Steve Blocka7e24c12009-10-30 11:49:00 +0000367
Steve Blocka7e24c12009-10-30 11:49:00 +0000368
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000369 # We do not support static RegExp.multiline - should we?.
370 'js1_2/regexp/RegExp_multiline': [FAIL_OK],
371 'js1_2/regexp/RegExp_multiline_as_array': [FAIL_OK],
372 'js1_2/regexp/beginLine': [FAIL_OK],
373 'js1_2/regexp/endLine': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000374
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000375 # We no longer let calls to test and exec with no argument implicitly
376 # use the previous input.
377 'js1_2/regexp/RegExp_input': [FAIL_OK],
378 'js1_2/regexp/RegExp_input_as_array': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000379
380
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000381 # To be compatible with safari typeof a regexp yields 'function';
382 # in firefox it yields 'object'.
383 'js1_2/function/regexparg-1': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000384
385
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000386 # Date trouble?
387 'js1_5/Date/regress-301738-02': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000388
Ben Murdoch3ef787d2012-04-12 10:51:47 +0100389
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000390 # This test fails for all browsers on in the CET timezone.
391 'ecma/Date/15.9.5.35-1': [PASS, FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000392
Steve Blocka7e24c12009-10-30 11:49:00 +0000393
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000394 # Spidermonkey allows stuff in parenthesis directly after the minutes
395 # in a date. JSC does not, so we don't either.
396 'js1_5/Date/regress-309925-02': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000397
Steve Blocka7e24c12009-10-30 11:49:00 +0000398
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000399 # Print string after deleting array element?
400 'js1_5/Expressions/regress-96526-delelem': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000401
Steve Blocka7e24c12009-10-30 11:49:00 +0000402
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000403 # Stack overflows should be InternalError: too much recursion?
404 'js1_5/Regress/regress-234389': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000405
Steve Blocka7e24c12009-10-30 11:49:00 +0000406
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000407 # This may very well be a bogus test. I'm not sure yet.
408 'js1_5/Regress/regress-320119': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000409
Steve Blocka7e24c12009-10-30 11:49:00 +0000410
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000411 # No support for toSource().
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000412 'js1_5/Regress/regress-313967-01': [FAIL_OK],
413 'js1_5/Regress/regress-313967-02': [FAIL_OK],
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400414 'js1_5/extensions/regress-459606': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000415
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000416 # This fails because we don't have stack space for Function.prototype.apply
417 # with very large numbers of arguments. The test uses 2^24 arguments.
418 'js1_5/Array/regress-350256-03': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000419
420
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000421 # Extra arguments not handled properly in String.prototype.match
422 'js1_5/Regress/regress-179524': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000423
424
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000425 # Uncategorized failures. Please help categorize (or fix) these failures.
426 'js1_5/Regress/regress-172699': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000427
Steve Blocka7e24c12009-10-30 11:49:00 +0000428
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000429 # Assumes that the prototype of a function is enumerable. Non-ECMA,
430 # see section 15.3.3.1, page 86.
431 'ecma/GlobalObject/15.1.2.2-1': [FAIL_OK],
432 'ecma/GlobalObject/15.1.2.3-1': [FAIL_OK],
433 'ecma/GlobalObject/15.1.2.4': [FAIL_OK],
434 'ecma/GlobalObject/15.1.2.5-1': [FAIL_OK],
435 'ecma/GlobalObject/15.1.2.6': [FAIL_OK],
436 'ecma/GlobalObject/15.1.2.7': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000437
Steve Blocka7e24c12009-10-30 11:49:00 +0000438
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000439 # Leading zero no longer signal octal numbers (ECMA-262 Annex E 15.1.2.2).
440 'ecma/GlobalObject/15.1.2.2-2': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000441
Steve Blocka7e24c12009-10-30 11:49:00 +0000442
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000443 # Tests that rely on specific details of function decompilation or
444 # print strings for errors. Non-ECMA behavior.
445 'js1_2/function/tostring-2': [FAIL_OK],
446 'js1_2/Objects/toString-001': [FAIL_OK],
447 'js1_5/LexicalConventions/regress-469940': [FAIL_OK],
448 'js1_5/Exceptions/regress-332472': [FAIL_OK],
449 'js1_5/Regress/regress-173067': [FAIL_OK],
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000450 'js1_5/Regress/regress-328664': [FAIL_OK],
451 'js1_5/Regress/regress-252892': [FAIL_OK],
452 'js1_5/Regress/regress-352208': [FAIL_OK],
453 'ecma_3/Array/15.4.5.1-01': [FAIL_OK],
454 'ecma_3/Array/regress-387501': [FAIL_OK],
455 'ecma_3/LexicalConventions/7.9.1': [FAIL_OK],
456 'ecma_3/RegExp/regress-375711': [FAIL_OK],
457 'ecma_3/Unicode/regress-352044-01': [FAIL_OK],
458 'ecma_3/extensions/regress-274152': [FAIL_OK],
459 'js1_5/Regress/regress-372364': [FAIL_OK],
460 'js1_5/Regress/regress-420919': [FAIL_OK],
461 'js1_5/Regress/regress-422348': [FAIL_OK],
462 'js1_5/Regress/regress-410852': [FAIL_OK],
463 'ecma_3/RegExp/regress-375715-04': [FAIL_OK],
464 'js1_5/decompilation/regress-456964-01': [FAIL_OK],
465 'js1_5/decompilation/regress-437288-02': [FAIL_OK],
466 'js1_5/decompilation/regress-457824': [FAIL_OK],
467 'js1_5/decompilation/regress-460116-01': [FAIL_OK],
468 'js1_5/decompilation/regress-460116-02': [FAIL_OK],
469 'js1_5/decompilation/regress-460501': [FAIL_OK],
470 'js1_5/decompilation/regress-460116-03': [FAIL_OK],
471 'js1_5/decompilation/regress-461110': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000472
Steve Blocka7e24c12009-10-30 11:49:00 +0000473
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000474 # Tests that use uneval. Non-ECMA.
475 'js1_5/GC/regress-418128': [FAIL_OK],
476 'js1_5/extensions/regress-465276': [FAIL_OK],
477 'js1_5/Error/regress-465377': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000478
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000479 # Tests that use the watch method. Non-ECMA.
480 'js1_5/extensions/regress-435345-01': [FAIL_OK],
481 'js1_5/extensions/regress-455413': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000482
483
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000484 # Uses Mozilla-specific QName, XML, XMLList and Iterator.
485 'js1_5/Regress/regress-407323': [FAIL_OK],
486 'js1_5/Regress/regress-407957': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000487
Steve Blocka7e24c12009-10-30 11:49:00 +0000488
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000489 # Relies on JavaScript 1.2 / 1.3 deprecated features.
490 'js1_2/function/String': [FAIL_OK],
491 'js1_2/operator/equality': [FAIL_OK],
492 'js1_2/version120/boolean-001': [FAIL_OK],
493 'js1_2/String/concat': [FAIL_OK],
494 'js1_2/function/Function_object': [FAIL_OK],
495 'js1_2/function/tostring-1': [FAIL_OK],
496 'js1_2/version120/regress-99663': [FAIL_OK],
497 'js1_2/regexp/RegExp_lastIndex': [FAIL_OK],
498 'js1_2/regexp/string_split': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000499
500
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000501 # RegExps are not callable.
502 'js1_2/regexp/simple_form': [FAIL_OK],
503 'js1_2/regexp/regress-6359': [FAIL_OK],
504 'js1_2/regexp/regress-9141': [FAIL_OK],
505 'js1_5/Regress/regress-224956': [FAIL_OK],
506 'js1_5/Regress/regress-325925': [FAIL_OK],
507 'ecma_2/RegExp/regress-001': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000508
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000509 # We do not check for bad surrogate pairs when quoting strings.
510 'js1_5/Regress/regress-315974': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000511
Steve Blocka7e24c12009-10-30 11:49:00 +0000512
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000513 # Use unsupported "watch".
514 'js1_5/Regress/regress-213482': [FAIL_OK],
515 'js1_5/Regress/regress-240577': [FAIL_OK],
516 'js1_5/Regress/regress-355344': [FAIL_OK],
517 'js1_5/Object/regress-362872-01': [FAIL_OK],
518 'js1_5/Object/regress-362872-02': [FAIL_OK],
519 'js1_5/Regress/regress-361467': [FAIL_OK],
520 'js1_5/Regress/regress-385393-06': [FAIL_OK],
521 'js1_5/Regress/regress-506567': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000522
Ben Murdoch3fb3ca82011-12-02 17:19:32 +0000523
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000524 # Use special Mozilla getter/setter syntax
525 'js1_5/Regress/regress-354924': [FAIL_OK],
526 'js1_5/Regress/regress-355341': [FAIL_OK],
527 'js1_5/GC/regress-316885-01': [FAIL_OK],
528 'js1_5/GetSet/getset-002': [FAIL_OK],
529 'js1_5/GetSet/regress-353264': [FAIL_OK],
530 'js1_5/Regress/regress-361617': [FAIL_OK],
531 'js1_5/Regress/regress-362583': [FAIL_OK],
532 'js1_5/extensions/regress-356378': [FAIL_OK],
533 'js1_5/extensions/regress-452178': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000534
535
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000536 # Requires Mozilla-specific strict mode or options() function.
537 'ecma_3/Object/8.6.1-01': [FAIL_OK],
538 'js1_5/Exceptions/regress-315147': [FAIL_OK],
539 'js1_5/Regress/regress-106244': [FAIL_OK],
540 'js1_5/Regress/regress-317533': [FAIL_OK],
541 'js1_5/Regress/regress-323314-1': [FAIL_OK],
542 'js1_5/Regress/regress-352197': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000543
544
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000545 # Equivalent to assert(false).
546 'ecma_2/RegExp/exec-001': [FAIL_OK],
547 'ecma_2/String/replace-001': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000548
549
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000550 # We do not strip unicode format control characters. This is really
551 # required for working with non-latin character sets. We match JSC
552 # and IE here. Firefox matches the spec (section 7.1).
553 'ecma_3/Unicode/uc-001': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000554
555
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000556 # A non-breaking space doesn't match \s in a regular expression. This
557 # behaviour matches JSC. All the VMs have different behaviours in which
558 # characters match \s so we do the same as JSC until they change.
559 'ecma_3/Unicode/uc-002': [PASS, FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000560
561
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000562 # String.prototype.split on empty strings always returns an array
563 # with one element (as specified in ECMA-262).
564 'js1_2/Array/array_split_1': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000565
566
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000567 # The concat() method is defined in Array.prototype; not Array.
568 'js1_5/Array/regress-313153': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000569
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000570 # The join() method is defined on Array.prototype; not Array.
571 'js1_5/Array/regress-474529': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000572
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000573 # The lastIndexOf() method is defined on Array.prototype, not Array.
574 'ecma_3/Array/15.5.4.8-01': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000575
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000576 # Properties fileName, and lineNumber of Error instances are
577 # not supported. Mozilla specific extension.
578 'js1_5/Exceptions/errstack-001': [FAIL_OK],
579 'js1_5/Exceptions/regress-257751': [FAIL_OK],
580 'js1_5/Regress/regress-119719': [FAIL_OK],
581 'js1_5/Regress/regress-167328': [FAIL_OK],
582 'js1_5/Regress/regress-243869': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000583
Steve Blocka7e24c12009-10-30 11:49:00 +0000584
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000585 # Unsupported import/export and <xml> literals. Mozilla extensions.
586 'js1_5/Regress/regress-249211': [FAIL_OK],
587 'js1_5/Regress/regress-309242': [FAIL_OK],
588 'js1_5/Regress/regress-350692': [FAIL_OK],
589 'js1_5/extensions/regress-421621': [FAIL_OK],
590 'js1_5/extensions/regress-432075': [FAIL_OK],
Steve Block8defd9f2010-07-08 12:39:36 +0100591
Steve Blocka7e24c12009-10-30 11:49:00 +0000592
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000593 # The length of Error functions is 1 not 3.
594 'js1_5/Exceptions/regress-123002': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000595
596
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000597 # Reserved keywords as function names, etc is not supported.
598 'js1_5/LexicalConventions/regress-343675': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000599
600
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000601 # Tests if future reserved keywords of ECMA-262, edition 3 emit warnings. We
602 # implement the edition 5 behaviour and fail on use of edition 5 future
603 # reserved keywords as identifiers.
604 'js1_5/Regress/regress-240317': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000605
606
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000607 # Unsupported list comprehensions: [ ... for ... ] and for each.
608 'js1_5/Regress/regress-352009': [FAIL_OK],
609 'js1_5/Regress/regress-349648': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000610
611
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000612 # Expects top level arguments (passed on command line?) to be
613 # the empty string?
614 'js1_5/Regress/regress-336100': [FAIL_OK],
Ben Murdoch3fb3ca82011-12-02 17:19:32 +0000615
616
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000617 # This test fails due to http://code.google.com/p/v8/issues/detail?id=187
618 # Failure to clear captures when a lookahead is unwound.
619 'ecma_3/RegExp/15.10.2-1': [PASS, FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000620
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000621 # This test requires a failure if we try to compile a function with more
622 # than 65536 arguments. This seems to be a Mozilla restriction.
623 'js1_5/Regress/regress-290575': [PASS, FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000624
625
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000626 # Function is deletable in V8 and JSC.
627 'js1_5/Regress/regress-352604': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000628
629
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000630 # Cannot call strings as functions. Expects not to crash.
631 'js1_5/Regress/regress-417893': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000632
633
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000634 # Illegal escape-sequences in string literals. Has already been fixed
635 # by most engines (i.e. V8, JSC, Opera and FF).
636 'ecma/Array/15.4.5.1-1': [FAIL_OK],
637 'ecma/LexicalConventions/7.7.4': [FAIL_OK],
638 'ecma_2/RegExp/hex-001': [FAIL_OK],
639 'js1_2/regexp/hexadecimal': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000640
641
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000642 # The source field of RegExp objects is properly escaped. We match JSC.
643 'ecma_2/RegExp/constructor-001': [FAIL_OK],
644 'ecma_2/RegExp/function-001': [FAIL_OK],
645 'ecma_2/RegExp/properties-001': [FAIL_OK],
Steve Block8defd9f2010-07-08 12:39:36 +0100646
Steve Blocka7e24c12009-10-30 11:49:00 +0000647
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000648 # Negative hexadecimal literals are parsed as NaN. This test is outdated.
649 'ecma/TypeConversion/9.3.1-3': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000650
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000651 ##################### FAILING TESTS #####################
Steve Blocka7e24c12009-10-30 11:49:00 +0000652
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000653 # This section is for tests that fail in V8 and pass in JSC.
654 # Tests that fail in both V8 and JSC belong in the FAIL_OK
655 # category.
Steve Blocka7e24c12009-10-30 11:49:00 +0000656
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000657 # This fails because we don't handle Function.prototype.apply with very large
658 # numbers of arguments (depending on max stack size). 350256-02 needs more
659 # than 4Mbytes of stack space.
660 'js1_5/Array/regress-350256-02': [FAIL],
Steve Blocka7e24c12009-10-30 11:49:00 +0000661
Steve Blocka7e24c12009-10-30 11:49:00 +0000662
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000663 # This test seems designed to fail (it produces a 700Mbyte string).
664 # We fail on out of memory. The important thing is not to crash.
665 'js1_5/Regress/regress-303213': [FAIL, ['mode == debug', TIMEOUT, NO_VARIANTS]],
Steve Blocka7e24c12009-10-30 11:49:00 +0000666
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000667 # This test fails since we now throw in String.prototype.match when apply
668 # is given null or undefined as this argument (and so does firefox nightly).
669 'js1_5/Regress/regress-295052': [FAIL],
Steve Blocka7e24c12009-10-30 11:49:00 +0000670
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000671 # Bug 1202592: New ecma_3/String/15.5.4.11 is failing.
672 'ecma_3/String/15.5.4.11': [FAIL],
Steve Blocka7e24c12009-10-30 11:49:00 +0000673
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000674 # Bug 1202597: New js1_5/Expressions/regress-394673 is failing.
675 # Marked as: Will not fix. V8 throws an acceptable RangeError.
676 'js1_5/Expressions/regress-394673': [FAIL],
Steve Block8defd9f2010-07-08 12:39:36 +0100677
Steve Block8defd9f2010-07-08 12:39:36 +0100678
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000679 # Bug 762: http://code.google.com/p/v8/issues/detail?id=762
680 # We do not correctly handle assignments within "with"
681 'ecma_3/Statements/12.10-01': [FAIL],
Ben Murdoch3ef787d2012-04-12 10:51:47 +0100682
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000683 ##################### MOZILLA EXTENSION TESTS #####################
Steve Blocka7e24c12009-10-30 11:49:00 +0000684
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000685 'ecma/extensions/15.1.2.1-1': [FAIL_OK],
686 'ecma_3/extensions/regress-385393-03': [FAIL_OK],
687 'ecma_3/extensions/7.9.1': [FAIL_OK],
688 'js1_5/extensions/catchguard-001': [FAIL_OK],
689 'js1_5/extensions/catchguard-002': [FAIL_OK],
690 'js1_5/extensions/catchguard-003': [FAIL_OK],
691 'js1_5/extensions/getset-001': [FAIL_OK],
692 'js1_5/extensions/getset-003': [FAIL_OK],
693 'js1_5/extensions/no-such-method': [FAIL_OK],
694 'js1_5/extensions/regress-104077': [FAIL_OK],
695 'js1_5/extensions/regress-226078': [FAIL_OK],
696 'js1_5/extensions/regress-303277': [FAIL_OK],
697 'js1_5/extensions/regress-304897': [FAIL_OK],
698 'js1_5/extensions/regress-306738': [FAIL_OK],
699 'js1_5/extensions/regress-311161': [FAIL_OK],
700 'js1_5/extensions/regress-311583': [FAIL_OK],
701 'js1_5/extensions/regress-311792-01': [FAIL_OK],
702 'js1_5/extensions/regress-312278': [FAIL_OK],
703 'js1_5/extensions/regress-313630': [FAIL_OK],
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000704 'js1_5/extensions/regress-313803': [FAIL_OK],
705 'js1_5/extensions/regress-314874': [FAIL_OK],
706 'js1_5/extensions/regress-322957': [FAIL_OK],
707 'js1_5/extensions/regress-328556': [FAIL_OK],
708 'js1_5/extensions/regress-333541': [FAIL_OK],
709 'js1_5/extensions/regress-335700': [FAIL_OK],
710 'js1_5/extensions/regress-336409-1': [FAIL_OK],
711 'js1_5/extensions/regress-336409-2': [FAIL_OK],
712 'js1_5/extensions/regress-336410-2': [FAIL_OK],
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000713 'js1_5/extensions/regress-346494-01': [FAIL_OK],
714 'js1_5/extensions/regress-346494': [FAIL_OK],
715 'js1_5/extensions/regress-347306-02': [FAIL_OK],
716 'js1_5/extensions/regress-348986': [FAIL_OK],
717 'js1_5/extensions/regress-349616': [FAIL_OK],
718 'js1_5/extensions/regress-350312-02': [FAIL_OK],
719 'js1_5/extensions/regress-350312-03': [FAIL_OK],
720 'js1_5/extensions/regress-350531': [FAIL_OK],
721 'js1_5/extensions/regress-351102-01': [FAIL_OK],
722 'js1_5/extensions/regress-351102-02': [FAIL_OK],
723 'js1_5/extensions/regress-351102-06': [FAIL_OK],
724 'js1_5/extensions/regress-351973': [FAIL_OK],
725 'js1_5/extensions/regress-352060': [FAIL_OK],
726 'js1_5/extensions/regress-352094': [FAIL_OK],
727 'js1_5/extensions/regress-352261': [FAIL_OK],
728 'js1_5/extensions/regress-352281': [FAIL_OK],
729 'js1_5/extensions/regress-352455': [FAIL_OK],
730 'js1_5/extensions/regress-352604': [FAIL_OK],
731 'js1_5/extensions/regress-353214': [FAIL_OK],
732 'js1_5/extensions/regress-355339': [FAIL_OK],
733 'js1_5/extensions/regress-355497': [FAIL_OK],
734 'js1_5/extensions/regress-355622': [FAIL_OK],
735 'js1_5/extensions/regress-355736': [FAIL_OK],
736 'js1_5/extensions/regress-356085': [FAIL_OK],
737 'js1_5/extensions/regress-356106': [FAIL_OK],
738 'js1_5/extensions/regress-358594-01': [FAIL_OK],
739 'js1_5/extensions/regress-358594-02': [FAIL_OK],
740 'js1_5/extensions/regress-358594-03': [FAIL_OK],
741 'js1_5/extensions/regress-358594-04': [FAIL_OK],
742 'js1_5/extensions/regress-358594-05': [FAIL_OK],
743 'js1_5/extensions/regress-358594-06': [FAIL_OK],
744 'js1_5/extensions/regress-361346': [FAIL_OK],
745 'js1_5/extensions/regress-361360': [FAIL_OK],
746 'js1_5/extensions/regress-361558': [FAIL_OK],
747 'js1_5/extensions/regress-361571': [FAIL_OK],
748 'js1_5/extensions/regress-361856': [FAIL_OK],
749 'js1_5/extensions/regress-361964': [FAIL_OK],
750 'js1_5/extensions/regress-363988': [FAIL_OK],
751 'js1_5/extensions/regress-365869': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000752
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000753 # Uses non ES5 compatible syntax for setter
754 'js1_5/extensions/regress-367501-01': [FAIL_OK],
755 'js1_5/extensions/regress-367501-02': [FAIL_OK],
756 'js1_5/extensions/regress-367501-03': [FAIL_OK],
757 'js1_5/extensions/regress-367501-04': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000758
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000759 'js1_5/extensions/regress-367630': [FAIL_OK],
760 'js1_5/extensions/regress-367923': [FAIL_OK],
761 'js1_5/extensions/regress-368859': [FAIL_OK],
762 'js1_5/extensions/regress-369696-01': [FAIL_OK],
763 'js1_5/extensions/regress-369696-02': [FAIL_OK],
764 'js1_5/extensions/regress-369696-03': [FAIL_OK],
765 'js1_5/extensions/regress-374589': [FAIL_OK],
766 'js1_5/extensions/regress-375801': [FAIL_OK],
767 'js1_5/extensions/regress-376052': [FAIL_OK],
768 'js1_5/extensions/regress-379523': [FAIL_OK],
769 'js1_5/extensions/regress-380581': [FAIL_OK],
770 'js1_5/extensions/regress-380831': [FAIL_OK],
771 'js1_5/extensions/regress-381205': [FAIL_OK],
772 'js1_5/extensions/regress-381211': [FAIL_OK],
773 'js1_5/extensions/regress-381304': [FAIL_OK],
774 'js1_5/extensions/regress-382509': [FAIL_OK],
775 'js1_5/extensions/regress-383965': [FAIL_OK],
776 'js1_5/extensions/regress-384680': [FAIL_OK],
777 'js1_5/extensions/regress-385393-09': [FAIL_OK],
778 'js1_5/extensions/regress-407501': [FAIL_OK],
779 'js1_5/extensions/regress-418730': [FAIL_OK],
780 'js1_5/extensions/regress-420612': [FAIL_OK],
781 'js1_5/extensions/regress-420869-01': [FAIL_OK],
782 'js1_5/extensions/regress-424257': [FAIL_OK],
783 'js1_5/extensions/regress-424683-01': [FAIL_OK],
784 'js1_5/extensions/regress-429739': [FAIL_OK],
785 'js1_5/extensions/regress-454142': [FAIL_OK],
786 'js1_5/extensions/regress-465145': [FAIL_OK],
787 'js1_5/extensions/regress-469625': [FAIL_OK],
788 'js1_5/extensions/regress-472787': [FAIL_OK],
789 'js1_5/extensions/regress-44009': [FAIL_OK],
790 'js1_5/extensions/regress-50447-1': [FAIL_OK],
791 'js1_5/extensions/regress-50447': [FAIL_OK],
792 'js1_5/extensions/regress-90596-001': [FAIL_OK],
793 'js1_5/extensions/regress-90596-002': [FAIL_OK],
794 'js1_5/extensions/regress-96284-001': [FAIL_OK],
795 'js1_5/extensions/regress-96284-002': [FAIL_OK],
796 'js1_5/extensions/toLocaleFormat-01': [FAIL_OK],
797 'js1_5/extensions/toLocaleFormat-02': [FAIL_OK],
Steve Blocka7e24c12009-10-30 11:49:00 +0000798
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000799 # TODO(yangguo): Both tests have complex regular expressions (nested (.*)*
800 # and the like). Please investigate if these tests provide any coverage.
801 # Furthermore, an exception is expected which is not thrown by v8.
802 'js1_5/extensions/regress-330569': [SKIP],
803 'js1_5/extensions/regress-351448': [SKIP],
804 # In the 64-bit version, this test takes longer to run out of memory
805 # than it does in the 32-bit version when attempting to generate a huge
806 # error message in debug mode.
807 'js1_5/extensions/regress-336410-1': [FAIL_OK, ['mode == debug and arch == x64', TIMEOUT, NO_VARIANTS]],
Steve Blocka7e24c12009-10-30 11:49:00 +0000808
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000809 ##################### DECOMPILATION TESTS #####################
Steve Blocka7e24c12009-10-30 11:49:00 +0000810
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000811 # We don't really about the outcome of running the
812 # decompilation tests as long as they don't crash or
813 # timeout.
Steve Blocka7e24c12009-10-30 11:49:00 +0000814
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000815 'js1_5/decompilation/regress-344120': [PASS, FAIL],
816 'js1_5/decompilation/regress-346892': [PASS, FAIL],
817 'js1_5/decompilation/regress-346902': [PASS, FAIL],
818 'js1_5/decompilation/regress-346904': [PASS, FAIL],
819 'js1_5/decompilation/regress-346915': [PASS, FAIL],
820 'js1_5/decompilation/regress-349484': [PASS, FAIL],
821 'js1_5/decompilation/regress-349489': [PASS, FAIL],
822 'js1_5/decompilation/regress-349491': [PASS, FAIL],
823 'js1_5/decompilation/regress-349596': [PASS, FAIL],
824 'js1_5/decompilation/regress-349650': [PASS, FAIL],
825 'js1_5/decompilation/regress-349663': [PASS, FAIL],
826 'js1_5/decompilation/regress-350242': [PASS, FAIL],
827 'js1_5/decompilation/regress-350263': [PASS, FAIL],
828 'js1_5/decompilation/regress-350271': [PASS, FAIL],
829 'js1_5/decompilation/regress-350666': [PASS, FAIL],
830 'js1_5/decompilation/regress-350670': [PASS, FAIL],
831 'js1_5/decompilation/regress-351104': [PASS, FAIL],
832 'js1_5/decompilation/regress-351219': [PASS, FAIL],
833 'js1_5/decompilation/regress-351336': [PASS, FAIL],
834 'js1_5/decompilation/regress-351597': [PASS, FAIL],
835 'js1_5/decompilation/regress-351625': [PASS, FAIL],
836 'js1_5/decompilation/regress-351626': [PASS, FAIL],
837 'js1_5/decompilation/regress-351693': [PASS, FAIL],
838 'js1_5/decompilation/regress-351705': [PASS, FAIL],
839 'js1_5/decompilation/regress-351793': [PASS, FAIL],
840 'js1_5/decompilation/regress-352013': [PASS, FAIL],
841 'js1_5/decompilation/regress-352022': [PASS, FAIL],
842 'js1_5/decompilation/regress-352073': [PASS, FAIL],
843 'js1_5/decompilation/regress-352202': [PASS, FAIL],
844 'js1_5/decompilation/regress-352312': [PASS, FAIL],
845 'js1_5/decompilation/regress-352360': [PASS, FAIL],
846 'js1_5/decompilation/regress-352375': [PASS, FAIL],
847 'js1_5/decompilation/regress-352453': [PASS, FAIL],
848 'js1_5/decompilation/regress-352649': [PASS, FAIL],
849 'js1_5/decompilation/regress-352873-01': [PASS, FAIL],
850 'js1_5/decompilation/regress-352873-02': [PASS, FAIL],
851 'js1_5/decompilation/regress-353000': [PASS, FAIL],
852 'js1_5/decompilation/regress-353120': [PASS, FAIL],
853 'js1_5/decompilation/regress-353146': [PASS, FAIL],
854 'js1_5/decompilation/regress-354878': [PASS, FAIL],
855 'js1_5/decompilation/regress-354910': [PASS, FAIL],
856 'js1_5/decompilation/regress-355992': [PASS, FAIL],
857 'js1_5/decompilation/regress-356083': [PASS, FAIL],
858 'js1_5/decompilation/regress-356248': [PASS, FAIL],
859 'js1_5/decompilation/regress-371692': [PASS, FAIL],
860 'js1_5/decompilation/regress-373678': [PASS, FAIL],
861 'js1_5/decompilation/regress-375639': [PASS, FAIL],
862 'js1_5/decompilation/regress-375882': [PASS, FAIL],
863 'js1_5/decompilation/regress-376564': [PASS, FAIL],
864 'js1_5/decompilation/regress-383721': [PASS, FAIL],
865 'js1_5/decompilation/regress-406555': [PASS, FAIL],
866 'js1_5/decompilation/regress-460870': [PASS, FAIL],
867}], # ALWAYS
Steve Blocka7e24c12009-10-30 11:49:00 +0000868
869
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000870['no_i18n == True and mode == debug', {
871 # Tests too slow for no18n debug.
872 'ecma_3/Statements/regress-302439': [PASS, FAST_VARIANTS],
873 'js1_5/Regress/regress-98901': [SKIP],
874 'ecma_3/RegExp/perlstress-001': [PASS, FAST_VARIANTS],
875 'js1_5/extensions/regress-311161': [FAIL_OK, FAST_VARIANTS],
876}], # 'no_i18n == True and mode == debug'
877
878
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000879['arch == arm or arch == arm64', {
Ben Murdochb0fe1622011-05-05 13:52:32 +0100880
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000881 # BUG(3251229): Times out when running new crankshaft test script.
882 'ecma_3/RegExp/regress-311414': [SKIP],
883 'ecma/Date/15.9.5.8': [SKIP],
884 'ecma/Date/15.9.5.10-2': [SKIP],
885 'ecma/Date/15.9.5.11-2': [SKIP],
886 'ecma/Date/15.9.5.12-2': [SKIP],
887 'js1_5/Array/regress-99120-02': [SKIP],
888 'js1_5/extensions/regress-371636': [SKIP],
889 'js1_5/Regress/regress-203278-1': [SKIP],
890 'js1_5/Regress/regress-404755': [SKIP],
891 'js1_5/Regress/regress-451322': [SKIP],
Ben Murdochb0fe1622011-05-05 13:52:32 +0100892
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000893 # BUG(1040): Allow this test to timeout.
894 'js1_5/GC/regress-203278-2': [PASS, TIMEOUT, NO_VARIANTS],
895}], # 'arch == arm or arch == arm64'
Steve Block1e0659c2011-05-24 12:43:12 +0100896
Ben Murdochb0fe1622011-05-05 13:52:32 +0100897
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000898['arch == arm64', {
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000899 # BUG(v8:3503): Times out in debug mode.
900 'js1_5/Regress/regress-280769-2': [PASS, FAIL, ['mode == debug', SKIP]],
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400901 # BUG(v8:3716): Flaky failure.
902 'ecma/Date/15.9.5.26-1': [PASS, FAIL],
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000903}], # 'arch == arm64'
Ben Murdochb0fe1622011-05-05 13:52:32 +0100904
Steve Blocka7e24c12009-10-30 11:49:00 +0000905
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000906['arch == mipsel or arch == mips64el or arch == mips64', {
Steve Blocka7e24c12009-10-30 11:49:00 +0000907
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000908 # BUG(3251229): Times out when running new crankshaft test script.
909 'ecma_3/RegExp/regress-311414': [SKIP],
910 'ecma/Date/15.9.5.8': [SKIP],
911 'ecma/Date/15.9.5.10-2': [SKIP],
912 'ecma/Date/15.9.5.11-2': [SKIP],
913 'ecma/Date/15.9.5.12-2': [SKIP],
914 'js1_5/Array/regress-99120-02': [SKIP],
915 'js1_5/extensions/regress-371636': [SKIP],
916 'js1_5/Regress/regress-203278-1': [SKIP],
917 'js1_5/Regress/regress-404755': [SKIP],
918 'js1_5/Regress/regress-451322': [SKIP],
Ben Murdoch3ef787d2012-04-12 10:51:47 +0100919
Ben Murdoch3ef787d2012-04-12 10:51:47 +0100920
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000921 # BUG(1040): Allow this test to timeout.
922 'js1_5/GC/regress-203278-2': [PASS, TIMEOUT, NO_VARIANTS],
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000923}], # 'arch == mipsel or arch == mips64el or arch == mips64'
924
925['arch == mipsel and simulator_run == True', {
926 # Crashes due to C stack overflow.
927 'js1_5/extensions/regress-355497': [SKIP],
928}], # 'arch == mipsel and simulator_run == True'
Ben Murdoch3ef787d2012-04-12 10:51:47 +0100929
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400930['arch == mips64el and simulator_run == True', {
931 'js1_5/extensions/regress-355497': [FAIL_OK, 'Flags: --sim-stack-size=512'],
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000932}], # 'arch == mips64el and simulator_run == True'
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400933
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000934['arch == mips', {
Ben Murdoch3ef787d2012-04-12 10:51:47 +0100935
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000936 # BUG(3251229): Times out when running new crankshaft test script.
937 'ecma_3/RegExp/regress-311414': [SKIP],
938 'ecma/Date/15.9.5.8': [SKIP],
939 'ecma/Date/15.9.5.10-2': [SKIP],
940 'ecma/Date/15.9.5.11-2': [SKIP],
941 'ecma/Date/15.9.5.12-2': [SKIP],
942 'js1_5/Array/regress-99120-02': [SKIP],
943 'js1_5/extensions/regress-371636': [SKIP],
944 'js1_5/Regress/regress-203278-1': [SKIP],
945 'js1_5/Regress/regress-404755': [SKIP],
946 'js1_5/Regress/regress-451322': [SKIP],
Ben Murdoch3ef787d2012-04-12 10:51:47 +0100947
Ben Murdoch3ef787d2012-04-12 10:51:47 +0100948
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000949 # BUG(1040): Allow this test to timeout.
950 'js1_5/GC/regress-203278-2': [PASS, TIMEOUT, NO_VARIANTS],
951}], # 'arch == mips'
Ben Murdoch3ef787d2012-04-12 10:51:47 +0100952
Ben Murdoch4a90d5f2016-03-22 12:00:34 +0000953['arch == arm and simulator_run == True', {
954
955 #BUG(3837): Crashes due to C stack overflow.
956 'js1_5/extensions/regress-355497': [SKIP],
957}], # 'arch == arm and simulator_run == True'
958
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000959['arch == arm64 and simulator_run == True', {
Ben Murdoch3ef787d2012-04-12 10:51:47 +0100960
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000961 'js1_5/GC/regress-203278-2': [SKIP],
Ben Murdoch3ef787d2012-04-12 10:51:47 +0100962
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000963 # These tests time out in debug mode but pass in product mode
964 'js1_5/Regress/regress-360969-03': [SKIP],
965 'js1_5/Regress/regress-360969-04': [SKIP],
966 'js1_5/Regress/regress-360969-05': [SKIP],
967 'js1_5/Regress/regress-360969-06': [SKIP],
968 'js1_5/extensions/regress-365527': [SKIP],
969 'ecma/Date/15.9.5.10-2': [SKIP],
970 'js1_5/Regress/regress-416628': [SKIP],
971 'js1_5/extensions/regress-371636': [SKIP],
972 'ecma_3/RegExp/regress-330684': [SKIP],
973 'ecma_3/RegExp/regress-307456': [SKIP],
974 'js1_5/Regress/regress-303213': [SKIP],
975 'js1_5/extensions/regress-330569': [SKIP],
976 'js1_5/extensions/regress-351448': [SKIP],
977 'js1_5/extensions/regress-336410-1': [SKIP],
Emily Bernierd0a1eb72015-03-24 16:35:39 -0400978
979 #BUG(3152): Avoid C stack overflow.
980 'js1_5/extensions/regress-355497': [FAIL_OK, 'Flags: --sim-stack-size=512'],
Ben Murdochb8a8cc12014-11-26 15:28:44 +0000981}], # 'arch == arm64 and simulator_run == True'
982]