blob: 9793dc8318ca2b7c49ed79721029fa95e0c2d1a8 [file] [log] [blame]
sgjesse@chromium.orgb9d7da12009-08-05 08:38:10 +00001# Copyright 2009 the V8 project authors. All rights reserved.
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +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
ager@chromium.orgc27e4e72008-09-04 13:52:27 +000028# This file is up to date with respect to Mozilla's CVS repository as of
29# 2008-09-02. If new tests are added to Mozilla's CVS it may need to be
30# updated.
31
32# To get the mozilla tests:
33# cd /path/to/checkout/test/mozilla
34# rm -rf data
35# cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -D 2008-09-02 mozilla/js/tests
36# mv mozilla/js/tests data
37# rm -rf mozilla
38
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +000039# --------------------------------------------------------------------
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
45prefix mozilla
46def FAIL_OK = FAIL, OKAY
47
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +000048##################### SKIPPED TESTS #####################
49
50# This test checks that we behave properly in an out-of-memory
51# situation. The test fails in V8 with an exception and takes a long
52# time to do so.
53js1_5/Regress/regress-271716-n: SKIP
54
55
ager@chromium.orga74f0da2008-12-03 16:05:52 +000056# These tests are simply wrong (i.e., they do not test what they intend
57# to test).
58# In particular, these two compare numbers to NaN with != in the current
59# version of the Mozilla tests. This is *fixed* in a later version.
60# The tests should be re-enabled when switching to a new version.
61ecma_3/Date/15.9.3.2-1: SKIP
62js1_2/function/Number: SKIP
63
64
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +000065##################### SLOW TESTS #####################
66
67# This takes a long time to run (~100 seconds). It should only be run
68# by the really patient.
69js1_5/GC/regress-324278: SLOW
70
71# This takes a long time to run because our indexOf operation is
72# pretty slow - it causes a lot of GCs; see issue
73# #926379. We could consider marking this SKIP because it takes a
74# while to run to completion.
75js1_5/GC/regress-338653: SLOW
76
77# This test is designed to run until it runs out of memory. This takes
78# a very long time because it builds strings character by character
79# and compiles a lot of regular expressions. We could consider marking
80# this SKIP because it takes a while to run to completion.
81js1_5/GC/regress-346794: SLOW
82
83# Runs out of memory while trying to build huge string of 'x'
84# characters. This takes a long time to run (~32 seconds).
85js1_5/GC/regress-348532: SLOW
86
87
88##################### FLAKY TESTS #####################
89
90# These tests time out in debug mode but pass in product mode
ager@chromium.org5aa501c2009-06-23 07:57:28 +000091js1_5/Regress/regress-360969-03: PASS || TIMEOUT if $mode == debug
92js1_5/Regress/regress-360969-04: PASS || TIMEOUT if $mode == debug
93js1_5/Regress/regress-360969-05: PASS || TIMEOUT if $mode == debug
94js1_5/Regress/regress-360969-06: PASS || TIMEOUT if $mode == debug
95js1_5/extensions/regress-365527: PASS || TIMEOUT if $mode == debug
96
v8.team.kasperl727e9952008-09-02 14:56:44 +000097js1_5/Regress/regress-280769-3: PASS || FAIL if $mode == debug
98js1_5/Regress/regress-203278-1: PASS || FAIL if $mode == debug
99js1_5/GC/regress-203278-2: PASS || FAIL if $mode == debug
100js1_5/Regress/regress-244470: PASS || FAIL if $mode == debug
101ecma_3/RegExp/regress-209067: PASS || FAIL if $mode == debug
102js1_5/GC/regress-278725: PASS || FAIL if $mode == debug
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000103# http://b/issue?id=1206983
v8.team.kasperl727e9952008-09-02 14:56:44 +0000104js1_5/Regress/regress-367561-03: PASS || FAIL if $mode == debug
105ecma/Date/15.9.5.10-2: PASS || FAIL if $mode == debug
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000106
107# These tests create two Date objects just after each other and
108# expects them to match. Sometimes this happens on the border
109# between one second and the next.
110ecma/Date/15.9.2.1: PASS || FAIL
111ecma/Date/15.9.2.2-1: PASS || FAIL
112ecma/Date/15.9.2.2-2: PASS || FAIL
113ecma/Date/15.9.2.2-3: PASS || FAIL
114ecma/Date/15.9.2.2-4: PASS || FAIL
115ecma/Date/15.9.2.2-5: PASS || FAIL
116ecma/Date/15.9.2.2-6: PASS || FAIL
117
118# 1026139: These date tests fail on arm
119ecma/Date/15.9.5.29-1: PASS || ($ARM && FAIL)
120ecma/Date/15.9.5.34-1: PASS || ($ARM && FAIL)
121ecma/Date/15.9.5.28-1: PASS || ($ARM && FAIL)
122
123# 1050186: Arm vm is broken; probably unrelated to dates
124ecma/Array/15.4.4.5-3: PASS || ($ARM && FAIL)
125ecma/Date/15.9.5.22-2: PASS || ($ARM && FAIL)
126
ager@chromium.orga1645e22009-09-09 19:27:10 +0000127# Flaky test that fails due to what appears to be a bug in the test.
128# Occurs depending on current time
129ecma/Date/15.9.5.8: PASS || FAIL
130
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000131# Severely brain-damaged test. Access to local variables must not
132# be more than 2.5 times faster than access to global variables? WTF?
133js1_5/Regress/regress-169559: PASS || FAIL
134
135
136# Test that rely on specific timezone (not working in Denmark).
137js1_5/Regress/regress-58116: PASS || FAIL
138
139
140# Flaky random() test. Tests the distribution of calls to Math.random().
141js1_5/Regress/regress-211590: PASS || FAIL
142
143
144# Flaky tests; expect BigO-order computations to yield 1, but the code
145# cannot handle outliers. See bug #925864.
146ecma_3/RegExp/regress-311414: PASS || FAIL
147ecma_3/RegExp/regress-289669: PASS || FAIL
148js1_5/String/regress-314890: PASS || FAIL
149js1_5/String/regress-56940-01: PASS || FAIL
150js1_5/String/regress-56940-02: PASS || FAIL
151js1_5/String/regress-157334-01: PASS || FAIL
152js1_5/String/regress-322772: PASS || FAIL
153js1_5/Array/regress-99120-01: PASS || FAIL
154js1_5/Array/regress-99120-02: PASS || FAIL
155js1_5/Regress/regress-347306-01: PASS || FAIL
ager@chromium.org5aa501c2009-06-23 07:57:28 +0000156js1_5/Regress/regress-416628: PASS || FAIL || TIMEOUT if $mode == debug
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000157
158
159# The following two tests assume that daylight savings time starts first Sunday
160# in April. This is not true when executing the tests outside California!
161# In Denmark the adjustment starts one week earlier!.
162# Tests based on shell that use dates in this gap are flaky.
163ecma/Date/15.9.5.10-1: PASS || FAIL
164ecma/Date/15.9.5.12-1: PASS || FAIL
165ecma/Date/15.9.5.14: PASS || FAIL
166ecma/Date/15.9.5.34-1: PASS || FAIL
167
168
169# These tests sometimes pass (in particular on Windows). They build up
170# a lot of stuff on the stack, which normally causes a stack overflow,
171# but sometimes it makes it through?
172js1_5/Regress/regress-290575: PASS || FAIL
173js1_5/Regress/regress-98901: PASS || FAIL
174
175
176# Tests that sorting arrays of ints is less than 3 times as fast
177# as sorting arrays of strings.
ager@chromium.orgab99eea2009-08-25 07:05:41 +0000178js1_5/extensions/regress-371636: PASS || FAIL || TIMEOUT if $mode == debug
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000179
180
ager@chromium.org9258b6b2008-09-11 09:11:10 +0000181# Tests depend on GC timings. Inherently flaky.
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000182js1_5/GC/regress-383269-01: PASS || FAIL
ager@chromium.org9258b6b2008-09-11 09:11:10 +0000183js1_5/GC/regress-383269-02: PASS || FAIL
184js1_5/Regress/regress-404755: PASS || FAIL
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000185
186
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +0000187# Test that depends on timer resolution. Fails every now and then
188# if we're unlucky enough to get a context switch at a bad time.
189js1_5/extensions/regress-363258: PASS || FAIL
190
191
192
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000193##################### INCOMPATIBLE TESTS #####################
194
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000195# This section is for tests that fail in both V8 and JSC. Thus they
196# have been determined to be incompatible between Mozilla and V8/JSC.
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000197
198# Fail because of toLowerCase and toUpperCase conversion.
199ecma/String/15.5.4.11-2: FAIL_OK
200ecma/String/15.5.4.11-5: FAIL_OK
201ecma/String/15.5.4.12-1: FAIL_OK
202ecma/String/15.5.4.12-4: FAIL_OK
203
204# This test uses an older version of the unicode standard that fails
205# us because we correctly convert the armenian small ligature ech-yiwn
206# to the two upper-case characters ECH and YIWN, whereas the older
207# unicode version converts it to itself.
208ecma/String/15.5.4.12-5: FAIL_OK
209
kasperl@chromium.org9bbf9682008-10-30 11:53:07 +0000210# Creates a linked list of arrays until we run out of memory or timeout.
ager@chromium.org5aa501c2009-06-23 07:57:28 +0000211js1_5/Regress/regress-312588: FAIL || TIMEOUT
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000212
213
214# Runs out of memory because it compiles huge functions.
215js1_5/Function/regress-338001: FAIL_OK
216js1_5/Function/regress-338121-01: FAIL_OK
217js1_5/Function/regress-338121-02: FAIL_OK
218js1_5/Function/regress-338121-03: FAIL_OK
219
220
221# Length of objects whose prototype chain includes a function
222ecma_3/Function/regress-313570: FAIL_OK
223
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000224# toPrecision argument restricted to range 1..21 in JSC/V8
225js1_5/Regress/regress-452346: FAIL_OK
226
227# Array.prototype.slice with zero arguments return undefined in JSC/V8,
228# empty array in Spider/TraceMonkey.
229js1_5/Array/regress-451483: FAIL_OK
230
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000231
232#:=== RegExp:===
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000233# To be compatible with JSC we silently ignore flags that do not make
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000234# sense. This test expects us to throw exceptions.
235ecma_3/RegExp/regress-57631: FAIL_OK
236
237# PCRE doesn't allow subpattern nesting deeper than 200, this tests
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000238# depth 500. JSC detects the case, and return null from the match,
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000239# and passes this test (the test doesn't check for a correct return
240# value).
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000241ecma_3/RegExp/regress-119909: PASS || FAIL_OK
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000242
243
244# Difference in the way capturing subpatterns work. In JS, when the
245# 'minimum repeat count' is reached, the empty string must not match.
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000246# In this case, we are similar but not identical to JSC. Hard to
247# support the JS behavior with PCRE, so maybe emulate JSC?
ager@chromium.orgddb913d2009-01-27 10:01:48 +0000248ecma_3/RegExp/regress-209919: PASS || FAIL_OK
249js1_5/extensions/regress-459606: PASS || FAIL_OK
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000250
251
252# PCRE's match limit is reached. SpiderMonkey hangs on the first one,
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000253# JSC returns true somehow. Maybe they up the match limit? There is
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000254# an open V8 bug 676063 about this.
ager@chromium.org5aa501c2009-06-23 07:57:28 +0000255ecma_3/RegExp/regress-330684: TIMEOUT
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000256
257
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000258# This test contains a regexp that runs exponentially long. Spidermonkey
259# standalone will hang, though apparently inside Firefox it will trigger a
260# long-running-script timeout. JSCRE passes by hitting the matchLimit and
261# just pretending that an exhaustive search found no match.
ager@chromium.org5aa501c2009-06-23 07:57:28 +0000262ecma_3/RegExp/regress-307456: PASS || TIMEOUT
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000263
264
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000265# We do not detect overflow in bounds for back references and {}
266# quantifiers. Might fix by parsing numbers differently?
267js1_5/Regress/regress-230216-2: FAIL_OK
268
269
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000270# Regexp too long for PCRE.
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000271js1_5/Regress/regress-280769: PASS || FAIL
272js1_5/Regress/regress-280769-1: PASS || FAIL
273js1_5/Regress/regress-280769-2: PASS || FAIL
274js1_5/Regress/regress-280769-4: PASS || FAIL
275js1_5/Regress/regress-280769-5: PASS || FAIL
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000276
277
278# We do not support static RegExp.multiline - should we?.
279js1_2/regexp/RegExp_multiline: FAIL_OK
280js1_2/regexp/RegExp_multiline_as_array: FAIL_OK
281js1_2/regexp/beginLine: FAIL_OK
282js1_2/regexp/endLine: FAIL_OK
283
284
sgjesse@chromium.org911335c2009-08-19 12:59:44 +0000285# To be compatible with safari typeof a regexp yields 'function';
286# in firefox it yields 'object'.
287js1_2/function/regexparg-1: FAIL_OK
288
289
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000290# Date trouble?
291js1_5/Date/regress-301738-02: FAIL_OK
292
293
294# This test fails for all browsers on in the CET timezone.
295ecma/Date/15.9.5.35-1: PASS || FAIL_OK
296
297
298# Spidermonkey allows stuff in parenthesis directly after the minutes
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000299# in a date. JSC does not, so we don't either.
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000300js1_5/Date/regress-309925-02: FAIL_OK
301
302
303# Print string after deleting array element?
304js1_5/Expressions/regress-96526-delelem: FAIL_OK
305
306
307# Stack overflows should be InternalError: too much recursion?
308js1_5/Regress/regress-234389: FAIL_OK
309
310
311# This may very well be a bogus test. I'm not sure yet.
312js1_5/Regress/regress-320119: FAIL_OK
313
314
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000315# No support for toSource().
316js1_5/Regress/regress-248444: FAIL_OK
317js1_5/Regress/regress-313967-01: FAIL_OK
318js1_5/Regress/regress-313967-02: FAIL_OK
319
320# This fails because we don't have stack space for Function.prototype.apply
321# with very large numbers of arguments. The test uses 2^24 arguments.
322js1_5/Array/regress-350256-03: FAIL_OK
323
324
325# Extra arguments not handled properly in String.prototype.match
326js1_5/Regress/regress-179524: FAIL_OK
327
328
329# Uncategorized failures. Please help categorize (or fix) these failures.
330js1_5/Regress/regress-172699: FAIL_OK
331
332
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000333# Assumes that the prototype of a function is enumerable. Non-ECMA,
334# see section 15.3.3.1, page 86.
335ecma/GlobalObject/15.1.2.2-1: FAIL_OK
336ecma/GlobalObject/15.1.2.3-1: FAIL_OK
337ecma/GlobalObject/15.1.2.4: FAIL_OK
338ecma/GlobalObject/15.1.2.5-1: FAIL_OK
339ecma/GlobalObject/15.1.2.6: FAIL_OK
340ecma/GlobalObject/15.1.2.7: FAIL_OK
341
342
343# Tests that rely on specific details of function decompilation or
344# print strings for errors. Non-ECMA behavior.
345js1_2/function/tostring-2: FAIL_OK
kasperl@chromium.orge959c182009-07-27 08:59:04 +0000346js1_2/Objects/toString-001: FAIL_OK
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000347js1_5/Exceptions/regress-332472: FAIL_OK
348js1_5/Regress/regress-173067: FAIL_OK
349js1_5/Regress/regress-355556: FAIL_OK
350js1_5/Regress/regress-328664: FAIL_OK
351js1_5/Regress/regress-252892: FAIL_OK
352js1_5/Regress/regress-352208: FAIL_OK
353ecma_3/Array/15.4.5.1-01: FAIL_OK
354ecma_3/Array/regress-387501: FAIL_OK
355ecma_3/LexicalConventions/7.9.1: FAIL_OK
356ecma_3/RegExp/regress-375711: FAIL_OK
357ecma_3/Unicode/regress-352044-01: FAIL_OK
358ecma_3/extensions/regress-274152: FAIL_OK
359js1_5/Regress/regress-372364: FAIL_OK
360js1_5/Regress/regress-420919: FAIL_OK
361js1_5/Regress/regress-422348: FAIL_OK
ager@chromium.orgc27e4e72008-09-04 13:52:27 +0000362js1_5/Regress/regress-410852: FAIL_OK
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000363ecma_3/RegExp/regress-375715-04: FAIL_OK
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000364js1_5/decompilation/regress-456964-01: FAIL_OK
365js1_5/decompilation/regress-437288-02: FAIL_OK
366js1_5/decompilation/regress-457824: FAIL_OK
367js1_5/decompilation/regress-460116-01: FAIL_OK
368js1_5/decompilation/regress-460116-02: FAIL_OK
369js1_5/decompilation/regress-460501: FAIL_OK
370js1_5/decompilation/regress-460116-03: FAIL_OK
371js1_5/decompilation/regress-461110: FAIL_OK
372js1_5/decompilation/regress-456964-01: FAIL_OK
373js1_5/decompilation/regress-437288-02: FAIL_OK
374js1_5/decompilation/regress-457824: FAIL_OK
375js1_5/decompilation/regress-460116-01: FAIL_OK
376js1_5/decompilation/regress-460116-02: FAIL_OK
377js1_5/decompilation/regress-460116-03: FAIL_OK
378js1_5/decompilation/regress-460501: FAIL_OK
379js1_5/decompilation/regress-461110: FAIL_OK
380
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000381
382
ager@chromium.orgc27e4e72008-09-04 13:52:27 +0000383# Tests that use uneval. Non-ECMA.
384js1_5/GC/regress-418128: FAIL_OK
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000385js1_5/extensions/regress-465276: FAIL_OK
ager@chromium.orgc27e4e72008-09-04 13:52:27 +0000386
387
388# Tests that use __count__. Non-ECMA.
389js1_5/extensions/regress-434837-01: FAIL_OK
390
391
392# Tests that use the watch method. Non-ECMA.
393js1_5/extensions/regress-435345-01: FAIL_OK
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000394js1_5/extensions/regress-455413: FAIL_OK
ager@chromium.orgc27e4e72008-09-04 13:52:27 +0000395
396
397# The spec specifies reverse evaluation order for < and >=.
398# See section 11.8.2 and 11.8.5.
399# We implement the spec here but the test tests the more straigtforward order.
400ecma_3/Operators/order-01: FAIL_OK
401
402
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000403# Uses Mozilla-specific QName, XML, XMLList and Iterator.
404js1_5/Regress/regress-407323: FAIL_OK
405js1_5/Regress/regress-407957: FAIL_OK
406
407
408# Relies on JavaScript 1.2 / 1.3 deprecated features.
409js1_2/function/String: FAIL_OK
410js1_2/operator/equality: FAIL_OK
411js1_2/version120/boolean-001: FAIL_OK
412js1_2/String/concat: FAIL_OK
413js1_2/function/Function_object: FAIL_OK
414js1_2/function/tostring-1: FAIL_OK
415js1_2/version120/regress-99663: FAIL_OK
416js1_2/regexp/RegExp_lastIndex: FAIL_OK
417js1_2/regexp/string_split: FAIL_OK
418
419
420# We do not check for bad surrogate pairs when quoting strings.
421js1_5/Regress/regress-315974: FAIL_OK
422
423
424# Use unsupported "watch".
425js1_5/Regress/regress-213482: FAIL_OK
426js1_5/Regress/regress-240577: FAIL_OK
427js1_5/Regress/regress-355344: FAIL_OK
428js1_5/Object/regress-362872-01: FAIL_OK
429js1_5/Object/regress-362872-02: FAIL_OK
430js1_5/Regress/regress-361467: FAIL_OK
431js1_5/Regress/regress-385393-06: FAIL_OK
432
433
434# Use special Mozilla getter/setter syntax
435js1_5/Regress/regress-354924: FAIL_OK
436js1_5/Regress/regress-355341: FAIL_OK
437js1_5/GC/regress-316885-01: FAIL_OK
438js1_5/GetSet/getset-002: FAIL_OK
439js1_5/GetSet/regress-353264: FAIL_OK
440js1_5/Regress/regress-361617: FAIL_OK
441js1_5/Regress/regress-362583: FAIL_OK
ager@chromium.orgc27e4e72008-09-04 13:52:27 +0000442js1_5/extensions/regress-356378: FAIL_OK
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000443js1_5/extensions/regress-452178: FAIL_OK
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000444
445
446# 'native' *is* a keyword in V8.
447js1_5/Regress/regress-240317: FAIL_OK
448
449
450# Requires Mozilla-specific strict mode or options() function.
451ecma_3/Object/8.6.1-01: FAIL_OK
452js1_5/Exceptions/regress-315147: FAIL_OK
453js1_5/Regress/regress-106244: FAIL_OK
454js1_5/Regress/regress-317533: FAIL_OK
455js1_5/Regress/regress-323314-1: FAIL_OK
456js1_5/Regress/regress-352197: FAIL_OK
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000457
458
459# Equivalent to assert(false).
460ecma_2/RegExp/exec-001: FAIL_OK
461ecma_2/String/replace-001: FAIL_OK
462
463
464# We do not strip unicode format control characters. This is really
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000465# required for working with non-latin character sets. We match JSC
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000466# and IE here. Firefox matches the spec (section 7.1).
467ecma_3/Unicode/uc-001: FAIL_OK
468
469
470# A non-breaking space doesn't match \s in a regular expression. This behaviour
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000471# matches JSC. All the VMs have different behaviours in which characters match
472# \s so we do the same as JSC until they change.
ager@chromium.orgddb913d2009-01-27 10:01:48 +0000473ecma_3/Unicode/uc-002: PASS || FAIL_OK
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000474
475
476# String.prototype.split on empty strings always returns an array
477# with one element (as specified in ECMA-262).
478js1_2/Array/array_split_1: FAIL_OK
479
480
481# The concat() method is defined in Array.prototype; not Array.
482js1_5/Array/regress-313153: FAIL_OK
483
484
kasperl@chromium.org86f77b72009-07-06 08:21:57 +0000485# Properties fileName, and lineNumber of Error instances are
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000486# not supported. Mozilla specific extension.
487js1_5/Exceptions/errstack-001: FAIL_OK
488js1_5/Exceptions/regress-257751: FAIL_OK
489js1_5/Regress/regress-119719: FAIL_OK
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000490js1_5/Regress/regress-167328: FAIL_OK
491js1_5/Regress/regress-243869: FAIL_OK
492
493
494# Unsupported import/export and <xml> literals. Mozilla extensions.
495js1_5/Regress/regress-249211: FAIL_OK
496js1_5/Regress/regress-309242: FAIL_OK
497js1_5/Regress/regress-350692: FAIL_OK
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000498js1_5/extensions/regress-421621: FAIL_OK
499js1_5/extensions/regress-432075: FAIL_OK
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000500
501
502# The length of Error functions is 1 not 3.
503js1_5/Exceptions/regress-123002: FAIL_OK
504
505
506# Reserved keywords as function names, etc is not supported.
507js1_5/LexicalConventions/regress-343675: FAIL_OK
508
509
510# Unsupported list comprehensions: [ ... for ... ] and for each.
511js1_5/Regress/regress-352009: FAIL_OK
512js1_5/Regress/regress-349648: FAIL_OK
513
514
515# Expects top level arguments (passed on command line?) to be
516# the empty string?
517js1_5/Regress/regress-336100: FAIL_OK
518
519
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000520# Regular expression test failures due to PCRE. We match JSC (ie, perl)
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000521# behavior and not the ECMA spec.
ager@chromium.orgddb913d2009-01-27 10:01:48 +0000522ecma_3/RegExp/perlstress-001: PASS || FAIL_OK
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000523ecma_3/RegExp/regress-334158: PASS || FAIL
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000524
ager@chromium.orgddb913d2009-01-27 10:01:48 +0000525# This test fails due to http://code.google.com/p/v8/issues/detail?id=187
526# Failure to clear captures when a lookahead is unwound.
527ecma_3/RegExp/15.10.2-1: PASS || FAIL_OK
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000528
529# This test requires a failure if we try to compile a function with more
530# than 65536 arguments. This seems to be a Mozilla restriction.
531js1_5/Regress/regress-290575: FAIL_OK
532
533
534# Fails because of the way function declarations are
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000535# handled in V8/JSC. V8 follows IE behavior and introduce
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000536# all nested function declarations when entering the
537# surrounding function, whereas Spidermonkey declares
538# them dynamically when the statement is executed.
539ecma_3/Function/scope-001: FAIL_OK
540ecma_3/FunExpr/fe-001: FAIL_OK
541js1_5/Scope/regress-184107: FAIL_OK
542
543
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000544# Function is deletable in V8 and JSC.
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000545js1_5/Regress/regress-352604: FAIL_OK
546
547
548# Cannot call strings as functions. Expects not to crash.
549js1_5/Regress/regress-417893: FAIL_OK
550
551
552
553##################### FAILING TESTS #####################
554
ager@chromium.orga74f0da2008-12-03 16:05:52 +0000555# This section is for tests that fail in V8 and pass in JSC.
556# Tests that fail in both V8 and JSC belong in the FAIL_OK
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000557# category.
558
559# This fails because we don't handle Function.prototype.apply with very large
560# numbers of arguments (depending on max stack size). 350256-02 needs more than
561# 4Mbytes of stack space.
562js1_5/Array/regress-350256-02: FAIL
563
564
565# This fails because 'delete arguments[i]' does not disconnect the
566# argument from the arguments array. See issue #900066.
567ecma_3/Function/regress-137181: FAIL
568
569
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000570# Tests that rely on specific details of function decompilation or
571# print strings for errors. Non-ECMA behavior.
572js1_4/Regress/function-003: FAIL
573
574
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000575# 'export' and 'import' are not keywords in V8.
576ecma_2/Exceptions/lexical-010: FAIL
577ecma_2/Exceptions/lexical-022: FAIL
578
579
580# Requires Mozilla-specific strict mode.
581ecma_2/Exceptions/lexical-011: FAIL
582ecma_2/Exceptions/lexical-014: FAIL
583ecma_2/Exceptions/lexical-016: FAIL
584ecma_2/Exceptions/lexical-021: FAIL
585ecma_2/LexicalConventions/keywords-001: FAIL
586js1_5/Regress/regress-306633: FAIL
587
588
589# This test seems designed to fail (it produces a 700Mbyte string).
590# We fail on out of memory. The important thing is not to crash.
ager@chromium.org5aa501c2009-06-23 07:57:28 +0000591js1_5/Regress/regress-303213: FAIL || TIMEOUT if $mode == debug
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000592
593
ager@chromium.org3bf7b912008-11-17 09:09:45 +0000594# Bug 1202592: New ecma_3/String/15.5.4.11 is failing.
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000595ecma_3/String/15.5.4.11: FAIL
596
597# Bug 1202597: New js1_5/Expressions/regress-394673 is failing.
598# Marked as: Will not fix. V8 throws an acceptable RangeError.
599js1_5/Expressions/regress-394673: FAIL
600
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000601##################### MOZILLA EXTENSION TESTS #####################
602
603ecma/extensions/15.1.2.1-1: FAIL_OK
604ecma_3/extensions/regress-385393-03: FAIL_OK
605ecma_3/extensions/7.9.1: FAIL_OK
606js1_5/extensions/catchguard-001: FAIL_OK
607js1_5/extensions/catchguard-002: FAIL_OK
608js1_5/extensions/catchguard-003: FAIL_OK
609js1_5/extensions/getset-001: FAIL_OK
610js1_5/extensions/getset-003: FAIL_OK
611js1_5/extensions/no-such-method: FAIL_OK
612js1_5/extensions/regress-104077: FAIL_OK
613js1_5/extensions/regress-226078: FAIL_OK
614js1_5/extensions/regress-303277: FAIL_OK
615js1_5/extensions/regress-304897: FAIL_OK
616js1_5/extensions/regress-306738: FAIL_OK
617js1_5/extensions/regress-311161: FAIL_OK
618js1_5/extensions/regress-311583: FAIL_OK
619js1_5/extensions/regress-311792-01: FAIL_OK
620js1_5/extensions/regress-312278: FAIL_OK
621js1_5/extensions/regress-313630: FAIL_OK
622js1_5/extensions/regress-313763: FAIL_OK
623js1_5/extensions/regress-313803: FAIL_OK
624js1_5/extensions/regress-314874: FAIL_OK
625js1_5/extensions/regress-322957: FAIL_OK
626js1_5/extensions/regress-328556: FAIL_OK
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000627js1_5/extensions/regress-333541: FAIL_OK
628js1_5/extensions/regress-335700: FAIL_OK
629js1_5/extensions/regress-336409-1: FAIL_OK
630js1_5/extensions/regress-336409-2: FAIL_OK
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000631js1_5/extensions/regress-336410-2: FAIL_OK
632js1_5/extensions/regress-341956-01: FAIL_OK
633js1_5/extensions/regress-341956-02: FAIL_OK
634js1_5/extensions/regress-341956-03: FAIL_OK
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000635js1_5/extensions/regress-345967: FAIL_OK
636js1_5/extensions/regress-346494-01: FAIL_OK
637js1_5/extensions/regress-346494: FAIL_OK
638js1_5/extensions/regress-347306-02: FAIL_OK
639js1_5/extensions/regress-348986: FAIL_OK
640js1_5/extensions/regress-349616: FAIL_OK
641js1_5/extensions/regress-350312-02: FAIL_OK
642js1_5/extensions/regress-350312-03: FAIL_OK
643js1_5/extensions/regress-350531: FAIL_OK
644js1_5/extensions/regress-351102-01: FAIL_OK
645js1_5/extensions/regress-351102-02: FAIL_OK
646js1_5/extensions/regress-351102-06: FAIL_OK
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000647js1_5/extensions/regress-351973: FAIL_OK
648js1_5/extensions/regress-352060: FAIL_OK
649js1_5/extensions/regress-352094: FAIL_OK
650js1_5/extensions/regress-352261: FAIL_OK
651js1_5/extensions/regress-352281: FAIL_OK
652js1_5/extensions/regress-352372: FAIL_OK
653js1_5/extensions/regress-352455: FAIL_OK
654js1_5/extensions/regress-352604: FAIL_OK
655js1_5/extensions/regress-353214: FAIL_OK
656js1_5/extensions/regress-355339: FAIL_OK
657js1_5/extensions/regress-355497: FAIL_OK
658js1_5/extensions/regress-355622: FAIL_OK
659js1_5/extensions/regress-355736: FAIL_OK
660js1_5/extensions/regress-356085: FAIL_OK
661js1_5/extensions/regress-356106: FAIL_OK
662js1_5/extensions/regress-358594-01: FAIL_OK
663js1_5/extensions/regress-358594-02: FAIL_OK
664js1_5/extensions/regress-358594-03: FAIL_OK
665js1_5/extensions/regress-358594-04: FAIL_OK
666js1_5/extensions/regress-358594-05: FAIL_OK
667js1_5/extensions/regress-358594-06: FAIL_OK
668js1_5/extensions/regress-361346: FAIL_OK
669js1_5/extensions/regress-361360: FAIL_OK
670js1_5/extensions/regress-361558: FAIL_OK
671js1_5/extensions/regress-361571: FAIL_OK
672js1_5/extensions/regress-361856: FAIL_OK
673js1_5/extensions/regress-361964: FAIL_OK
674js1_5/extensions/regress-363988: FAIL_OK
675js1_5/extensions/regress-365869: FAIL_OK
676js1_5/extensions/regress-367630: FAIL_OK
677js1_5/extensions/regress-367923: FAIL_OK
678js1_5/extensions/regress-368859: FAIL_OK
679js1_5/extensions/regress-374589: FAIL_OK
680js1_5/extensions/regress-375801: FAIL_OK
681js1_5/extensions/regress-376052: FAIL_OK
682js1_5/extensions/regress-379523: FAIL_OK
683js1_5/extensions/regress-380581: FAIL_OK
684js1_5/extensions/regress-380831: FAIL_OK
685js1_5/extensions/regress-381205: FAIL_OK
686js1_5/extensions/regress-381211: FAIL_OK
687js1_5/extensions/regress-381304: FAIL_OK
688js1_5/extensions/regress-382509: FAIL_OK
689js1_5/extensions/regress-383965: FAIL_OK
690js1_5/extensions/regress-384680: FAIL_OK
691js1_5/extensions/regress-385393-09: FAIL_OK
692js1_5/extensions/regress-407501: FAIL_OK
693js1_5/extensions/regress-418730: FAIL_OK
694js1_5/extensions/regress-420612: FAIL_OK
695js1_5/extensions/regress-420869-01: FAIL_OK
696js1_5/extensions/regress-424257: FAIL_OK
697js1_5/extensions/regress-424683-01: FAIL_OK
698js1_5/extensions/regress-44009: FAIL_OK
699js1_5/extensions/regress-50447-1: FAIL_OK
700js1_5/extensions/regress-50447: FAIL_OK
701js1_5/extensions/regress-90596-001: FAIL_OK
702js1_5/extensions/regress-90596-002: FAIL_OK
703js1_5/extensions/regress-96284-001: FAIL_OK
704js1_5/extensions/regress-96284-002: FAIL_OK
705js1_5/extensions/scope-001: FAIL_OK
706js1_5/extensions/toLocaleFormat-01: FAIL_OK
707js1_5/extensions/toLocaleFormat-02: FAIL_OK
708
ager@chromium.org5aa501c2009-06-23 07:57:28 +0000709js1_5/extensions/regress-330569: TIMEOUT
710js1_5/extensions/regress-351448: TIMEOUT
711js1_5/extensions/regress-342960: FAIL_OK || TIMEOUT if $mode == debug
sgjesse@chromium.orgc81c8942009-08-21 10:54:26 +0000712# In the 64-bit version, this test takes longer to run out of memory
713# than it does in the 32-bit version when attempting to generate a huge
714# error message in debug mode.
715js1_5/extensions/regress-336410-1: FAIL_OK || TIMEOUT if ($mode == debug && $arch == x64)
716
ager@chromium.org5aa501c2009-06-23 07:57:28 +0000717
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000718
719##################### DECOMPILATION TESTS #####################
720
721# We don't really about the outcome of running the
722# decompilation tests as long as they don't crash or
723# timeout.
724
725js1_5/decompilation/regress-344120: PASS || FAIL
726js1_5/decompilation/regress-346892: PASS || FAIL
727js1_5/decompilation/regress-346902: PASS || FAIL
728js1_5/decompilation/regress-346904: PASS || FAIL
729js1_5/decompilation/regress-346915: PASS || FAIL
730js1_5/decompilation/regress-349484: PASS || FAIL
731js1_5/decompilation/regress-349489: PASS || FAIL
732js1_5/decompilation/regress-349491: PASS || FAIL
733js1_5/decompilation/regress-349596: PASS || FAIL
734js1_5/decompilation/regress-349650: PASS || FAIL
735js1_5/decompilation/regress-349663: PASS || FAIL
736js1_5/decompilation/regress-350242: PASS || FAIL
737js1_5/decompilation/regress-350263: PASS || FAIL
738js1_5/decompilation/regress-350271: PASS || FAIL
739js1_5/decompilation/regress-350666: PASS || FAIL
740js1_5/decompilation/regress-350670: PASS || FAIL
741js1_5/decompilation/regress-351104: PASS || FAIL
742js1_5/decompilation/regress-351219: PASS || FAIL
743js1_5/decompilation/regress-351336: PASS || FAIL
744js1_5/decompilation/regress-351597: PASS || FAIL
745js1_5/decompilation/regress-351625: PASS || FAIL
746js1_5/decompilation/regress-351626: PASS || FAIL
747js1_5/decompilation/regress-351693: PASS || FAIL
748js1_5/decompilation/regress-351705: PASS || FAIL
749js1_5/decompilation/regress-351793: PASS || FAIL
750js1_5/decompilation/regress-352013: PASS || FAIL
751js1_5/decompilation/regress-352022: PASS || FAIL
752js1_5/decompilation/regress-352073: PASS || FAIL
753js1_5/decompilation/regress-352202: PASS || FAIL
754js1_5/decompilation/regress-352312: PASS || FAIL
755js1_5/decompilation/regress-352360: PASS || FAIL
756js1_5/decompilation/regress-352375: PASS || FAIL
757js1_5/decompilation/regress-352453: PASS || FAIL
758js1_5/decompilation/regress-352649: PASS || FAIL
759js1_5/decompilation/regress-352873-01: PASS || FAIL
760js1_5/decompilation/regress-352873-02: PASS || FAIL
761js1_5/decompilation/regress-353000: PASS || FAIL
762js1_5/decompilation/regress-353120: PASS || FAIL
763js1_5/decompilation/regress-353146: PASS || FAIL
764js1_5/decompilation/regress-354878: PASS || FAIL
765js1_5/decompilation/regress-354910: PASS || FAIL
766js1_5/decompilation/regress-355992: PASS || FAIL
767js1_5/decompilation/regress-356083: PASS || FAIL
768js1_5/decompilation/regress-356248: PASS || FAIL
769js1_5/decompilation/regress-371692: PASS || FAIL
770js1_5/decompilation/regress-373678: PASS || FAIL
771js1_5/decompilation/regress-375639: PASS || FAIL
772js1_5/decompilation/regress-375882: PASS || FAIL
773js1_5/decompilation/regress-376564: PASS || FAIL
774js1_5/decompilation/regress-383721: PASS || FAIL
775js1_5/decompilation/regress-406555: PASS || FAIL
776
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000777
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000778# These tests take an unreasonable amount of time so we skip them
779# in fast mode.
780
ager@chromium.org5aa501c2009-06-23 07:57:28 +0000781js1_5/Regress/regress-312588: TIMEOUT || SKIP if $FAST == yes
782js1_5/Regress/regress-271716-n: PASS || SKIP if $FAST == yes
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000783
kasperl@chromium.org5a8ca6c2008-10-23 13:57:19 +0000784
mads.s.ager@gmail.com9a4089a2008-09-01 08:55:01 +0000785[ $FAST == yes && $ARCH == arm ]
786
787# In fast mode on arm we try to skip all tests that would time out,
788# since running the tests takes so long in the first place.
789
790js1_5/Regress/regress-280769-2: SKIP
791js1_5/Regress/regress-280769-3: SKIP
792js1_5/Regress/regress-244470: SKIP
793js1_5/Regress/regress-203278-1: SKIP
794js1_5/Regress/regress-290575: SKIP
795js1_5/Regress/regress-159334: SKIP
796js1_5/Regress/regress-321971: SKIP
797js1_5/Regress/regress-347306-01: SKIP
798js1_5/Regress/regress-280769-1: SKIP
799js1_5/Regress/regress-280769-5: SKIP
800js1_5/GC/regress-306788: SKIP
801js1_5/GC/regress-203278-2: SKIP
802js1_5/GC/regress-278725: SKIP
803js1_5/GC/regress-203278-3: SKIP
804js1_5/GC/regress-311497: SKIP
805js1_5/Array/regress-99120-02: SKIP
806ecma/Date/15.9.5.22-1: SKIP
807ecma/Date/15.9.5.20: SKIP
808ecma/Date/15.9.5.12-2: SKIP
809ecma/Date/15.9.5.8: SKIP
810ecma/Date/15.9.5.9: SKIP
811ecma/Date/15.9.5.10-2: SKIP
812ecma/Date/15.9.5.11-2: SKIP
813ecma/Expressions/11.7.2: SKIP
814ecma/Expressions/11.10-2: SKIP
815ecma/Expressions/11.7.3: SKIP
816ecma/Expressions/11.10-3: SKIP
817ecma/Expressions/11.7.1: SKIP
818ecma_3/RegExp/regress-209067: SKIP