blob: bc096d5ca16106e30b9ab5b3a7c359367c92cb5c [file] [log] [blame]
Ben Murdoch592a9fc2012-03-05 11:04:45 +00001# 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
45prefix mozilla
46def FAIL_OK = FAIL, OKAY
47
Ben Murdochb0fe1622011-05-05 13:52:32 +010048
Steve Blocka7e24c12009-10-30 11:49:00 +000049##################### SKIPPED TESTS #####################
50
51# This test checks that we behave properly in an out-of-memory
52# situation. The test fails in V8 with an exception and takes a long
53# time to do so.
54js1_5/Regress/regress-271716-n: SKIP
55
Ben Murdochb0fe1622011-05-05 13:52:32 +010056# BUG(960): This test has an insane amount of output when it times out,
57# messing up ability to see other failures on the waterfall.
58js1_5/extensions/regress-342960: SKIP
Steve Blocka7e24c12009-10-30 11:49:00 +000059
Steve Block8defd9f2010-07-08 12:39:36 +010060# This test uses a unitialized variable. A Bug has been filed:
61# https://bugzilla.mozilla.org/show_bug.cgi?id=575575
62js1_5/Array/regress-465980-02: SKIP
63
Steve Blocka7e24c12009-10-30 11:49:00 +000064# These tests are simply wrong (i.e., they do not test what they intend
65# to test).
66# In particular, these two compare numbers to NaN with != in the current
67# version of the Mozilla tests. This is *fixed* in a later version.
68# The tests should be re-enabled when switching to a new version.
69ecma_3/Date/15.9.3.2-1: SKIP
70js1_2/function/Number: SKIP
71
Steve Blocka7e24c12009-10-30 11:49:00 +000072##################### SLOW TESTS #####################
73
74# This takes a long time to run (~100 seconds). It should only be run
75# by the really patient.
76js1_5/GC/regress-324278: SLOW
77
78# This takes a long time to run because our indexOf operation is
79# pretty slow - it causes a lot of GCs; see issue
80# #926379. We could consider marking this SKIP because it takes a
81# while to run to completion.
82js1_5/GC/regress-338653: SLOW
83
84# This test is designed to run until it runs out of memory. This takes
85# a very long time because it builds strings character by character
86# and compiles a lot of regular expressions. We could consider marking
87# this SKIP because it takes a while to run to completion.
88js1_5/GC/regress-346794: SLOW
89
90# Runs out of memory while trying to build huge string of 'x'
91# characters. This takes a long time to run (~32 seconds).
92js1_5/GC/regress-348532: SLOW
93
94
95##################### FLAKY TESTS #####################
96
97# These tests time out in debug mode but pass in product mode
98js1_5/Regress/regress-360969-03: PASS || TIMEOUT if $mode == debug
99js1_5/Regress/regress-360969-04: PASS || TIMEOUT if $mode == debug
100js1_5/Regress/regress-360969-05: PASS || TIMEOUT if $mode == debug
101js1_5/Regress/regress-360969-06: PASS || TIMEOUT if $mode == debug
102js1_5/extensions/regress-365527: PASS || TIMEOUT if $mode == debug
103
104js1_5/Regress/regress-280769-3: PASS || FAIL if $mode == debug
105js1_5/Regress/regress-203278-1: PASS || FAIL if $mode == debug
106js1_5/GC/regress-203278-2: PASS || FAIL if $mode == debug
107js1_5/Regress/regress-244470: PASS || FAIL if $mode == debug
108ecma_3/RegExp/regress-209067: PASS || FAIL if $mode == debug
109js1_5/GC/regress-278725: PASS || FAIL if $mode == debug
110# http://b/issue?id=1206983
111js1_5/Regress/regress-367561-03: PASS || FAIL if $mode == debug
Steve Block1e0659c2011-05-24 12:43:12 +0100112ecma/Date/15.9.5.10-2: PASS || (FAIL || TIMEOUT if $mode == debug)
Steve Blocka7e24c12009-10-30 11:49:00 +0000113
114# These tests create two Date objects just after each other and
115# expects them to match. Sometimes this happens on the border
116# between one second and the next.
117ecma/Date/15.9.2.1: PASS || FAIL
118ecma/Date/15.9.2.2-1: PASS || FAIL
119ecma/Date/15.9.2.2-2: PASS || FAIL
120ecma/Date/15.9.2.2-3: PASS || FAIL
121ecma/Date/15.9.2.2-4: PASS || FAIL
122ecma/Date/15.9.2.2-5: PASS || FAIL
123ecma/Date/15.9.2.2-6: PASS || FAIL
124
Ben Murdochc7cc0282012-03-05 14:35:55 +0000125# 1026139: These date tests fail on arm and mips
126ecma/Date/15.9.5.29-1: PASS || (($ARM || $MIPS) && FAIL)
127ecma/Date/15.9.5.34-1: PASS || (($ARM || $MIPS) && FAIL)
128ecma/Date/15.9.5.28-1: PASS || (($ARM || $MIPS) && FAIL)
Steve Blocka7e24c12009-10-30 11:49:00 +0000129
Ben Murdochc7cc0282012-03-05 14:35:55 +0000130# 1050186: Arm/MIPS vm is broken; probably unrelated to dates
131ecma/Array/15.4.4.5-3: PASS || (($ARM || $MIPS) && FAIL)
132ecma/Date/15.9.5.22-2: PASS || (($ARM || $MIPS) && FAIL)
Steve Blocka7e24c12009-10-30 11:49:00 +0000133
134# Flaky test that fails due to what appears to be a bug in the test.
135# Occurs depending on current time
136ecma/Date/15.9.5.8: PASS || FAIL
137
138# Severely brain-damaged test. Access to local variables must not
139# be more than 2.5 times faster than access to global variables? WTF?
140js1_5/Regress/regress-169559: PASS || FAIL
141
142
143# Test that rely on specific timezone (not working in Denmark).
144js1_5/Regress/regress-58116: PASS || FAIL
145
146
147# Flaky random() test. Tests the distribution of calls to Math.random().
148js1_5/Regress/regress-211590: PASS || FAIL
149
150
151# Flaky tests; expect BigO-order computations to yield 1, but the code
152# cannot handle outliers. See bug #925864.
153ecma_3/RegExp/regress-311414: PASS || FAIL
154ecma_3/RegExp/regress-289669: PASS || FAIL
155js1_5/String/regress-314890: PASS || FAIL
156js1_5/String/regress-56940-01: PASS || FAIL
157js1_5/String/regress-56940-02: PASS || FAIL
158js1_5/String/regress-157334-01: PASS || FAIL
159js1_5/String/regress-322772: PASS || FAIL
160js1_5/Array/regress-99120-01: PASS || FAIL
161js1_5/Array/regress-99120-02: PASS || FAIL
162js1_5/Regress/regress-347306-01: PASS || FAIL
163js1_5/Regress/regress-416628: PASS || FAIL || TIMEOUT if $mode == debug
164
165
166# The following two tests assume that daylight savings time starts first Sunday
167# in April. This is not true when executing the tests outside California!
168# In Denmark the adjustment starts one week earlier!.
169# Tests based on shell that use dates in this gap are flaky.
170ecma/Date/15.9.5.10-1: PASS || FAIL
Steve Blocka7e24c12009-10-30 11:49:00 +0000171ecma/Date/15.9.5.12-1: PASS || FAIL
172ecma/Date/15.9.5.14: PASS || FAIL
173ecma/Date/15.9.5.34-1: PASS || FAIL
174
175
176# These tests sometimes pass (in particular on Windows). They build up
177# a lot of stuff on the stack, which normally causes a stack overflow,
178# but sometimes it makes it through?
179js1_5/Regress/regress-290575: PASS || FAIL
180js1_5/Regress/regress-98901: PASS || FAIL
181
182
183# Tests that sorting arrays of ints is less than 3 times as fast
184# as sorting arrays of strings.
185js1_5/extensions/regress-371636: PASS || FAIL || TIMEOUT if $mode == debug
186
187
188# Tests depend on GC timings. Inherently flaky.
189js1_5/GC/regress-383269-01: PASS || FAIL
190js1_5/GC/regress-383269-02: PASS || FAIL
191js1_5/Regress/regress-404755: PASS || FAIL
192
193
194# Test that depends on timer resolution. Fails every now and then
195# if we're unlucky enough to get a context switch at a bad time.
196js1_5/extensions/regress-363258: PASS || FAIL
197
198
Steve Block1e0659c2011-05-24 12:43:12 +0100199# Test that assumes specific runtime for a regexp, flaky in debug mode.
200ecma_3/RegExp/regress-85721: PASS || FAIL if $mode == debug
201
Steve Blocka7e24c12009-10-30 11:49:00 +0000202
Ben Murdoch589d6972011-11-30 16:04:58 +0000203# Test that assumes specific execution time, flaky in debug mode.
204js1_5/Array/regress-101964: PASS || FAIL if $mode == debug
205
206
Steve Blocka7e24c12009-10-30 11:49:00 +0000207##################### INCOMPATIBLE TESTS #####################
208
209# This section is for tests that fail in both V8 and JSC. Thus they
210# have been determined to be incompatible between Mozilla and V8/JSC.
211
Ben Murdoch3fb3ca82011-12-02 17:19:32 +0000212# Fail because it calls builtins as functions and do not expect the
213# builtin to have undefined as the receiver.
214ecma/String/15.5.4.6-2: FAIL_OK
215
Steve Blocka7e24c12009-10-30 11:49:00 +0000216# Fail because of toLowerCase and toUpperCase conversion.
217ecma/String/15.5.4.11-2: FAIL_OK
218ecma/String/15.5.4.11-5: FAIL_OK
219ecma/String/15.5.4.12-1: FAIL_OK
220ecma/String/15.5.4.12-4: FAIL_OK
221
222# This test uses an older version of the unicode standard that fails
223# us because we correctly convert the armenian small ligature ech-yiwn
224# to the two upper-case characters ECH and YIWN, whereas the older
225# unicode version converts it to itself.
226ecma/String/15.5.4.12-5: FAIL_OK
227
228# Creates a linked list of arrays until we run out of memory or timeout.
Ben Murdoch592a9fc2012-03-05 11:04:45 +0000229js1_5/Regress/regress-312588: SKIP
Steve Blocka7e24c12009-10-30 11:49:00 +0000230
231
232# Runs out of memory because it compiles huge functions.
233js1_5/Function/regress-338001: FAIL_OK
234js1_5/Function/regress-338121-01: FAIL_OK
235js1_5/Function/regress-338121-02: FAIL_OK
236js1_5/Function/regress-338121-03: FAIL_OK
237
238# Expectes 'prototype' property of functions to be enumerable.
239js1_5/Function/10.1.6-01: FAIL_OK
240
241# Length of objects whose prototype chain includes a function
242ecma_3/Function/regress-313570: FAIL_OK
243
244# toPrecision argument restricted to range 1..21 in JSC/V8
245js1_5/Regress/regress-452346: FAIL_OK
Steve Block8defd9f2010-07-08 12:39:36 +0100246ecma_3/Number/15.7.4.7-1: FAIL_OK
247
248# toExponential argument restricted to range 0..20 in JSC/V8
249ecma_3/Number/15.7.4.6-1: FAIL_OK
Steve Blocka7e24c12009-10-30 11:49:00 +0000250
Ben Murdoch589d6972011-11-30 16:04:58 +0000251#:=== RegExp:===
Ben Murdoch69a99ed2011-11-30 16:03:39 +0000252# We don't match the syntax error message of Mozilla for invalid
253# RegExp flags.
Steve Block8defd9f2010-07-08 12:39:36 +0100254ecma_3/RegExp/15.10.4.1-6: FAIL_OK
Steve Blocka7e24c12009-10-30 11:49:00 +0000255
256# PCRE doesn't allow subpattern nesting deeper than 200, this tests
257# depth 500. JSC detects the case, and return null from the match,
258# and passes this test (the test doesn't check for a correct return
259# value).
260ecma_3/RegExp/regress-119909: PASS || FAIL_OK
261
262
263# Difference in the way capturing subpatterns work. In JS, when the
264# 'minimum repeat count' is reached, the empty string must not match.
265# In this case, we are similar but not identical to JSC. Hard to
266# support the JS behavior with PCRE, so maybe emulate JSC?
267ecma_3/RegExp/regress-209919: PASS || FAIL_OK
268js1_5/extensions/regress-459606: PASS || FAIL_OK
269
270
271# PCRE's match limit is reached. SpiderMonkey hangs on the first one,
272# JSC returns true somehow. Maybe they up the match limit? There is
273# an open V8 bug 676063 about this.
274ecma_3/RegExp/regress-330684: TIMEOUT
275
276
277# This test contains a regexp that runs exponentially long. Spidermonkey
278# standalone will hang, though apparently inside Firefox it will trigger a
279# long-running-script timeout. JSCRE passes by hitting the matchLimit and
280# just pretending that an exhaustive search found no match.
281ecma_3/RegExp/regress-307456: PASS || TIMEOUT
282
283
284# We do not detect overflow in bounds for back references and {}
285# quantifiers. Might fix by parsing numbers differently?
286js1_5/Regress/regress-230216-2: FAIL_OK
287
288
289# Regexp too long for PCRE.
290js1_5/Regress/regress-280769: PASS || FAIL
291js1_5/Regress/regress-280769-1: PASS || FAIL
292js1_5/Regress/regress-280769-2: PASS || FAIL
293js1_5/Regress/regress-280769-4: PASS || FAIL
294js1_5/Regress/regress-280769-5: PASS || FAIL
295
296
297# We do not support static RegExp.multiline - should we?.
298js1_2/regexp/RegExp_multiline: FAIL_OK
299js1_2/regexp/RegExp_multiline_as_array: FAIL_OK
300js1_2/regexp/beginLine: FAIL_OK
301js1_2/regexp/endLine: FAIL_OK
302
Ben Murdoch592a9fc2012-03-05 11:04:45 +0000303# We no longer let calls to test and exec with no argument implicitly
304# use the previous input.
305js1_2/regexp/RegExp_input: FAIL_OK
306js1_2/regexp/RegExp_input_as_array: FAIL_OK
307
Steve Blocka7e24c12009-10-30 11:49:00 +0000308
309# To be compatible with safari typeof a regexp yields 'function';
310# in firefox it yields 'object'.
311js1_2/function/regexparg-1: FAIL_OK
312
313
314# Date trouble?
315js1_5/Date/regress-301738-02: FAIL_OK
316
317
318# This test fails for all browsers on in the CET timezone.
319ecma/Date/15.9.5.35-1: PASS || FAIL_OK
320
321
322# Spidermonkey allows stuff in parenthesis directly after the minutes
323# in a date. JSC does not, so we don't either.
324js1_5/Date/regress-309925-02: FAIL_OK
325
326
327# Print string after deleting array element?
328js1_5/Expressions/regress-96526-delelem: FAIL_OK
329
330
331# Stack overflows should be InternalError: too much recursion?
332js1_5/Regress/regress-234389: FAIL_OK
333
334
335# This may very well be a bogus test. I'm not sure yet.
336js1_5/Regress/regress-320119: FAIL_OK
337
338
339# No support for toSource().
340js1_5/Regress/regress-248444: FAIL_OK
341js1_5/Regress/regress-313967-01: FAIL_OK
342js1_5/Regress/regress-313967-02: FAIL_OK
343
344# This fails because we don't have stack space for Function.prototype.apply
345# with very large numbers of arguments. The test uses 2^24 arguments.
346js1_5/Array/regress-350256-03: FAIL_OK
347
348
349# Extra arguments not handled properly in String.prototype.match
350js1_5/Regress/regress-179524: FAIL_OK
351
352
353# Uncategorized failures. Please help categorize (or fix) these failures.
354js1_5/Regress/regress-172699: FAIL_OK
355
356
357# Assumes that the prototype of a function is enumerable. Non-ECMA,
358# see section 15.3.3.1, page 86.
359ecma/GlobalObject/15.1.2.2-1: FAIL_OK
360ecma/GlobalObject/15.1.2.3-1: FAIL_OK
361ecma/GlobalObject/15.1.2.4: FAIL_OK
362ecma/GlobalObject/15.1.2.5-1: FAIL_OK
363ecma/GlobalObject/15.1.2.6: FAIL_OK
364ecma/GlobalObject/15.1.2.7: FAIL_OK
365
366
367# Tests that rely on specific details of function decompilation or
368# print strings for errors. Non-ECMA behavior.
369js1_2/function/tostring-2: FAIL_OK
370js1_2/Objects/toString-001: FAIL_OK
Steve Block8defd9f2010-07-08 12:39:36 +0100371js1_5/LexicalConventions/regress-469940: FAIL_OK
Steve Blocka7e24c12009-10-30 11:49:00 +0000372js1_5/Exceptions/regress-332472: FAIL_OK
373js1_5/Regress/regress-173067: FAIL_OK
374js1_5/Regress/regress-355556: FAIL_OK
375js1_5/Regress/regress-328664: FAIL_OK
376js1_5/Regress/regress-252892: FAIL_OK
377js1_5/Regress/regress-352208: FAIL_OK
378ecma_3/Array/15.4.5.1-01: FAIL_OK
379ecma_3/Array/regress-387501: FAIL_OK
380ecma_3/LexicalConventions/7.9.1: FAIL_OK
381ecma_3/RegExp/regress-375711: FAIL_OK
382ecma_3/Unicode/regress-352044-01: FAIL_OK
383ecma_3/extensions/regress-274152: FAIL_OK
384js1_5/Regress/regress-372364: FAIL_OK
385js1_5/Regress/regress-420919: FAIL_OK
386js1_5/Regress/regress-422348: FAIL_OK
387js1_5/Regress/regress-410852: FAIL_OK
388ecma_3/RegExp/regress-375715-04: FAIL_OK
389js1_5/decompilation/regress-456964-01: FAIL_OK
390js1_5/decompilation/regress-437288-02: FAIL_OK
391js1_5/decompilation/regress-457824: FAIL_OK
392js1_5/decompilation/regress-460116-01: FAIL_OK
393js1_5/decompilation/regress-460116-02: FAIL_OK
394js1_5/decompilation/regress-460501: FAIL_OK
395js1_5/decompilation/regress-460116-03: FAIL_OK
396js1_5/decompilation/regress-461110: FAIL_OK
397js1_5/decompilation/regress-456964-01: FAIL_OK
398js1_5/decompilation/regress-437288-02: FAIL_OK
399js1_5/decompilation/regress-457824: FAIL_OK
400js1_5/decompilation/regress-460116-01: FAIL_OK
401js1_5/decompilation/regress-460116-02: FAIL_OK
402js1_5/decompilation/regress-460116-03: FAIL_OK
403js1_5/decompilation/regress-460501: FAIL_OK
404js1_5/decompilation/regress-461110: FAIL_OK
405
406
407
408# Tests that use uneval. Non-ECMA.
409js1_5/GC/regress-418128: FAIL_OK
410js1_5/extensions/regress-465276: FAIL_OK
Steve Block8defd9f2010-07-08 12:39:36 +0100411js1_5/Error/regress-465377: FAIL_OK
Steve Blocka7e24c12009-10-30 11:49:00 +0000412
413# Tests that use the watch method. Non-ECMA.
414js1_5/extensions/regress-435345-01: FAIL_OK
415js1_5/extensions/regress-455413: FAIL_OK
416
417
Steve Blocka7e24c12009-10-30 11:49:00 +0000418# Uses Mozilla-specific QName, XML, XMLList and Iterator.
419js1_5/Regress/regress-407323: FAIL_OK
420js1_5/Regress/regress-407957: FAIL_OK
421
422
423# Relies on JavaScript 1.2 / 1.3 deprecated features.
424js1_2/function/String: FAIL_OK
425js1_2/operator/equality: FAIL_OK
426js1_2/version120/boolean-001: FAIL_OK
427js1_2/String/concat: FAIL_OK
428js1_2/function/Function_object: FAIL_OK
429js1_2/function/tostring-1: FAIL_OK
430js1_2/version120/regress-99663: FAIL_OK
431js1_2/regexp/RegExp_lastIndex: FAIL_OK
432js1_2/regexp/string_split: FAIL_OK
433
434
Ben Murdoch3fb3ca82011-12-02 17:19:32 +0000435# RegExps are not callable.
436js1_2/regexp/simple_form: FAIL_OK
437js1_2/regexp/regress-6359: FAIL_OK
438js1_2/regexp/regress-9141: FAIL_OK
439js1_5/Regress/regress-224956: FAIL_OK
440js1_5/Regress/regress-325925: FAIL_OK
441ecma_2/RegExp/regress-001: FAIL_OK
442
Steve Blocka7e24c12009-10-30 11:49:00 +0000443# We do not check for bad surrogate pairs when quoting strings.
444js1_5/Regress/regress-315974: FAIL_OK
445
446
447# Use unsupported "watch".
448js1_5/Regress/regress-213482: FAIL_OK
449js1_5/Regress/regress-240577: FAIL_OK
450js1_5/Regress/regress-355344: FAIL_OK
451js1_5/Object/regress-362872-01: FAIL_OK
452js1_5/Object/regress-362872-02: FAIL_OK
453js1_5/Regress/regress-361467: FAIL_OK
454js1_5/Regress/regress-385393-06: FAIL_OK
Steve Block8defd9f2010-07-08 12:39:36 +0100455js1_5/Regress/regress-506567: FAIL_OK
Steve Blocka7e24c12009-10-30 11:49:00 +0000456
457
458# Use special Mozilla getter/setter syntax
459js1_5/Regress/regress-354924: FAIL_OK
460js1_5/Regress/regress-355341: FAIL_OK
461js1_5/GC/regress-316885-01: FAIL_OK
462js1_5/GetSet/getset-002: FAIL_OK
463js1_5/GetSet/regress-353264: FAIL_OK
464js1_5/Regress/regress-361617: FAIL_OK
465js1_5/Regress/regress-362583: FAIL_OK
466js1_5/extensions/regress-356378: FAIL_OK
467js1_5/extensions/regress-452178: FAIL_OK
468
469
Steve Blocka7e24c12009-10-30 11:49:00 +0000470# Requires Mozilla-specific strict mode or options() function.
471ecma_3/Object/8.6.1-01: FAIL_OK
472js1_5/Exceptions/regress-315147: FAIL_OK
473js1_5/Regress/regress-106244: FAIL_OK
474js1_5/Regress/regress-317533: FAIL_OK
475js1_5/Regress/regress-323314-1: FAIL_OK
476js1_5/Regress/regress-352197: FAIL_OK
477
478
479# Equivalent to assert(false).
480ecma_2/RegExp/exec-001: FAIL_OK
481ecma_2/String/replace-001: FAIL_OK
482
483
484# We do not strip unicode format control characters. This is really
485# required for working with non-latin character sets. We match JSC
486# and IE here. Firefox matches the spec (section 7.1).
487ecma_3/Unicode/uc-001: FAIL_OK
488
489
490# A non-breaking space doesn't match \s in a regular expression. This behaviour
491# matches JSC. All the VMs have different behaviours in which characters match
492# \s so we do the same as JSC until they change.
493ecma_3/Unicode/uc-002: PASS || FAIL_OK
494
495
496# String.prototype.split on empty strings always returns an array
497# with one element (as specified in ECMA-262).
498js1_2/Array/array_split_1: FAIL_OK
499
500
501# The concat() method is defined in Array.prototype; not Array.
502js1_5/Array/regress-313153: FAIL_OK
503
Steve Block8defd9f2010-07-08 12:39:36 +0100504# The join() method is defined on Array.prototype; not Array.
505js1_5/Array/regress-474529: FAIL_OK
506
507# The lastIndexOf() method is defined on Array.prototype, not Array.
508ecma_3/Array/15.5.4.8-01: FAIL_OK
Steve Blocka7e24c12009-10-30 11:49:00 +0000509
510# Properties fileName, and lineNumber of Error instances are
511# not supported. Mozilla specific extension.
512js1_5/Exceptions/errstack-001: FAIL_OK
513js1_5/Exceptions/regress-257751: FAIL_OK
514js1_5/Regress/regress-119719: FAIL_OK
515js1_5/Regress/regress-167328: FAIL_OK
516js1_5/Regress/regress-243869: FAIL_OK
517
518
519# Unsupported import/export and <xml> literals. Mozilla extensions.
520js1_5/Regress/regress-249211: FAIL_OK
521js1_5/Regress/regress-309242: FAIL_OK
522js1_5/Regress/regress-350692: FAIL_OK
523js1_5/extensions/regress-421621: FAIL_OK
524js1_5/extensions/regress-432075: FAIL_OK
525
526
527# The length of Error functions is 1 not 3.
528js1_5/Exceptions/regress-123002: FAIL_OK
529
530
531# Reserved keywords as function names, etc is not supported.
532js1_5/LexicalConventions/regress-343675: FAIL_OK
533
534
Ben Murdoch3fb3ca82011-12-02 17:19:32 +0000535# Tests if future reserved keywords of ECMA-262, edition 3 emit warnings. We
536# implement the edition 5 behaviour and fail on use of edition 5 future reserved
537# keywords as identifiers.
538js1_5/Regress/regress-240317: FAIL_OK
539
540
Steve Blocka7e24c12009-10-30 11:49:00 +0000541# Unsupported list comprehensions: [ ... for ... ] and for each.
542js1_5/Regress/regress-352009: FAIL_OK
543js1_5/Regress/regress-349648: FAIL_OK
544
545
546# Expects top level arguments (passed on command line?) to be
547# the empty string?
548js1_5/Regress/regress-336100: FAIL_OK
549
550
551# Regular expression test failures due to PCRE. We match JSC (ie, perl)
552# behavior and not the ECMA spec.
553ecma_3/RegExp/perlstress-001: PASS || FAIL_OK
554ecma_3/RegExp/regress-334158: PASS || FAIL
555
556# This test fails due to http://code.google.com/p/v8/issues/detail?id=187
557# Failure to clear captures when a lookahead is unwound.
558ecma_3/RegExp/15.10.2-1: PASS || FAIL_OK
559
560# This test requires a failure if we try to compile a function with more
561# than 65536 arguments. This seems to be a Mozilla restriction.
562js1_5/Regress/regress-290575: FAIL_OK
563
564
565# Fails because of the way function declarations are
566# handled in V8/JSC. V8 follows IE behavior and introduce
567# all nested function declarations when entering the
568# surrounding function, whereas Spidermonkey declares
569# them dynamically when the statement is executed.
570ecma_3/Function/scope-001: FAIL_OK
571ecma_3/FunExpr/fe-001: FAIL_OK
572js1_5/Scope/regress-184107: FAIL_OK
573
574
575# Function is deletable in V8 and JSC.
576js1_5/Regress/regress-352604: FAIL_OK
577
578
579# Cannot call strings as functions. Expects not to crash.
580js1_5/Regress/regress-417893: FAIL_OK
581
582
Ben Murdoch589d6972011-11-30 16:04:58 +0000583# Unsupported use of "[]" as function parameter. We match JSC.
Steve Block8defd9f2010-07-08 12:39:36 +0100584js1_5/Regress/regress-416737-01: FAIL_OK
585js1_5/Regress/regress-416737-02: FAIL_OK
586
Steve Blocka7e24c12009-10-30 11:49:00 +0000587
588##################### FAILING TESTS #####################
589
590# This section is for tests that fail in V8 and pass in JSC.
591# Tests that fail in both V8 and JSC belong in the FAIL_OK
592# category.
593
594# This fails because we don't handle Function.prototype.apply with very large
595# numbers of arguments (depending on max stack size). 350256-02 needs more than
596# 4Mbytes of stack space.
597js1_5/Array/regress-350256-02: FAIL
598
599
Steve Blocka7e24c12009-10-30 11:49:00 +0000600# This test seems designed to fail (it produces a 700Mbyte string).
601# We fail on out of memory. The important thing is not to crash.
602js1_5/Regress/regress-303213: FAIL || TIMEOUT if $mode == debug
603
Ben Murdoch257744e2011-11-30 15:57:28 +0000604# This test fails since we now throw in String.prototype.match when apply
605# is given null or undefined as this argument (and so does firefox nightly).
606js1_5/Regress/regress-295052: FAIL
Steve Blocka7e24c12009-10-30 11:49:00 +0000607
608# Bug 1202592: New ecma_3/String/15.5.4.11 is failing.
609ecma_3/String/15.5.4.11: FAIL
610
611# Bug 1202597: New js1_5/Expressions/regress-394673 is failing.
612# Marked as: Will not fix. V8 throws an acceptable RangeError.
613js1_5/Expressions/regress-394673: FAIL
614
Steve Block8defd9f2010-07-08 12:39:36 +0100615
616# Bug 762: http://code.google.com/p/v8/issues/detail?id=762
617# We do not correctly handle assignments within "with"
618/ecma_3/Statements/12.10-01: FAIL
619
Ben Murdoch592a9fc2012-03-05 11:04:45 +0000620# We do not throw an exception when a const is redeclared.
621# (We only fail section 1 of the test.)
622js1_5/Regress/regress-103602: FAIL
623
Steve Blocka7e24c12009-10-30 11:49:00 +0000624##################### MOZILLA EXTENSION TESTS #####################
625
626ecma/extensions/15.1.2.1-1: FAIL_OK
627ecma_3/extensions/regress-385393-03: FAIL_OK
628ecma_3/extensions/7.9.1: FAIL_OK
629js1_5/extensions/catchguard-001: FAIL_OK
630js1_5/extensions/catchguard-002: FAIL_OK
631js1_5/extensions/catchguard-003: FAIL_OK
632js1_5/extensions/getset-001: FAIL_OK
633js1_5/extensions/getset-003: FAIL_OK
634js1_5/extensions/no-such-method: FAIL_OK
635js1_5/extensions/regress-104077: FAIL_OK
636js1_5/extensions/regress-226078: FAIL_OK
637js1_5/extensions/regress-303277: FAIL_OK
638js1_5/extensions/regress-304897: FAIL_OK
639js1_5/extensions/regress-306738: FAIL_OK
640js1_5/extensions/regress-311161: FAIL_OK
641js1_5/extensions/regress-311583: FAIL_OK
642js1_5/extensions/regress-311792-01: FAIL_OK
643js1_5/extensions/regress-312278: FAIL_OK
644js1_5/extensions/regress-313630: FAIL_OK
645js1_5/extensions/regress-313763: FAIL_OK
646js1_5/extensions/regress-313803: FAIL_OK
647js1_5/extensions/regress-314874: FAIL_OK
648js1_5/extensions/regress-322957: FAIL_OK
649js1_5/extensions/regress-328556: FAIL_OK
650js1_5/extensions/regress-333541: FAIL_OK
651js1_5/extensions/regress-335700: FAIL_OK
652js1_5/extensions/regress-336409-1: FAIL_OK
653js1_5/extensions/regress-336409-2: FAIL_OK
654js1_5/extensions/regress-336410-2: FAIL_OK
655js1_5/extensions/regress-341956-01: FAIL_OK
Steve Blocka7e24c12009-10-30 11:49:00 +0000656js1_5/extensions/regress-345967: FAIL_OK
657js1_5/extensions/regress-346494-01: FAIL_OK
658js1_5/extensions/regress-346494: FAIL_OK
659js1_5/extensions/regress-347306-02: FAIL_OK
660js1_5/extensions/regress-348986: FAIL_OK
661js1_5/extensions/regress-349616: FAIL_OK
662js1_5/extensions/regress-350312-02: FAIL_OK
663js1_5/extensions/regress-350312-03: FAIL_OK
664js1_5/extensions/regress-350531: FAIL_OK
665js1_5/extensions/regress-351102-01: FAIL_OK
666js1_5/extensions/regress-351102-02: FAIL_OK
667js1_5/extensions/regress-351102-06: FAIL_OK
668js1_5/extensions/regress-351973: FAIL_OK
669js1_5/extensions/regress-352060: FAIL_OK
670js1_5/extensions/regress-352094: FAIL_OK
671js1_5/extensions/regress-352261: FAIL_OK
672js1_5/extensions/regress-352281: FAIL_OK
Steve Blocka7e24c12009-10-30 11:49:00 +0000673js1_5/extensions/regress-352455: FAIL_OK
674js1_5/extensions/regress-352604: FAIL_OK
675js1_5/extensions/regress-353214: FAIL_OK
676js1_5/extensions/regress-355339: FAIL_OK
677js1_5/extensions/regress-355497: FAIL_OK
678js1_5/extensions/regress-355622: FAIL_OK
679js1_5/extensions/regress-355736: FAIL_OK
680js1_5/extensions/regress-356085: FAIL_OK
681js1_5/extensions/regress-356106: FAIL_OK
682js1_5/extensions/regress-358594-01: FAIL_OK
683js1_5/extensions/regress-358594-02: FAIL_OK
684js1_5/extensions/regress-358594-03: FAIL_OK
685js1_5/extensions/regress-358594-04: FAIL_OK
686js1_5/extensions/regress-358594-05: FAIL_OK
687js1_5/extensions/regress-358594-06: FAIL_OK
688js1_5/extensions/regress-361346: FAIL_OK
689js1_5/extensions/regress-361360: FAIL_OK
690js1_5/extensions/regress-361558: FAIL_OK
691js1_5/extensions/regress-361571: FAIL_OK
692js1_5/extensions/regress-361856: FAIL_OK
693js1_5/extensions/regress-361964: FAIL_OK
694js1_5/extensions/regress-363988: FAIL_OK
695js1_5/extensions/regress-365869: FAIL_OK
696js1_5/extensions/regress-367630: FAIL_OK
697js1_5/extensions/regress-367923: FAIL_OK
698js1_5/extensions/regress-368859: FAIL_OK
Steve Block8defd9f2010-07-08 12:39:36 +0100699js1_5/extensions/regress-369696-01: FAIL_OK
700js1_5/extensions/regress-369696-02: FAIL_OK
701js1_5/extensions/regress-369696-03: FAIL_OK
Steve Blocka7e24c12009-10-30 11:49:00 +0000702js1_5/extensions/regress-374589: FAIL_OK
703js1_5/extensions/regress-375801: FAIL_OK
704js1_5/extensions/regress-376052: FAIL_OK
705js1_5/extensions/regress-379523: FAIL_OK
706js1_5/extensions/regress-380581: FAIL_OK
707js1_5/extensions/regress-380831: FAIL_OK
708js1_5/extensions/regress-381205: FAIL_OK
709js1_5/extensions/regress-381211: FAIL_OK
710js1_5/extensions/regress-381304: FAIL_OK
711js1_5/extensions/regress-382509: FAIL_OK
712js1_5/extensions/regress-383965: FAIL_OK
713js1_5/extensions/regress-384680: FAIL_OK
714js1_5/extensions/regress-385393-09: FAIL_OK
715js1_5/extensions/regress-407501: FAIL_OK
716js1_5/extensions/regress-418730: FAIL_OK
717js1_5/extensions/regress-420612: FAIL_OK
718js1_5/extensions/regress-420869-01: FAIL_OK
719js1_5/extensions/regress-424257: FAIL_OK
720js1_5/extensions/regress-424683-01: FAIL_OK
Steve Block8defd9f2010-07-08 12:39:36 +0100721js1_5/extensions/regress-429739: FAIL_OK
722js1_5/extensions/regress-454142: FAIL_OK
723js1_5/extensions/regress-465145: FAIL_OK
724js1_5/extensions/regress-469625: FAIL_OK
725js1_5/extensions/regress-472787: FAIL_OK
Steve Blocka7e24c12009-10-30 11:49:00 +0000726js1_5/extensions/regress-44009: FAIL_OK
727js1_5/extensions/regress-50447-1: FAIL_OK
728js1_5/extensions/regress-50447: FAIL_OK
729js1_5/extensions/regress-90596-001: FAIL_OK
730js1_5/extensions/regress-90596-002: FAIL_OK
731js1_5/extensions/regress-96284-001: FAIL_OK
732js1_5/extensions/regress-96284-002: FAIL_OK
733js1_5/extensions/scope-001: FAIL_OK
734js1_5/extensions/toLocaleFormat-01: FAIL_OK
735js1_5/extensions/toLocaleFormat-02: FAIL_OK
736
737js1_5/extensions/regress-330569: TIMEOUT
738js1_5/extensions/regress-351448: TIMEOUT
739js1_5/extensions/regress-342960: FAIL_OK || TIMEOUT if $mode == debug
740# In the 64-bit version, this test takes longer to run out of memory
741# than it does in the 32-bit version when attempting to generate a huge
742# error message in debug mode.
743js1_5/extensions/regress-336410-1: FAIL_OK || TIMEOUT if ($mode == debug && $arch == x64)
744
Steve Blocka7e24c12009-10-30 11:49:00 +0000745##################### DECOMPILATION TESTS #####################
746
747# We don't really about the outcome of running the
748# decompilation tests as long as they don't crash or
749# timeout.
750
751js1_5/decompilation/regress-344120: PASS || FAIL
752js1_5/decompilation/regress-346892: PASS || FAIL
753js1_5/decompilation/regress-346902: PASS || FAIL
754js1_5/decompilation/regress-346904: PASS || FAIL
755js1_5/decompilation/regress-346915: PASS || FAIL
756js1_5/decompilation/regress-349484: PASS || FAIL
757js1_5/decompilation/regress-349489: PASS || FAIL
758js1_5/decompilation/regress-349491: PASS || FAIL
759js1_5/decompilation/regress-349596: PASS || FAIL
760js1_5/decompilation/regress-349650: PASS || FAIL
761js1_5/decompilation/regress-349663: PASS || FAIL
762js1_5/decompilation/regress-350242: PASS || FAIL
763js1_5/decompilation/regress-350263: PASS || FAIL
764js1_5/decompilation/regress-350271: PASS || FAIL
765js1_5/decompilation/regress-350666: PASS || FAIL
766js1_5/decompilation/regress-350670: PASS || FAIL
767js1_5/decompilation/regress-351104: PASS || FAIL
768js1_5/decompilation/regress-351219: PASS || FAIL
769js1_5/decompilation/regress-351336: PASS || FAIL
770js1_5/decompilation/regress-351597: PASS || FAIL
771js1_5/decompilation/regress-351625: PASS || FAIL
772js1_5/decompilation/regress-351626: PASS || FAIL
773js1_5/decompilation/regress-351693: PASS || FAIL
774js1_5/decompilation/regress-351705: PASS || FAIL
775js1_5/decompilation/regress-351793: PASS || FAIL
776js1_5/decompilation/regress-352013: PASS || FAIL
777js1_5/decompilation/regress-352022: PASS || FAIL
778js1_5/decompilation/regress-352073: PASS || FAIL
779js1_5/decompilation/regress-352202: PASS || FAIL
780js1_5/decompilation/regress-352312: PASS || FAIL
781js1_5/decompilation/regress-352360: PASS || FAIL
782js1_5/decompilation/regress-352375: PASS || FAIL
783js1_5/decompilation/regress-352453: PASS || FAIL
784js1_5/decompilation/regress-352649: PASS || FAIL
785js1_5/decompilation/regress-352873-01: PASS || FAIL
786js1_5/decompilation/regress-352873-02: PASS || FAIL
787js1_5/decompilation/regress-353000: PASS || FAIL
788js1_5/decompilation/regress-353120: PASS || FAIL
789js1_5/decompilation/regress-353146: PASS || FAIL
790js1_5/decompilation/regress-354878: PASS || FAIL
791js1_5/decompilation/regress-354910: PASS || FAIL
792js1_5/decompilation/regress-355992: PASS || FAIL
793js1_5/decompilation/regress-356083: PASS || FAIL
794js1_5/decompilation/regress-356248: PASS || FAIL
795js1_5/decompilation/regress-371692: PASS || FAIL
796js1_5/decompilation/regress-373678: PASS || FAIL
797js1_5/decompilation/regress-375639: PASS || FAIL
798js1_5/decompilation/regress-375882: PASS || FAIL
799js1_5/decompilation/regress-376564: PASS || FAIL
800js1_5/decompilation/regress-383721: PASS || FAIL
801js1_5/decompilation/regress-406555: PASS || FAIL
Steve Block8defd9f2010-07-08 12:39:36 +0100802js1_5/decompilation/regress-460870: PASS || FAIL
Steve Blocka7e24c12009-10-30 11:49:00 +0000803
804# These tests take an unreasonable amount of time so we skip them
805# in fast mode.
806
807js1_5/Regress/regress-312588: TIMEOUT || SKIP if $FAST == yes
808js1_5/Regress/regress-271716-n: PASS || SKIP if $FAST == yes
809
810
Ben Murdochb0fe1622011-05-05 13:52:32 +0100811[ $arch == arm ]
812
813# Times out and print so much output that we need to skip it to not
814# hang the builder.
815js1_5/extensions/regress-342960: SKIP
816
817# BUG(3251229): Times out when running new crankshaft test script.
Ben Murdochb0fe1622011-05-05 13:52:32 +0100818ecma_3/RegExp/regress-311414: SKIP
Ben Murdochb0fe1622011-05-05 13:52:32 +0100819ecma/Date/15.9.5.8: SKIP
820ecma/Date/15.9.5.10-2: SKIP
821ecma/Date/15.9.5.11-2: SKIP
822ecma/Date/15.9.5.12-2: SKIP
Steve Block1e0659c2011-05-24 12:43:12 +0100823js1_5/Array/regress-99120-02: SKIP
824js1_5/extensions/regress-371636: SKIP
825js1_5/Regress/regress-203278-1: SKIP
Ben Murdochb0fe1622011-05-05 13:52:32 +0100826js1_5/Regress/regress-404755: SKIP
827js1_5/Regress/regress-451322: SKIP
Steve Block1e0659c2011-05-24 12:43:12 +0100828
Ben Murdochb0fe1622011-05-05 13:52:32 +0100829
Ben Murdochb8e0da22011-05-16 14:20:40 +0100830# BUG(1040): Allow this test to timeout.
831js1_5/GC/regress-203278-2: PASS || TIMEOUT
Ben Murdochb0fe1622011-05-05 13:52:32 +0100832
Ben Murdochb0fe1622011-05-05 13:52:32 +0100833
834[ $fast == yes && $arch == arm ]
Steve Blocka7e24c12009-10-30 11:49:00 +0000835
836# In fast mode on arm we try to skip all tests that would time out,
837# since running the tests takes so long in the first place.
838
839js1_5/Regress/regress-280769-2: SKIP
840js1_5/Regress/regress-280769-3: SKIP
841js1_5/Regress/regress-244470: SKIP
842js1_5/Regress/regress-203278-1: SKIP
843js1_5/Regress/regress-290575: SKIP
844js1_5/Regress/regress-159334: SKIP
845js1_5/Regress/regress-321971: SKIP
846js1_5/Regress/regress-347306-01: SKIP
847js1_5/Regress/regress-280769-1: SKIP
848js1_5/Regress/regress-280769-5: SKIP
849js1_5/GC/regress-306788: SKIP
Steve Blocka7e24c12009-10-30 11:49:00 +0000850js1_5/GC/regress-278725: SKIP
851js1_5/GC/regress-203278-3: SKIP
852js1_5/GC/regress-311497: SKIP
853js1_5/Array/regress-99120-02: SKIP
854ecma/Date/15.9.5.22-1: SKIP
855ecma/Date/15.9.5.20: SKIP
856ecma/Date/15.9.5.12-2: SKIP
857ecma/Date/15.9.5.8: SKIP
858ecma/Date/15.9.5.9: SKIP
Steve Blocka7e24c12009-10-30 11:49:00 +0000859ecma/Date/15.9.5.11-2: SKIP
860ecma/Expressions/11.7.2: SKIP
861ecma/Expressions/11.10-2: SKIP
862ecma/Expressions/11.7.3: SKIP
863ecma/Expressions/11.10-3: SKIP
864ecma/Expressions/11.7.1: SKIP
865ecma_3/RegExp/regress-209067: SKIP
Ben Murdochc7cc0282012-03-05 14:35:55 +0000866
867[ $arch == mips ]
868
869# Times out and print so much output that we need to skip it to not
870# hang the builder.
871js1_5/extensions/regress-342960: SKIP
872
873# BUG(3251229): Times out when running new crankshaft test script.
874ecma_3/RegExp/regress-311414: SKIP
875ecma/Date/15.9.5.8: SKIP
876ecma/Date/15.9.5.10-2: SKIP
877ecma/Date/15.9.5.11-2: SKIP
878ecma/Date/15.9.5.12-2: SKIP
879js1_5/Array/regress-99120-02: SKIP
880js1_5/extensions/regress-371636: SKIP
881js1_5/Regress/regress-203278-1: SKIP
882js1_5/Regress/regress-404755: SKIP
883js1_5/Regress/regress-451322: SKIP
884
885
886# BUG(1040): Allow this test to timeout.
887js1_5/GC/regress-203278-2: PASS || TIMEOUT
888
889
890[ $fast == yes && $arch == mips ]
891
892# In fast mode on mips we try to skip all tests that would time out,
893# since running the tests takes so long in the first place.
894
895js1_5/Regress/regress-280769-2: SKIP
896js1_5/Regress/regress-280769-3: SKIP
897js1_5/Regress/regress-244470: SKIP
898js1_5/Regress/regress-203278-1: SKIP
899js1_5/Regress/regress-290575: SKIP
900js1_5/Regress/regress-159334: SKIP
901js1_5/Regress/regress-321971: SKIP
902js1_5/Regress/regress-347306-01: SKIP
903js1_5/Regress/regress-280769-1: SKIP
904js1_5/Regress/regress-280769-5: SKIP
905js1_5/GC/regress-306788: SKIP
906js1_5/GC/regress-278725: SKIP
907js1_5/GC/regress-203278-3: SKIP
908js1_5/GC/regress-311497: SKIP
909js1_5/Array/regress-99120-02: SKIP
910ecma/Date/15.9.5.22-1: SKIP
911ecma/Date/15.9.5.20: SKIP
912ecma/Date/15.9.5.12-2: SKIP
913ecma/Date/15.9.5.8: SKIP
914ecma/Date/15.9.5.9: SKIP
915ecma/Date/15.9.5.11-2: SKIP
916ecma/Expressions/11.7.2: SKIP
917ecma/Expressions/11.10-2: SKIP
918ecma/Expressions/11.7.3: SKIP
919ecma/Expressions/11.10-3: SKIP
920ecma/Expressions/11.7.1: SKIP
921ecma_3/RegExp/regress-209067: SKIP