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