The data contained in this repository can be downloaded to your computer using one of several clients.
Please see the documentation of your version control software client for more information.

Please select the desired protocol below to get the URL.

This URL has Read-Only access.

Statistics
| Branch: | Revision:

main_repo / deps / v8 / test / mozilla / mozilla.status @ f230a1cf

History | View | Annotate | Download (34 KB)

1
# Copyright 2011 the V8 project authors. All rights reserved.
2
# Redistribution and use in source and binary forms, with or without
3
# modification, are permitted provided that the following conditions are
4
# met:
5
#
6
#     * Redistributions of source code must retain the above copyright
7
#       notice, this list of conditions and the following disclaimer.
8
#     * Redistributions in binary form must reproduce the above
9
#       copyright notice, this list of conditions and the following
10
#       disclaimer in the documentation and/or other materials provided
11
#       with the distribution.
12
#     * Neither the name of Google Inc. nor the names of its
13
#       contributors may be used to endorse or promote products derived
14
#       from this software without specific prior written permission.
15
#
16
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
17
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
18
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
19
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
20
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
21
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
22
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
26
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27

    
28
# This file is up to date with respect to Mozilla's CVS repository as of
29
# 2010-06-29. 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 2010-06-29 mozilla/js/tests
36
# 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

    
45
[
46
[ALWAYS, {
47
  ##################### NEEDS INVESTIGATION ##############
48

    
49
  # 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],
53

    
54
  ##################### SKIPPED TESTS #####################
55

    
56
  # This test checks that we behave properly in an out-of-memory
57
  # situation.  The test fails in V8 with an exception and takes a long
58
  # time to do so.
59
  'js1_5/Regress/regress-271716-n': [SKIP],
60

    
61
  # BUG(960): This test has an insane amount of output when it times out,
62
  # messing up ability to see other failures on the waterfall.
63
  'js1_5/extensions/regress-342960': [SKIP],
64

    
65
  # This test uses a unitialized variable. A Bug has been filed:
66
  # https://bugzilla.mozilla.org/show_bug.cgi?id=575575
67
  'js1_5/Array/regress-465980-02': [SKIP],
68

    
69
  # These tests are simply wrong (i.e., they do not test what they intend
70
  # to test).
71
  # In particular, these two compare numbers to NaN with != in the current
72
  # version of the Mozilla tests. This is *fixed* in a later version.
73
  # The tests should be re-enabled when switching to a new version.
74
  'ecma_3/Date/15.9.3.2-1': [SKIP],
75
  'js1_2/function/Number': [SKIP],
76

    
77
  # TODO(2018): Temporarily allow timeout in debug mode.
78
  'js1_5/GC/regress-203278-2': [PASS, ['mode == debug', TIMEOUT, FAIL]],
79

    
80
  ##################### SLOW TESTS #####################
81

    
82
  # This takes a long time to run (~100 seconds). It should only be run
83
  # by the really patient.
84
  'js1_5/GC/regress-324278': [SLOW],
85

    
86
  # This takes a long time to run because our indexOf operation is
87
  # pretty slow - it causes a lot of GCs; see issue
88
  # #926379. We could consider marking this SKIP because it takes a
89
  # while to run to completion.
90
  'js1_5/GC/regress-338653': [SLOW],
91

    
92
  # This test is designed to run until it runs out of memory. This takes
93
  # a very long time because it builds strings character by character
94
  # and compiles a lot of regular expressions. We could consider marking
95
  # this SKIP because it takes a while to run to completion.
96
  'js1_5/GC/regress-346794': [SLOW],
97

    
98
  # Runs out of memory while trying to build huge string of 'x'
99
  # characters. This takes a long time to run (~32 seconds).
100
  'js1_5/GC/regress-348532': [SLOW],
101

    
102

    
103
  ##################### FLAKY TESTS #####################
104

    
105
  # These tests time out in debug mode but pass in product mode
106
  'js1_5/Regress/regress-360969-03': [PASS, ['mode == debug', TIMEOUT]],
107
  'js1_5/Regress/regress-360969-04': [PASS, ['mode == debug', TIMEOUT]],
108
  'js1_5/Regress/regress-360969-05': [PASS, ['mode == debug', TIMEOUT]],
109
  'js1_5/Regress/regress-360969-06': [PASS, ['mode == debug', TIMEOUT]],
110
  'js1_5/extensions/regress-365527': [PASS, ['mode == debug', TIMEOUT]],
111

    
112
  'js1_5/Regress/regress-280769-3': [PASS, ['mode == debug', FAIL]],
113
  'js1_5/Regress/regress-203278-1': [PASS, ['mode == debug', FAIL]],
114
  'js1_5/Regress/regress-244470': [PASS, ['mode == debug', FAIL]],
115
  'ecma_3/RegExp/regress-209067': [PASS, ['mode == debug', FAIL]],
116
  'js1_5/GC/regress-278725': [PASS, ['mode == debug', FAIL]],
117
  # http://b/issue?id=1206983
118
  'js1_5/Regress/regress-367561-03': [PASS, ['mode == debug', FAIL]],
119
  'ecma/Date/15.9.5.10-2': [PASS, FAIL, ['mode == debug', TIMEOUT]],
120

    
121
  # These tests create two Date objects just after each other and
122
  # expects them to match.  Sometimes this happens on the border
123
  # between one second and the next.
124
  'ecma/Date/15.9.2.1': [PASS, FAIL],
125
  'ecma/Date/15.9.2.2-1': [PASS, FAIL],
126
  'ecma/Date/15.9.2.2-2': [PASS, FAIL],
127
  'ecma/Date/15.9.2.2-3': [PASS, FAIL],
128
  'ecma/Date/15.9.2.2-4': [PASS, FAIL],
129
  'ecma/Date/15.9.2.2-5': [PASS, FAIL],
130
  'ecma/Date/15.9.2.2-6': [PASS, FAIL],
131

    
132
  # 1026139: These date tests fail on arm and mips
133
  'ecma/Date/15.9.5.29-1': [PASS, ['arch == arm or arch == mipsel', FAIL]],
134
  'ecma/Date/15.9.5.28-1': [PASS, ['arch == arm or arch == mipsel', FAIL]],
135

    
136
  # 1050186: Arm/MIPS vm is broken; probably unrelated to dates
137
  'ecma/Array/15.4.4.5-3': [PASS, ['arch == arm or arch == mipsel', FAIL]],
138
  'ecma/Date/15.9.5.22-2': [PASS, ['arch == arm or arch == mipsel', FAIL]],
139

    
140
  # Flaky test that fails due to what appears to be a bug in the test.
141
  # Occurs depending on current time
142
  'ecma/Date/15.9.5.8': [PASS, FAIL],
143

    
144
  # Severely brain-damaged test. Access to local variables must not
145
  # be more than 2.5 times faster than access to global variables? WTF?
146
  'js1_5/Regress/regress-169559': [PASS, FAIL],
147

    
148

    
149
  # Test that rely on specific timezone (not working in Denmark).
150
  'js1_5/Regress/regress-58116': [PASS, FAIL],
151

    
152

    
153
  # Flaky random() test. Tests the distribution of calls to Math.random().
154
  'js1_5/Regress/regress-211590': [PASS, FAIL],
155

    
156

    
157
  # Flaky tests; expect BigO-order computations to yield 1, but the code
158
  # cannot handle outliers. See bug #925864.
159
  'ecma_3/RegExp/regress-311414': [PASS, FAIL],
160
  'ecma_3/RegExp/regress-289669': [PASS, FAIL],
161
  'js1_5/String/regress-314890': [PASS, FAIL],
162
  'js1_5/String/regress-56940-01': [PASS, FAIL],
163
  'js1_5/String/regress-56940-02': [PASS, FAIL],
164
  'js1_5/String/regress-157334-01': [PASS, FAIL],
165
  'js1_5/String/regress-322772': [PASS, FAIL],
166
  'js1_5/Array/regress-99120-01': [PASS, FAIL],
167
  'js1_5/Array/regress-99120-02': [PASS, FAIL],
168
  'js1_5/Regress/regress-347306-01': [PASS, FAIL],
169
  'js1_5/Regress/regress-416628': [PASS, FAIL, ['mode == debug', TIMEOUT]],
170

    
171

    
172
  # The following two tests assume that daylight savings time starts first
173
  # Sunday in April. This is not true when executing the tests outside
174
  # California! In Denmark the adjustment starts one week earlier.
175
  # Tests based on shell that use dates in this gap are flaky.
176
  'ecma/Date/15.9.5.10-1': [PASS, FAIL],
177
  'ecma/Date/15.9.5.12-1': [PASS, FAIL],
178
  'ecma/Date/15.9.5.14': [PASS, FAIL],
179
  'ecma/Date/15.9.5.34-1': [PASS, FAIL],
180

    
181

    
182
  # These tests sometimes pass (in particular on Windows). They build up
183
  # a lot of stuff on the stack, which normally causes a stack overflow,
184
  # but sometimes it makes it through?
185
  'js1_5/Regress/regress-98901': [PASS, FAIL],
186

    
187

    
188
  # Tests that sorting arrays of ints is less than 3 times as fast
189
  # as sorting arrays of strings.
190
  'js1_5/extensions/regress-371636': [PASS, FAIL, ['mode == debug', TIMEOUT]],
191

    
192

    
193
  # Tests depend on GC timings. Inherently flaky.
194
  'js1_5/GC/regress-383269-01': [PASS, FAIL],
195
  'js1_5/GC/regress-383269-02': [PASS, FAIL],
196
  'js1_5/Regress/regress-404755': [PASS, FAIL],
197

    
198

    
199
  # Test that depends on timer resolution. Fails every now and then
200
  # if we're unlucky enough to get a context switch at a bad time.
201
  'js1_5/extensions/regress-363258': [PASS, FAIL],
202

    
203

    
204
  # Test that assumes specific runtime for a regexp, flaky in debug mode.
205
  'ecma_3/RegExp/regress-85721': [PASS, ['mode == debug', FAIL]],
206

    
207

    
208
  # Test that assumes specific execution time, flaky in debug mode.
209
  'js1_5/Array/regress-101964': [PASS, ['mode == debug', FAIL]],
210

    
211

    
212
  ##################### INCOMPATIBLE TESTS #####################
213

    
214
  # This section is for tests that fail in both V8 and JSC.  Thus they
215
  # have been determined to be incompatible between Mozilla and V8/JSC.
216

    
217
  # toPrecision argument restricted to range 1..21 in JSC/V8 and ECMA-262
218
  'js1_5/Regress/regress-452346': [FAIL_OK],
219

    
220
  # Fail because it calls builtins as functions and do not expect the
221
  # builtin to have undefined as the receiver.
222
  'ecma/String/15.5.4.6-2': [FAIL_OK],
223

    
224
  # Fail because it expects String.prototype.split to distinguish whether
225
  # separator was undefined or not passed at all.
226
  'ecma/String/15.5.4.8-2': [FAIL_OK],
227

    
228
  # Fail because of toLowerCase and toUpperCase conversion.
229
  'ecma/String/15.5.4.11-2': [FAIL_OK],
230
  'ecma/String/15.5.4.11-5': [FAIL_OK],
231
  'ecma/String/15.5.4.12-1': [FAIL_OK],
232
  'ecma/String/15.5.4.12-4': [FAIL_OK],
233

    
234
  # This test uses an older version of the unicode standard that fails
235
  # us because we correctly convert the armenian small ligature ech-yiwn
236
  # to the two upper-case characters ECH and YIWN, whereas the older
237
  # unicode version converts it to itself.
238
  'ecma/String/15.5.4.12-5': [FAIL_OK],
239

    
240
  # Creates a linked list of arrays until we run out of memory or timeout.
241
  'js1_5/Regress/regress-312588': [SKIP],
242

    
243

    
244
  # Runs out of memory because it compiles huge functions.
245
  'js1_5/Function/regress-338001': [FAIL_OK],
246
  'js1_5/Function/regress-338121-01': [FAIL_OK],
247
  'js1_5/Function/regress-338121-02': [FAIL_OK],
248
  'js1_5/Function/regress-338121-03': [FAIL_OK],
249

    
250
  # Expectes 'prototype' property of functions to be enumerable.
251
  'js1_5/Function/10.1.6-01': [FAIL_OK],
252

    
253
  #:=== RegExp:===
254
  # We don't match the syntax error message of Mozilla for invalid
255
  # RegExp flags.
256
  'ecma_3/RegExp/15.10.4.1-6': [FAIL_OK],
257

    
258
  # PCRE doesn't allow subpattern nesting deeper than 200, this tests
259
  # depth 500.  JSC detects the case, and return null from the match,
260
  # and passes this test (the test doesn't check for a correct return
261
  # value).
262
  'ecma_3/RegExp/regress-119909': [PASS, FAIL_OK],
263

    
264

    
265
  # Difference in the way capturing subpatterns work.  In JS, when the
266
  # 'minimum repeat count' is reached, the empty string must not match.
267
  # In this case, we are similar but not identical to JSC.  Hard to
268
  # support the JS behavior with PCRE, so maybe emulate JSC?
269
  'ecma_3/RegExp/regress-209919': [PASS, FAIL_OK],
270
  'js1_5/extensions/regress-459606': [PASS, FAIL_OK],
271

    
272

    
273
  # PCRE's match limit is reached.  SpiderMonkey hangs on the first one,
274
  # JSC returns true somehow.  Maybe they up the match limit?  There is
275
  # an open V8 bug 676063 about this.
276
  'ecma_3/RegExp/regress-330684': [TIMEOUT],
277

    
278

    
279
  # This test contains a regexp that runs exponentially long.  Spidermonkey
280
  # standalone will hang, though apparently inside Firefox it will trigger a
281
  # long-running-script timeout.  JSCRE passes by hitting the matchLimit and
282
  # just pretending that an exhaustive search found no match.
283
  'ecma_3/RegExp/regress-307456': [PASS, TIMEOUT],
284

    
285

    
286
  # We do not detect overflow in bounds for back references and {}
287
  # quantifiers.  Might fix by parsing numbers differently?
288
  'js1_5/Regress/regress-230216-2': [FAIL_OK],
289

    
290

    
291
  # Regexp too long for PCRE.
292
  'js1_5/Regress/regress-280769': [PASS, FAIL],
293
  'js1_5/Regress/regress-280769-1': [PASS, FAIL],
294
  'js1_5/Regress/regress-280769-2': [PASS, FAIL],
295
  'js1_5/Regress/regress-280769-4': [PASS, FAIL],
296
  'js1_5/Regress/regress-280769-5': [PASS, FAIL],
297

    
298

    
299
  # We do not support static RegExp.multiline - should we?.
300
  'js1_2/regexp/RegExp_multiline': [FAIL_OK],
301
  'js1_2/regexp/RegExp_multiline_as_array': [FAIL_OK],
302
  'js1_2/regexp/beginLine': [FAIL_OK],
303
  'js1_2/regexp/endLine': [FAIL_OK],
304

    
305
  # We no longer let calls to test and exec with no argument implicitly
306
  # use the previous input.
307
  'js1_2/regexp/RegExp_input': [FAIL_OK],
308
  'js1_2/regexp/RegExp_input_as_array': [FAIL_OK],
309

    
310

    
311
  # To be compatible with safari typeof a regexp yields 'function';
312
  # in firefox it yields 'object'.
313
  'js1_2/function/regexparg-1': [FAIL_OK],
314

    
315

    
316
  # Date trouble?
317
  'js1_5/Date/regress-301738-02': [FAIL_OK],
318

    
319

    
320
  # This test fails for all browsers on in the CET timezone.
321
  'ecma/Date/15.9.5.35-1': [PASS, FAIL_OK],
322

    
323

    
324
  # Spidermonkey allows stuff in parenthesis directly after the minutes
325
  # in a date.  JSC does not, so we don't either.
326
  'js1_5/Date/regress-309925-02': [FAIL_OK],
327

    
328

    
329
  # Print string after deleting array element?
330
  'js1_5/Expressions/regress-96526-delelem': [FAIL_OK],
331

    
332

    
333
  # Stack overflows should be InternalError: too much recursion?
334
  'js1_5/Regress/regress-234389': [FAIL_OK],
335

    
336

    
337
  # This may very well be a bogus test. I'm not sure yet.
338
  'js1_5/Regress/regress-320119': [FAIL_OK],
339

    
340

    
341
  # No support for toSource().
342
  'js1_5/Regress/regress-248444': [FAIL_OK],
343
  'js1_5/Regress/regress-313967-01': [FAIL_OK],
344
  'js1_5/Regress/regress-313967-02': [FAIL_OK],
345

    
346
  # This fails because we don't have stack space for Function.prototype.apply
347
  # with very large numbers of arguments.  The test uses 2^24 arguments.
348
  'js1_5/Array/regress-350256-03': [FAIL_OK],
349

    
350

    
351
  # Extra arguments not handled properly in String.prototype.match
352
  'js1_5/Regress/regress-179524': [FAIL_OK],
353

    
354

    
355
  # Uncategorized failures. Please help categorize (or fix) these failures.
356
  'js1_5/Regress/regress-172699': [FAIL_OK],
357

    
358

    
359
  # Assumes that the prototype of a function is enumerable. Non-ECMA,
360
  # see section 15.3.3.1, page 86.
361
  'ecma/GlobalObject/15.1.2.2-1': [FAIL_OK],
362
  'ecma/GlobalObject/15.1.2.3-1': [FAIL_OK],
363
  'ecma/GlobalObject/15.1.2.4': [FAIL_OK],
364
  'ecma/GlobalObject/15.1.2.5-1': [FAIL_OK],
365
  'ecma/GlobalObject/15.1.2.6': [FAIL_OK],
366
  'ecma/GlobalObject/15.1.2.7': [FAIL_OK],
367

    
368

    
369
  # Leading zero no longer signal octal numbers (ECMA-262 Annex E 15.1.2.2).
370
  'ecma/GlobalObject/15.1.2.2-2': [FAIL_OK],
371

    
372

    
373
  # Tests that rely on specific details of function decompilation or
374
  # print strings for errors. Non-ECMA behavior.
375
  'js1_2/function/tostring-2': [FAIL_OK],
376
  'js1_2/Objects/toString-001': [FAIL_OK],
377
  'js1_5/LexicalConventions/regress-469940': [FAIL_OK],
378
  'js1_5/Exceptions/regress-332472': [FAIL_OK],
379
  'js1_5/Regress/regress-173067': [FAIL_OK],
380
  'js1_5/Regress/regress-355556': [FAIL_OK],
381
  'js1_5/Regress/regress-328664': [FAIL_OK],
382
  'js1_5/Regress/regress-252892': [FAIL_OK],
383
  'js1_5/Regress/regress-352208': [FAIL_OK],
384
  'ecma_3/Array/15.4.5.1-01': [FAIL_OK],
385
  'ecma_3/Array/regress-387501': [FAIL_OK],
386
  'ecma_3/LexicalConventions/7.9.1': [FAIL_OK],
387
  'ecma_3/RegExp/regress-375711': [FAIL_OK],
388
  'ecma_3/Unicode/regress-352044-01': [FAIL_OK],
389
  'ecma_3/extensions/regress-274152': [FAIL_OK],
390
  'js1_5/Regress/regress-372364': [FAIL_OK],
391
  'js1_5/Regress/regress-420919': [FAIL_OK],
392
  'js1_5/Regress/regress-422348': [FAIL_OK],
393
  'js1_5/Regress/regress-410852': [FAIL_OK],
394
  'ecma_3/RegExp/regress-375715-04': [FAIL_OK],
395
  'js1_5/decompilation/regress-456964-01': [FAIL_OK],
396
  'js1_5/decompilation/regress-437288-02': [FAIL_OK],
397
  'js1_5/decompilation/regress-457824': [FAIL_OK],
398
  'js1_5/decompilation/regress-460116-01': [FAIL_OK],
399
  'js1_5/decompilation/regress-460116-02': [FAIL_OK],
400
  'js1_5/decompilation/regress-460501': [FAIL_OK],
401
  'js1_5/decompilation/regress-460116-03': [FAIL_OK],
402
  'js1_5/decompilation/regress-461110': [FAIL_OK],
403

    
404

    
405
  # Tests that use uneval.  Non-ECMA.
406
  'js1_5/GC/regress-418128': [FAIL_OK],
407
  'js1_5/extensions/regress-465276': [FAIL_OK],
408
  'js1_5/Error/regress-465377': [FAIL_OK],
409

    
410
  # Tests that use the watch method.  Non-ECMA.
411
  'js1_5/extensions/regress-435345-01': [FAIL_OK],
412
  'js1_5/extensions/regress-455413': [FAIL_OK],
413

    
414

    
415
  # Uses Mozilla-specific QName, XML, XMLList and Iterator.
416
  'js1_5/Regress/regress-407323': [FAIL_OK],
417
  'js1_5/Regress/regress-407957': [FAIL_OK],
418

    
419

    
420
  # Relies on JavaScript 1.2 / 1.3 deprecated features.
421
  'js1_2/function/String': [FAIL_OK],
422
  'js1_2/operator/equality': [FAIL_OK],
423
  'js1_2/version120/boolean-001': [FAIL_OK],
424
  'js1_2/String/concat': [FAIL_OK],
425
  'js1_2/function/Function_object': [FAIL_OK],
426
  'js1_2/function/tostring-1': [FAIL_OK],
427
  'js1_2/version120/regress-99663': [FAIL_OK],
428
  'js1_2/regexp/RegExp_lastIndex': [FAIL_OK],
429
  'js1_2/regexp/string_split': [FAIL_OK],
430

    
431

    
432
  # RegExps are not callable.
433
  'js1_2/regexp/simple_form': [FAIL_OK],
434
  'js1_2/regexp/regress-6359': [FAIL_OK],
435
  'js1_2/regexp/regress-9141': [FAIL_OK],
436
  'js1_5/Regress/regress-224956': [FAIL_OK],
437
  'js1_5/Regress/regress-325925': [FAIL_OK],
438
  'ecma_2/RegExp/regress-001': [FAIL_OK],
439

    
440
  # We do not check for bad surrogate pairs when quoting strings.
441
  'js1_5/Regress/regress-315974': [FAIL_OK],
442

    
443

    
444
  # Use unsupported "watch".
445
  'js1_5/Regress/regress-213482': [FAIL_OK],
446
  'js1_5/Regress/regress-240577': [FAIL_OK],
447
  'js1_5/Regress/regress-355344': [FAIL_OK],
448
  'js1_5/Object/regress-362872-01': [FAIL_OK],
449
  'js1_5/Object/regress-362872-02': [FAIL_OK],
450
  'js1_5/Regress/regress-361467': [FAIL_OK],
451
  'js1_5/Regress/regress-385393-06': [FAIL_OK],
452
  'js1_5/Regress/regress-506567': [FAIL_OK],
453

    
454

    
455
  # Use special Mozilla getter/setter syntax
456
  'js1_5/Regress/regress-354924': [FAIL_OK],
457
  'js1_5/Regress/regress-355341': [FAIL_OK],
458
  'js1_5/GC/regress-316885-01': [FAIL_OK],
459
  'js1_5/GetSet/getset-002': [FAIL_OK],
460
  'js1_5/GetSet/regress-353264': [FAIL_OK],
461
  'js1_5/Regress/regress-361617': [FAIL_OK],
462
  'js1_5/Regress/regress-362583': [FAIL_OK],
463
  'js1_5/extensions/regress-356378': [FAIL_OK],
464
  'js1_5/extensions/regress-452178': [FAIL_OK],
465

    
466

    
467
  # Requires Mozilla-specific strict mode or options() function.
468
  'ecma_3/Object/8.6.1-01': [FAIL_OK],
469
  'js1_5/Exceptions/regress-315147': [FAIL_OK],
470
  'js1_5/Regress/regress-106244': [FAIL_OK],
471
  'js1_5/Regress/regress-317533': [FAIL_OK],
472
  'js1_5/Regress/regress-323314-1': [FAIL_OK],
473
  'js1_5/Regress/regress-352197': [FAIL_OK],
474

    
475

    
476
  # Equivalent to assert(false).
477
  'ecma_2/RegExp/exec-001': [FAIL_OK],
478
  'ecma_2/String/replace-001': [FAIL_OK],
479

    
480

    
481
  # We do not strip unicode format control characters. This is really
482
  # required for working with non-latin character sets.  We match JSC
483
  # and IE here.  Firefox matches the spec (section 7.1).
484
  'ecma_3/Unicode/uc-001': [FAIL_OK],
485

    
486

    
487
  # A non-breaking space doesn't match \s in a regular expression.  This
488
  # behaviour matches JSC.  All the VMs have different behaviours in which
489
  # characters match \s so we do the same as JSC until they change.
490
  'ecma_3/Unicode/uc-002': [PASS, FAIL_OK],
491

    
492

    
493
  # String.prototype.split on empty strings always returns an array
494
  # with one element (as specified in ECMA-262).
495
  'js1_2/Array/array_split_1': [FAIL_OK],
496

    
497

    
498
  # The concat() method is defined in Array.prototype; not Array.
499
  'js1_5/Array/regress-313153': [FAIL_OK],
500

    
501
  # The join() method is defined on Array.prototype; not Array.
502
  'js1_5/Array/regress-474529': [FAIL_OK],
503

    
504
  # The lastIndexOf() method is defined on Array.prototype, not Array.
505
  'ecma_3/Array/15.5.4.8-01': [FAIL_OK],
506

    
507
  # Properties fileName, and lineNumber of Error instances are
508
  # not supported. Mozilla specific extension.
509
  'js1_5/Exceptions/errstack-001': [FAIL_OK],
510
  'js1_5/Exceptions/regress-257751': [FAIL_OK],
511
  'js1_5/Regress/regress-119719': [FAIL_OK],
512
  'js1_5/Regress/regress-167328': [FAIL_OK],
513
  'js1_5/Regress/regress-243869': [FAIL_OK],
514

    
515

    
516
  # Unsupported import/export and <xml> literals. Mozilla extensions.
517
  'js1_5/Regress/regress-249211': [FAIL_OK],
518
  'js1_5/Regress/regress-309242': [FAIL_OK],
519
  'js1_5/Regress/regress-350692': [FAIL_OK],
520
  'js1_5/extensions/regress-421621': [FAIL_OK],
521
  'js1_5/extensions/regress-432075': [FAIL_OK],
522

    
523

    
524
  # The length of Error functions is 1 not 3.
525
  'js1_5/Exceptions/regress-123002': [FAIL_OK],
526

    
527

    
528
  # Reserved keywords as function names, etc is not supported.
529
  'js1_5/LexicalConventions/regress-343675': [FAIL_OK],
530

    
531

    
532
  # Tests if future reserved keywords of ECMA-262, edition 3 emit warnings. We
533
  # implement the edition 5 behaviour and fail on use of edition 5 future
534
  # reserved keywords as identifiers.
535
  'js1_5/Regress/regress-240317': [FAIL_OK],
536

    
537

    
538
  # Unsupported list comprehensions: [ ... for ... ] and for each.
539
  'js1_5/Regress/regress-352009': [FAIL_OK],
540
  'js1_5/Regress/regress-349648': [FAIL_OK],
541

    
542

    
543
  # Expects top level arguments (passed on command line?) to be
544
  # the empty string?
545
  'js1_5/Regress/regress-336100': [FAIL_OK],
546

    
547

    
548
  # Regular expression test failures due to PCRE. We match JSC (ie, perl)
549
  # behavior and not the ECMA spec.
550
  'ecma_3/RegExp/perlstress-001': [PASS, FAIL_OK],
551
  'ecma_3/RegExp/regress-334158': [PASS, FAIL],
552

    
553
  # This test fails due to http://code.google.com/p/v8/issues/detail?id=187
554
  # Failure to clear captures when a lookahead is unwound.
555
  'ecma_3/RegExp/15.10.2-1': [PASS, FAIL_OK],
556

    
557
  # This test requires a failure if we try to compile a function with more
558
  # than 65536 arguments.  This seems to be a Mozilla restriction.
559
  'js1_5/Regress/regress-290575': [PASS, FAIL_OK],
560

    
561

    
562
  # Fails because of the way function declarations are
563
  # handled in V8/JSC. V8 follows IE behavior and introduce
564
  # all nested function declarations when entering the
565
  # surrounding function, whereas Spidermonkey declares
566
  # them dynamically when the statement is executed.
567
  'ecma_3/Function/scope-001': [FAIL_OK],
568
  'ecma_3/FunExpr/fe-001': [FAIL_OK],
569
  'js1_5/Scope/regress-184107': [FAIL_OK],
570

    
571

    
572
  # Function is deletable in V8 and JSC.
573
  'js1_5/Regress/regress-352604': [FAIL_OK],
574

    
575

    
576
  # Cannot call strings as functions. Expects not to crash.
577
  'js1_5/Regress/regress-417893': [FAIL_OK],
578

    
579

    
580
  # Unsupported use of "[]" as function parameter. We match JSC.
581
  'js1_5/Regress/regress-416737-01': [FAIL_OK],
582
  'js1_5/Regress/regress-416737-02': [FAIL_OK],
583

    
584

    
585
  # Illegal escape-sequences in string literals. Has already been fixed
586
  # by most engines (i.e. V8, JSC, Opera and FF).
587
  'ecma/Array/15.4.5.1-1': [FAIL_OK],
588
  'ecma/LexicalConventions/7.7.4': [FAIL_OK],
589
  'ecma_2/RegExp/hex-001': [FAIL_OK],
590
  'js1_2/regexp/hexadecimal': [FAIL_OK],
591

    
592

    
593
  # The source field of RegExp objects is properly escaped. We match JSC.
594
  'ecma_2/RegExp/constructor-001': [FAIL_OK],
595
  'ecma_2/RegExp/function-001': [FAIL_OK],
596
  'ecma_2/RegExp/properties-001': [FAIL_OK],
597

    
598

    
599
  # Negative hexadecimal literals are parsed as NaN. This test is outdated.
600
  'ecma/TypeConversion/9.3.1-3': [FAIL_OK],
601

    
602

    
603
  ##################### FAILING TESTS #####################
604

    
605
  # This section is for tests that fail in V8 and pass in JSC.
606
  # Tests that fail in both V8 and JSC belong in the FAIL_OK
607
  # category.
608

    
609
  # This fails because we don't handle Function.prototype.apply with very large
610
  # numbers of arguments (depending on max stack size).  350256-02 needs more
611
  # than 4Mbytes of stack space.
612
  'js1_5/Array/regress-350256-02': [FAIL],
613

    
614

    
615
  # This test seems designed to fail (it produces a 700Mbyte string).
616
  # We fail on out of memory.  The important thing is not to crash.
617
  'js1_5/Regress/regress-303213': [FAIL, ['mode == debug', TIMEOUT]],
618

    
619
  # This test fails since we now throw in String.prototype.match when apply
620
  # is given null or undefined as this argument (and so does firefox nightly).
621
  'js1_5/Regress/regress-295052': [FAIL],
622

    
623
  # Bug 1202592: New ecma_3/String/15.5.4.11 is failing.
624
  'ecma_3/String/15.5.4.11': [FAIL],
625

    
626
  # Bug 1202597: New js1_5/Expressions/regress-394673 is failing.
627
  # Marked as: Will not fix. V8 throws an acceptable RangeError.
628
  'js1_5/Expressions/regress-394673': [FAIL],
629

    
630

    
631
  # Bug 762: http://code.google.com/p/v8/issues/detail?id=762
632
  # We do not correctly handle assignments within "with"
633
  'ecma_3/Statements/12.10-01': [FAIL],
634

    
635
  # We do not throw an exception when a const is redeclared.
636
  # (We only fail section 1 of the test.)
637
  'js1_5/Regress/regress-103602': [FAIL],
638

    
639
  ##################### MOZILLA EXTENSION TESTS #####################
640

    
641
  'ecma/extensions/15.1.2.1-1': [FAIL_OK],
642
  'ecma_3/extensions/regress-385393-03': [FAIL_OK],
643
  'ecma_3/extensions/7.9.1': [FAIL_OK],
644
  'js1_5/extensions/catchguard-001': [FAIL_OK],
645
  'js1_5/extensions/catchguard-002': [FAIL_OK],
646
  'js1_5/extensions/catchguard-003': [FAIL_OK],
647
  'js1_5/extensions/getset-001': [FAIL_OK],
648
  'js1_5/extensions/getset-003': [FAIL_OK],
649
  'js1_5/extensions/no-such-method': [FAIL_OK],
650
  'js1_5/extensions/regress-104077': [FAIL_OK],
651
  'js1_5/extensions/regress-226078': [FAIL_OK],
652
  'js1_5/extensions/regress-303277': [FAIL_OK],
653
  'js1_5/extensions/regress-304897': [FAIL_OK],
654
  'js1_5/extensions/regress-306738': [FAIL_OK],
655
  'js1_5/extensions/regress-311161': [FAIL_OK],
656
  'js1_5/extensions/regress-311583': [FAIL_OK],
657
  'js1_5/extensions/regress-311792-01': [FAIL_OK],
658
  'js1_5/extensions/regress-312278': [FAIL_OK],
659
  'js1_5/extensions/regress-313630': [FAIL_OK],
660
  'js1_5/extensions/regress-313763': [FAIL_OK],
661
  'js1_5/extensions/regress-313803': [FAIL_OK],
662
  'js1_5/extensions/regress-314874': [FAIL_OK],
663
  'js1_5/extensions/regress-322957': [FAIL_OK],
664
  'js1_5/extensions/regress-328556': [FAIL_OK],
665
  'js1_5/extensions/regress-333541': [FAIL_OK],
666
  'js1_5/extensions/regress-335700': [FAIL_OK],
667
  'js1_5/extensions/regress-336409-1': [FAIL_OK],
668
  'js1_5/extensions/regress-336409-2': [FAIL_OK],
669
  'js1_5/extensions/regress-336410-2': [FAIL_OK],
670
  'js1_5/extensions/regress-341956-01': [FAIL_OK],
671
  'js1_5/extensions/regress-345967': [FAIL_OK],
672
  'js1_5/extensions/regress-346494-01': [FAIL_OK],
673
  'js1_5/extensions/regress-346494': [FAIL_OK],
674
  'js1_5/extensions/regress-347306-02': [FAIL_OK],
675
  'js1_5/extensions/regress-348986': [FAIL_OK],
676
  'js1_5/extensions/regress-349616': [FAIL_OK],
677
  'js1_5/extensions/regress-350312-02': [FAIL_OK],
678
  'js1_5/extensions/regress-350312-03': [FAIL_OK],
679
  'js1_5/extensions/regress-350531': [FAIL_OK],
680
  'js1_5/extensions/regress-351102-01': [FAIL_OK],
681
  'js1_5/extensions/regress-351102-02': [FAIL_OK],
682
  'js1_5/extensions/regress-351102-06': [FAIL_OK],
683
  'js1_5/extensions/regress-351973': [FAIL_OK],
684
  'js1_5/extensions/regress-352060': [FAIL_OK],
685
  'js1_5/extensions/regress-352094': [FAIL_OK],
686
  'js1_5/extensions/regress-352261': [FAIL_OK],
687
  'js1_5/extensions/regress-352281': [FAIL_OK],
688
  'js1_5/extensions/regress-352455': [FAIL_OK],
689
  'js1_5/extensions/regress-352604': [FAIL_OK],
690
  'js1_5/extensions/regress-353214': [FAIL_OK],
691
  'js1_5/extensions/regress-355339': [FAIL_OK],
692
  'js1_5/extensions/regress-355497': [FAIL_OK],
693
  'js1_5/extensions/regress-355622': [FAIL_OK],
694
  'js1_5/extensions/regress-355736': [FAIL_OK],
695
  'js1_5/extensions/regress-356085': [FAIL_OK],
696
  'js1_5/extensions/regress-356106': [FAIL_OK],
697
  'js1_5/extensions/regress-358594-01': [FAIL_OK],
698
  'js1_5/extensions/regress-358594-02': [FAIL_OK],
699
  'js1_5/extensions/regress-358594-03': [FAIL_OK],
700
  'js1_5/extensions/regress-358594-04': [FAIL_OK],
701
  'js1_5/extensions/regress-358594-05': [FAIL_OK],
702
  'js1_5/extensions/regress-358594-06': [FAIL_OK],
703
  'js1_5/extensions/regress-361346': [FAIL_OK],
704
  'js1_5/extensions/regress-361360': [FAIL_OK],
705
  'js1_5/extensions/regress-361558': [FAIL_OK],
706
  'js1_5/extensions/regress-361571': [FAIL_OK],
707
  'js1_5/extensions/regress-361856': [FAIL_OK],
708
  'js1_5/extensions/regress-361964': [FAIL_OK],
709
  'js1_5/extensions/regress-363988': [FAIL_OK],
710
  'js1_5/extensions/regress-365869': [FAIL_OK],
711
  'js1_5/extensions/regress-367630': [FAIL_OK],
712
  'js1_5/extensions/regress-367923': [FAIL_OK],
713
  'js1_5/extensions/regress-368859': [FAIL_OK],
714
  'js1_5/extensions/regress-369696-01': [FAIL_OK],
715
  'js1_5/extensions/regress-369696-02': [FAIL_OK],
716
  'js1_5/extensions/regress-369696-03': [FAIL_OK],
717
  'js1_5/extensions/regress-374589': [FAIL_OK],
718
  'js1_5/extensions/regress-375801': [FAIL_OK],
719
  'js1_5/extensions/regress-376052': [FAIL_OK],
720
  'js1_5/extensions/regress-379523': [FAIL_OK],
721
  'js1_5/extensions/regress-380581': [FAIL_OK],
722
  'js1_5/extensions/regress-380831': [FAIL_OK],
723
  'js1_5/extensions/regress-381205': [FAIL_OK],
724
  'js1_5/extensions/regress-381211': [FAIL_OK],
725
  'js1_5/extensions/regress-381304': [FAIL_OK],
726
  'js1_5/extensions/regress-382509': [FAIL_OK],
727
  'js1_5/extensions/regress-383965': [FAIL_OK],
728
  'js1_5/extensions/regress-384680': [FAIL_OK],
729
  'js1_5/extensions/regress-385393-09': [FAIL_OK],
730
  'js1_5/extensions/regress-407501': [FAIL_OK],
731
  'js1_5/extensions/regress-418730': [FAIL_OK],
732
  'js1_5/extensions/regress-420612': [FAIL_OK],
733
  'js1_5/extensions/regress-420869-01': [FAIL_OK],
734
  'js1_5/extensions/regress-424257': [FAIL_OK],
735
  'js1_5/extensions/regress-424683-01': [FAIL_OK],
736
  'js1_5/extensions/regress-429739': [FAIL_OK],
737
  'js1_5/extensions/regress-454142': [FAIL_OK],
738
  'js1_5/extensions/regress-465145': [FAIL_OK],
739
  'js1_5/extensions/regress-469625': [FAIL_OK],
740
  'js1_5/extensions/regress-472787': [FAIL_OK],
741
  'js1_5/extensions/regress-44009': [FAIL_OK],
742
  'js1_5/extensions/regress-50447-1': [FAIL_OK],
743
  'js1_5/extensions/regress-50447': [FAIL_OK],
744
  'js1_5/extensions/regress-90596-001': [FAIL_OK],
745
  'js1_5/extensions/regress-90596-002': [FAIL_OK],
746
  'js1_5/extensions/regress-96284-001': [FAIL_OK],
747
  'js1_5/extensions/regress-96284-002': [FAIL_OK],
748
  'js1_5/extensions/toLocaleFormat-01': [FAIL_OK],
749
  'js1_5/extensions/toLocaleFormat-02': [FAIL_OK],
750

    
751
  'js1_5/extensions/regress-330569': [TIMEOUT],
752
  'js1_5/extensions/regress-351448': [TIMEOUT],
753
  # In the 64-bit version, this test takes longer to run out of memory
754
  # than it does in the 32-bit version when attempting to generate a huge
755
  # error message in debug mode.
756
  'js1_5/extensions/regress-336410-1': [FAIL_OK, ['mode == debug and arch == x64', TIMEOUT]],
757

    
758
  ##################### DECOMPILATION TESTS #####################
759

    
760
  # We don't really about the outcome of running the
761
  # decompilation tests as long as they don't crash or
762
  # timeout.
763

    
764
  'js1_5/decompilation/regress-344120': [PASS, FAIL],
765
  'js1_5/decompilation/regress-346892': [PASS, FAIL],
766
  'js1_5/decompilation/regress-346902': [PASS, FAIL],
767
  'js1_5/decompilation/regress-346904': [PASS, FAIL],
768
  'js1_5/decompilation/regress-346915': [PASS, FAIL],
769
  'js1_5/decompilation/regress-349484': [PASS, FAIL],
770
  'js1_5/decompilation/regress-349489': [PASS, FAIL],
771
  'js1_5/decompilation/regress-349491': [PASS, FAIL],
772
  'js1_5/decompilation/regress-349596': [PASS, FAIL],
773
  'js1_5/decompilation/regress-349650': [PASS, FAIL],
774
  'js1_5/decompilation/regress-349663': [PASS, FAIL],
775
  'js1_5/decompilation/regress-350242': [PASS, FAIL],
776
  'js1_5/decompilation/regress-350263': [PASS, FAIL],
777
  'js1_5/decompilation/regress-350271': [PASS, FAIL],
778
  'js1_5/decompilation/regress-350666': [PASS, FAIL],
779
  'js1_5/decompilation/regress-350670': [PASS, FAIL],
780
  'js1_5/decompilation/regress-351104': [PASS, FAIL],
781
  'js1_5/decompilation/regress-351219': [PASS, FAIL],
782
  'js1_5/decompilation/regress-351336': [PASS, FAIL],
783
  'js1_5/decompilation/regress-351597': [PASS, FAIL],
784
  'js1_5/decompilation/regress-351625': [PASS, FAIL],
785
  'js1_5/decompilation/regress-351626': [PASS, FAIL],
786
  'js1_5/decompilation/regress-351693': [PASS, FAIL],
787
  'js1_5/decompilation/regress-351705': [PASS, FAIL],
788
  'js1_5/decompilation/regress-351793': [PASS, FAIL],
789
  'js1_5/decompilation/regress-352013': [PASS, FAIL],
790
  'js1_5/decompilation/regress-352022': [PASS, FAIL],
791
  'js1_5/decompilation/regress-352073': [PASS, FAIL],
792
  'js1_5/decompilation/regress-352202': [PASS, FAIL],
793
  'js1_5/decompilation/regress-352312': [PASS, FAIL],
794
  'js1_5/decompilation/regress-352360': [PASS, FAIL],
795
  'js1_5/decompilation/regress-352375': [PASS, FAIL],
796
  'js1_5/decompilation/regress-352453': [PASS, FAIL],
797
  'js1_5/decompilation/regress-352649': [PASS, FAIL],
798
  'js1_5/decompilation/regress-352873-01': [PASS, FAIL],
799
  'js1_5/decompilation/regress-352873-02': [PASS, FAIL],
800
  'js1_5/decompilation/regress-353000': [PASS, FAIL],
801
  'js1_5/decompilation/regress-353120': [PASS, FAIL],
802
  'js1_5/decompilation/regress-353146': [PASS, FAIL],
803
  'js1_5/decompilation/regress-354878': [PASS, FAIL],
804
  'js1_5/decompilation/regress-354910': [PASS, FAIL],
805
  'js1_5/decompilation/regress-355992': [PASS, FAIL],
806
  'js1_5/decompilation/regress-356083': [PASS, FAIL],
807
  'js1_5/decompilation/regress-356248': [PASS, FAIL],
808
  'js1_5/decompilation/regress-371692': [PASS, FAIL],
809
  'js1_5/decompilation/regress-373678': [PASS, FAIL],
810
  'js1_5/decompilation/regress-375639': [PASS, FAIL],
811
  'js1_5/decompilation/regress-375882': [PASS, FAIL],
812
  'js1_5/decompilation/regress-376564': [PASS, FAIL],
813
  'js1_5/decompilation/regress-383721': [PASS, FAIL],
814
  'js1_5/decompilation/regress-406555': [PASS, FAIL],
815
  'js1_5/decompilation/regress-460870': [PASS, FAIL],
816
}],  # ALWAYS
817

    
818

    
819
['arch == arm', {
820

    
821
  # BUG(3251229): Times out when running new crankshaft test script.
822
  'ecma_3/RegExp/regress-311414': [SKIP],
823
  'ecma/Date/15.9.5.8': [SKIP],
824
  'ecma/Date/15.9.5.10-2': [SKIP],
825
  'ecma/Date/15.9.5.11-2': [SKIP],
826
  'ecma/Date/15.9.5.12-2': [SKIP],
827
  'js1_5/Array/regress-99120-02': [SKIP],
828
  'js1_5/extensions/regress-371636': [SKIP],
829
  'js1_5/Regress/regress-203278-1': [SKIP],
830
  'js1_5/Regress/regress-404755': [SKIP],
831
  'js1_5/Regress/regress-451322': [SKIP],
832

    
833

    
834
  # BUG(1040): Allow this test to timeout.
835
  'js1_5/GC/regress-203278-2': [PASS, TIMEOUT],
836
}],  # 'arch == arm'
837

    
838

    
839
['arch == mipsel', {
840

    
841
  # BUG(3251229): Times out when running new crankshaft test script.
842
  'ecma_3/RegExp/regress-311414': [SKIP],
843
  'ecma/Date/15.9.5.8': [SKIP],
844
  'ecma/Date/15.9.5.10-2': [SKIP],
845
  'ecma/Date/15.9.5.11-2': [SKIP],
846
  'ecma/Date/15.9.5.12-2': [SKIP],
847
  'js1_5/Array/regress-99120-02': [SKIP],
848
  'js1_5/extensions/regress-371636': [SKIP],
849
  'js1_5/Regress/regress-203278-1': [SKIP],
850
  'js1_5/Regress/regress-404755': [SKIP],
851
  'js1_5/Regress/regress-451322': [SKIP],
852

    
853

    
854
  # BUG(1040): Allow this test to timeout.
855
  'js1_5/GC/regress-203278-2': [PASS, TIMEOUT],
856
}],  # 'arch == mipsel'
857
]